1. 检查数据库基本状况
在本节中主要对数据库的基本状况进行检查,其中包含:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分。
1.1. 检查Oracle实例状态
SQL> select instance_name,host_name,startup_time,status,database_status from v$instance;
INSTANCE_NAME HOST_NAME STARTUP_TIME STATUS DATABASE_STATUS
---------------- ------------------- -------------------- ---------- ------------ ----
CKDB AS14 2009-5-7 9:3 OPEN ACTIVE
其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。
3.2. 检查Oracle在线日志状态
SQL> select group#,status,type,member from v$logfile;
GROUP# STATUS TYPE MEMBER
---------- ------- ------- -----------
3 ONLINE /data/oradata/CKDB/redo03.log
2 ONLINE /data/oradata/CKDB/redo02.log
1 ONLINE /data/oradata/CKDB/redo01.log
4 ONLINE /data/oradata/CKDB/redo04.log
5 ONLINE /data/oradata/CKDB/redo05.log
6 ONLINE /data/oradata/CKDB/redo06.log
6 rows selected
输出结果应该有3条以上(包含3条)记录,“STATUS”应该为非“INVALID”,非“DELETED”。注:“STATUS”显示为空表示正常。
3.3. 检查Oracle表空间的状态
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
UNDOTBS1 ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
SJ1 ONLINE
ADM_INDEX ONLINE
HOME_DATA ONLINE
HOME_INDEX ONLINE
PHOTO_DATA ONLINE
PHOTO_INDEX ONLINE
。。。。。。。
输出结果中STATUS应该都为ONLINE。
3.4. 检查Oracle所有数据文件状态
SQL> select name,status from v$datafile;
NAME STATUS
-------------------------------------------------- -------
/data/oradata/CKDB/system01.dbf SYSTEM
/data/oradata/CKDB/undotbs01.dbf ONLINE
/data/oradata/CKDB/sysaux01.dbf ONLINE
/data/oradata/CKDB/users01.dbf ONLINE
/data/oradata/CKDB/sj.dbf ONLINE
/data/oradata/CKDB/HOME_DATA1.dbf ONLINE
/data/oradata/CKDB/HOME_INDEX1.dbf ONLINE
/data/oradata/CKDB/PHOTO_DATA1.dbf ONLINE
/data/oradata/CKDB/PHOTO_INDEX1.dbf ONLINE
/data/oradata/CKDB/BLOG_DATA1.dbf ONLINE
/data/oradata/CKDB/BLOG_INDEX1.dbf ONLINE
/data/oradata/CKDB/AUDIO_DATA1.dbf ONLINE
/data/oradata/CKDB/AUDIO_INDEX1.dbf ONLINE
/data/oradata/CKDB/VIDEO_DATA1.dbf ONLINE
/data/oradata/CKDB/VIDEO_INDEX1.dbf ONLINE
/data/oradata/CKDB/SYS_DATA1.dbf ONLINE
/data/oradata/CKDB/SYS_INDEX1.dbf ONLINE
/data/oradata/CKDB/ADM_DATA1.dbf ONLINE
/data/oradata/CKDB/ADM_INDEX1.dbf ONLINE
/data/oradata/CKDB/perfstat.dbf ONLINE
输出结果中“STATUS”应该都为“ONLINE”。或者:
SQL> select file_name,status from dba_data_files;
FILE_NAME STATUS
--------------------------------------------- ---------
/data/oradata/CKDB/users01.dbf AVAILABLE
/data/oradata/CKDB/sysaux01.dbf AVAILABLE
/data/oradata/CKDB/undotbs01.dbf AVAILABLE
/data/oradata/CKDB/system01.dbf AVAILABLE
/data/oradata/CKDB/sj.dbf AVAILABLE
/data/oradata/CKDB/perfstat.dbf AVAILABLE
/data/oradata/CKDB/HOME_DATA1.dbf AVAILABLE
/data/oradata/CKDB/HOME_INDEX1.dbf AVAILABLE
/data/oradata/CKDB/PHOTO_DATA1.dbf AVAILABLE
输出结果中“STATUS”应该都为“AVAILABLE”。
3.5. 检查无效对象
sql>select owner,object_name,object_type from dba_objects where status!='VALID' and owner!='SYS' and owner!='SYSTEM';
no rows selected
如果有记录返回,则说明存在无效对象。若这些对象与应用相关,那么需要重新编译生成这个对象,或者:
SELECT owner, object_name, object_type FROM dba_objects WHERE status= 'INVALID';
3.6. 检查所有回滚段状态
SQL> select segment_name,status from dba_rollback_segs;
SEGMENT_NAME STATUS
------------------------------ ----------------
SYSTEM ONLINE
_SYSSMU1$ ONLINE
_SYSSMU2$ ONLINE
_SYSSMU3$ ONLINE
_SYSSMU4$ ONLINE
_SYSSMU5$ ONLINE
_SYSSMU6$ ONLINE
_SYSSMU7$ ONLINE
_SYSSMU8$ ONLINE
_SYSSMU9$ ONLINE
_SYSSMU10$ ONLINE
11 rows selected
输出结果中所有回滚段的“STATUS”应该为“ONLINE”。
4. 检查Oracle相关资源的使用情况
在本节主要检查Oracle相关资源的使用情况,包含:检查Oracle初始化文件中相关的参数值,检查数据库连接情况,检查系统磁盘空间,检查Oracle各个表空间使用情况,检查一些扩展异常的对象,检查system表空间内的内容,检查对象的下一扩展与表空间的最大扩展值,总共七个部分。
4.1. 检查Oracle初始化文件中相关参数值
SQL> select resource_name,max_utilization,initial_allocation,
limit_value from v$resource_limit;
RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCAT LIMIT_VALUE
-------------------- --------------- --------------- ---------------
processes 162 500 500
sessions 168 555 555
enqueue_locks 136 6930 6930
enqueue_resources 111 2660 UNLIMITED
ges_procs 0 0 0
ges_ress 0 0 UNLIMITED
ges_locks 0 0 UNLIMITED
ges_cache_ress 0 0 UNLIMITED
ges_reg_msgs 0 0 UNLIMITED
ges_big_msgs 0 0 UNLIMITED
ges_rsv_msgs 0 0 0
gcs_resources 0 0 0
gcs_shadows 0 0 0