检查数据库基本状况
包含:检查 Oracle 实例状态,检查 Oracle 服务进程,检查 Oracle 监听进程,共三个部分。
1. 检查 Oracle 实例状态
select
instance_name,host_name,startup_time,status,database_status
from
v$instance;
其中 “STATUS” 表示 Oracle 当前的实例状态,必须为 “OPEN” ; “DATABASE_STATUS” 表示 Oracle 当前数据库的状态,必须为 “ACTIVE”。
2. 检查 Oracle 在线日志状态
select
group#,status,type,member
from
v$logfile;
输出结果应该有 3 条以上(包含 3 条)记录,”STATUS” 应该为非 “INVALID”,非 “DELETED”。
注:”STATUS” 显示为空表示正常。
3. 检查Oracle表空间的状态
select
tablespace_name,status
from
dba_tablespaces;
输出结果中 STATUS 应该都为 ONLINE。
4. 检查 Oracle 所有数据文件状态
select
name,status
from
v$datafile;
输出结果中 “STATUS” 应该都为 “ONLINE”。或者:
select
file_name,status
from
dba_data_files;
输出结果中 “STATUS” 应该都为 “AVAILABLE”。
5. 检查无效对象
select
owner,object_name,object_type
from
dba_objects
where
status!='VALID' and owner!='SYS' and owner!='SYSTEM';
如果有记录返回,则说明存在无效对象。若这些对象与应用相关,那么需要重新编译生成这个对象,或者:
SELECT
owner, object_name, object_type
FROM
dba_objects
WHERE
status= 'INVALID';
6. 检查所有回滚段状态
select
segment_name,status
from
dba_rollback_segs;
输出结果中所有回滚段的 “STATUS” 应该为 “ONLINE”。