最近接触的一个客户需要我们提供一下巡检内容,我大致列了一下,仅供参考,大家觉得还有什么需要补充的可以给我留言
一、和os有关的系统巡检
1.获得操作系统版本信息
1)aix:oslevel
2)linux:以redhat为例,在/etc下查询Redhat开头的一个文件可以获得详细的信息
2.获得内核信息
uname –r
3.了解服务器联系稳定运行的时间
uptime命令可以获得服务器已运行了多少天没有重启过了,从而间接的获得系统运行的稳定性。
4.获得cpu和内存信息
掌握服务器的内存信息对判断分配给oracle的内存大小是否得当非常重要,当然最终分配给oracle的内存到底多大合适完全取决于系统的负载。
5.了解系统资源的整体使用情况
1)aix:topas
2)linux:top
也可以使用sar命令结合选项来获得。
6.了解内存的使用情况
通过vmstat命令尤其需要了解系统是否有内存交换发生
7.了解io的响应情况
iostat
8.获得磁盘的使用情况
主要是了解磁盘的空闲空间
1)aix:df –g
2)linux:df -h
9.查看操作系统日志
1)aix:errpt
2)linux:/var/log/message
二、和集群有关的巡检
1、查看集群各资源状态
以grid用户登录执行crs_stat –t来获得集群下各资源的状态。
2、查看asm实例和数据库实例的启动状态
以grid用户登录执行crsctl status res –t
3、查看grid用户对磁盘空间的使用情况
1)定期清理trc文件、
2)定期清理trm文件
3)定期清理监听日志文件
4、查看集群的日志
5、查看监听的日志
日志文件比较大,直接打开不方便的话可以借助oracle的外部表来查看。另外从11g R2开始出现了scan的概念,也要注意scan Listener的日志文件大小。
三、和数据库实例有关的巡检
1、查看实例多久没有重新启动了,从而间接的判断数据库的运行稳定情况
Select
* from gv$instance;
2、查看alert日志的大小以及里面是否有报错
文件太大不能直接打开的话可以借助oracle的外部表来查看。
3、查看表空间的使用率
Select
* from dba_tablespace_usage_metrics表空间使用率达到85%以上的话可以考虑增加或者扩展数据文件的大小了,以免没有空间发生错误。
4、获得数据库里各资源的使用情况来判断数据库的负载
Select
* from gv$resource_limit
5、查看sga的使用情况
了解sga的使用情况,判断分配给oracle的内存是否合理
6、查看pga的使用情况
了解pga的使用情况,判断pga_aggregate_target的值设置的是否合理,防止oracle进程吃尽操作系统内存。
7、了解oracle数据库对cpu的使用率
通过生成awr报告可以获得
8、了解oracle数据库对内存的使用率
通过生成awr报告可以获得
9、了解同时活动的在线用户数
Select
inst_id,count(*) from gv$session where type=’USER’ and status=’ACTIVE’;
10、了解一些主要参数配置,如processes以及和cursor、内存相关的和性能有关的参数配置,这些参数的设定都和系统的负载有关,需要等系统上线之后根据负载来决定,刚开始设置的值都是经验值,仅供参考
11、生成awr报告关注top 5等待事件和DB time的值,必要的话有针对性的调整系统。
四、和sql应用有关的巡检
1、生成awr报告
报告里面从不同的角度列出了过渡消耗资源的sql语句,和开发人员沟通之后,调整它。
2、生成ash报告
报告里面列出个各种top对象,有必要的话重点关注这些对象。
3、生成addm报告
看看oracle给出的优化建议,它给出的建议进攻参考。
五、查看备份情况
1、看看是否有备份策略,详细了解一下备份情况
2、看看备份是否成功
六、是否做了dataguard
如果有dataguard容载策略的话,看看数据库的同步情况,另外特别需要注意的是看看dataguard这边的归档日志是不是可以自动删除,不能删除的话要部署定期手动删除归档日志的脚本。
七、系统是否部署了OGG
系统是否部署了OGG和其他数据库有数据交换,有的话可以了解一下相关情况。