日常巡检
1、保证数据库正常的运行
2、数据库日常备份检查
3、定期查看alert_SID.log,发现现有的问题
4、定期rebuild索引
5、定期analyze tables和indexs
6、定期检查数据库的空间使用情况
7、定期检查Unix空间使用情况
8、定期做数据库的恢复测试
9、及时发现并解决数据库出现的问题
每天工作
1、确认实例的状态是否正常:检查oracle后台进程,数据库是否是open状态,数据文件是否都处在online状态下
2、检查监听是否正常,告警日志alert.log中是否有报错,如果有错误(ORA-)记录到日报,并解决。3、检查文件系统的使用情况,如果文件系统的剩余空间小于20%,删除一些不用的文件。
4、检查表空间的剩余空间情况。
5、利用一些外部命令检查,检查数据库的性能是否有异常,top、vmstat、iostat
6、检查数据库当日备份的有效性(检查备份日志)
7、协助开发人员、其它运维人员,协调第三方厂家,帮助开发人员优化SQL,解决开发人员遇到的一些数据库方面的问题
8、重点:按时按量完成领导临时交待的其它任务。
每周工作
1、每周生成awr,addm ( statspack),检查load_profile,top 5 time events,SQL
order by elapsed time等检查数据库性能是否有问题。
2、清理和备份一周所产生的Alert日志、跟踪文件、dump文件,清理和备份过期的数据库性能数据,以保证数据库性能监控的连续性和有效性
3、空间使用分析,监测数据量总体增长情况,按表空间分析使用率增长情况
每月工作
1、每月对表和索引进行analyze,消除行迁移,表空间碎片,对数据库进行一次全面的健康性检查。
2、每月的性能检查重点关注︰数据库主要性能指标、数据库主要等待事件、最消耗内存资源的SQL语句
3、每月需要对备份的数据进行恢复演练以保证备份的有效性
巡检内容
1、运行巡检脚本,收集数据库和主机信息(数据库信息)
jcpt_dbxunjian.sql
2、收集系统和数据库日志(日志信息)
vmstat,top,iostat ; rac日志, db alter
3、收集数据库addm,awr信息(性能信息)
单机:awrrpt.sql addmrpt.sql
RAC:awrrpti.sql addmrpti.sql
脚本位于:$ORACLE_HOME/rdbms/admin
4、分析收集的信息并给出处理建议
实操
1、创建文件夹存放收集的资料
mkdir 20201208
2、运行巡检脚本
sqlplus "/as sysdba"
SQL>@jcpt_dbxunjian.sql
3、收集性能报告
SQL>@?/rdbms/admin/awrrpt.sql
SQL>@?/rdbms/admin/addmrpt.sql
4、2秒一次输出10次vmstat
vmstat 2 10 > vmstat.log
5、top 观察一段时间,将查询结果复制到top.txt
6、free -m > free.log
7、iostat 2 10 > iostat.log
8、dmesg > dmesg.log
9、拷贝alert日志
sqlplus "/as sysdba"
SQL>select * from v$diag_info;
找到alert日志位置
cp /opt/app/oracle/diag/rdbms/xxgkdb/xxgkdb1/trace/alert_xxgkdb1.log /opt/20201209/