1. 检查Oracle的进程
$ ps -ef|grep "ora_"|grep -v grep
在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:
? Oracle写数据文件的进程,输出显示为:“ora_dbw0_ORCL”
? Oracle写日志文件的进程,输出显示为:“ora_lgwr_ORCL”
? Oracle监听实例状态的进程,输出显示为:“ora_smon_ORCL”
? Oracle监听客户端连接进程状态的进程,输出显示为:“ora_pmon_ORCL”
? Oracle进行归档的进程,输出显示为:“ora_arc0_ORCL”
? Oracle进行检查点的进程,输出显示为:“ora_ckpt_ORCL”
? Oracle进行[url=javascript:;]恢复[/url]的进程,输出显示为:“ora_reco_ORCL”
2 . 查看数据库的实例:
select instance_name,status,version,database_status from v$instance;
其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。
3 . 查看数据库的日志模式,打开模式
SQL> select name,log_mode,open_mode from v$database;
其中“LOG_MODE”表示Oracle当前的归档方式。“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。
4 . 查看数据库alert_SID.log 中的ora-的错误信息:
$ more /u01/app/oracle/admin/pinnsoft/bdump/alert_pinnsoft.log | grep -i ora-
4.1 查alert_SID.log中的err的信息:
$ more /u01/app/oracle/admin/pinnsoft/bdump/alert_pinnsoft.log | grep -i err
4.2 查alert_SID.log的fail的信息:
$ more /u01/app/oracle/admin/pinnsoft/bdump/alert_pinnsoft.log | grep -i fail
5. 检查控制文件状态
select status,name from v$controlfile;
6. 查询日志状态
select group#,status,member from v$logfile;
7 . 查询数据状态:
select file#,status,name from v$datafile;
8 . 查询表空间状态
select tablespace_name,status from dba_tablespaces;
9 . 检查Oracle所有回滚段的状态
SQL> select segment_name,status from dba_rollback_segs;
10 .检查Oracle初始化文件中相关的参数值
select resource_name,current_utilization,max_utilization,initial_allocation ,limit_value from v$resource_limit;
11. 检查Oracle各个表空间的增长情况
Select A.tablespace_name,(1-(A.total)/B.total)*100 used_percent
from (select tablespace_name,sum(bytes) total from dba_free_space group by tablespace_name) A, (select tablespace_name,sum(bytes) total from dba_data_files group by tablespace_name) B
where A.tablespace_name=B.tablespace_name;
12 . 检查一些扩展异常的对象
select segment_name,segment_type,tablespace_name,
(extents/max_extents)*100 Percent from sys.DBA_segments
where max_extents!=0 and (extents/max_extents)*100>=95
order by percent;
如果有记录返回,则这些对象的扩展已经快达到它定义时的最大扩展值。对于这些对象要修改它的存储结构参数.
13 . 检查system表空间内的内容
select distinct(owner) from dba_tables
where tablespace_name='SYSTEM' and owner!='SYS'
and owner!='SYSTEM'
union
select distinct(owner) from dba_indexes
where tablespace_name='SYSTEM'
and owner!='SYS' and owner!='SYSTEM';
如果有记录返回,则表明system表空间内存在一些非system和sys用户的对象。应该进一步检查这些对象是否与我们应用相关。如果相关请把这些对象移到非System表空间,同时应该检查这些对象属主的缺省表空间值,
14. 检查对象的下一扩展与表空间的最大扩展值
select a.table_name,a.next_extent,a.tablespace_name
from all_tables a,
(select tablespace_name,max(bytes) as big_chunk
from dba_free_space group by tablespace_name) f
where f.tablespace_name=a.tablespace_name
and a.next_extent>f.big_chunk
union
select a.index_name,a.next_extent,a.tablespace_name
from all_indexes a,
(select tablespace_name,max(bytes) as big_chunk
from dba_free_space
group by tablespace_name) f
where f.tablespace_name=a.tablespace_name
and a.next_extent>f.big_chunk;
如果有记录返回,则表明这些对象的下一个扩展大于该对象所属表空间的最大扩展值,需调整相应表空间的存储参数