日常Oracle维护手册
巡检内容
1. 检查数据库基本状况
在本节中主要对数据库的基本状况进行检查,其中包含:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分。
1.1. 检查Oracle实例状态
其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。
其中“LOG_MODE”表示Oracle当前的归档方式。“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。在我们的系统中数据库必须运行在归档方式下。
1.2. 检查Oracle服务进程
日常Oracle维护手册
在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:
. Oracle写数据文件的进程,输出显示为:“ora_dbw0_CKDB”
. Oracle写日志文件的进程,输出显示为:“ora_lgwr_ CKDB”
. Oracle监听实例状态的进程,输出显示为:“ora_smon_ CKDB”
. Oracle监听客户端连接进程状态的进程,输出显示为:“ora_pmon_ CKDB”
. Oracle进行归档的进程,输出显示为:“ora_arc0_ CKDB”
. Oracle进行检查点的进程,输出显示为:“ora_ckpt_ CKDB”
. Oracle进行恢复的进程,输出显示为:“ora_reco_ CKDB”
1.3. 检查Oracle监听状态
日常Oracle维护手册
该有“CKDB”这一项。
检查监听进程是否存在:
2. 检查系统和oracle日志文件
在本节主要检查相关的日志文件,包含:检查操作系统的日志文件,检查Oracle日志
文件,检查Oracle核心转储目录,检查Root用户和Oracle用户的email,总共四个部分。
2.1. 检查操作系统日志文件
2.2. 检查oracle日志文件
Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:数据
库的启动、关闭,启动时的非缺省参数;数据库的重做日志切换情况,记录每次切换的时间,
及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;
对数据库进行的某些操作,如创建或删除表空间、增加数据文件;数据库发生的错误,如表
空间不够、出现坏块、数据库内部错误(ORA-600)等。定期检查日志文件,根据日志中发
日常Oracle维护手册
Listener日志:$ORACLE_HOME/network/log
2.3. 检查Oracle核心转储目录
如果上面命令的结果每天都在增长,则说明Oracle进程经常发生核心转储。这说明某些用
户进程或者数据库后台进程由于无法处理的原因而异常退出。频繁的核心转储特别是数据库
后台进程的核心转储会导致数据库异常终止。
2.4. 检查Root用户和Oracle用户的email
3. 检查Oracle对象状态
在本节主要检查相关Oracle对象的状态,包含:检查Oracle控制文件状态,检查Oracle
在线日志状态,检查Oracle表空间的状态,检查Oracle所有数据文件状态,检查Oracle所
有表、索引、存储过程、触发器、包等对象的状态,检查Oracle所有回滚段的状态,总共
六个部分。
3.1. 检查Oracle控制文件状态
输出结果应该有3条以上(包含3条)的记录,“STATUS”应该为空。状态为空表示控制文
件状态正常。