linux中oracle的日常维护命令

来源:互联网 发布:毯子知乎 编辑:程序博客网 时间:2024/05/16 00:37
1.  检查Oracle的进程 
$  ps -ef|grep "ora_"|grep -v grep 
  oracle  5998     1  0 11:15:59 ?        0:01 ora_j000_PPRD10 
  oracle  2968     1  0 21:16:57 ?        0:00 ora_q000_PPRD10 
  oracle  2927     1  0 21:16:33 ?        0:00 ora_pmon_PPRD10 
  oracle  2933     1  0 21:16:34 ?        0:07 ora_dbw0_PPRD10 
  oracle  2945     1  0 21:16:34 ?        0:02 ora_mmon_PPRD10 
  oracle  2931     1  0 21:16:33 ?        0:00 ora_mman_PPRD10 
  oracle  2949     1  0 21:16:34 ?        0:00 ora_d000_PPRD10 
  oracle  2970     1  0 21:16:57 ?        0:00 ora_q001_PPRD10 
  oracle  2935     1  0 21:16:34 ?        0:05 ora_lgwr_PPRD10 
  oracle  2951     1  0 21:16:34 ?        0:00 ora_s000_PPRD10 
  oracle  2939     1  0 21:16:34 ?        0:06 ora_smon_PPRD10 
  oracle  2957     1  0 21:16:47 ?        0:00 ora_qmnc_PPRD10 
  oracle  2943     1  0 21:16:34 ?        0:05 ora_cjq0_PPRD10 
  oracle  2947     1  0 21:16:34 ?        0:00 ora_mmnl_PPRD10 
  oracle  2937     1  0 21:16:34 ?        0:18 ora_ckpt_PPRD10 
  oracle  2941     1  0 21:16:34 ?        0:00 ora_reco_PPRD10 
oracle  2929     1  0 21:16:33 ?        0:00 ora_psp0_PPRD10 

在检查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 .  查看数据库的实例: 
SQL> select instance_name,status,version,database_status from v$instance; 

INSTANCE_NAME  STATUS    VERSION     DATABASE_STATUS 
----------------        ------------   -----------------    ----------------- 
PPRD10           OPEN     10.2.0.4.0       ACTIVE 

其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。 


3 . 查看数据库的日志模式,打开模式 
SQL> select name,log_mode,open_mode from v$database; 

NAME      LOG_MODE       OPEN_MODE 
---------      ------------          ---------- 
PPRD10    NOARCHIVELOG  READ WRITE   

其中“LOG_MODE”表示Oracle当前的归档方式。“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。 

4 . 查看数据库alert_SID.log 中的ora-的错误信息: 
$ more /u01/app/oracle/admin/pinnsoft/bdump/alert_pinnsoft.log | grep -i ora- 

WARNING: inbound connection timed out (ORA-3136) 
WARNING: inbound connection timed out (ORA-3136) 
ORA-12012: error on auto execute of job 78677 
ORA-20820: ORA-20820: 
ORA-06512: at "PS_SYSTEM.ROW_VALIDATOR_T", line 912 
ORA-06512: at "PS_SYSTEM.ROW_VALIDATOR_T", line 924 
ORA-06512: at "WORKORDER.INVENTORY_UTL", line 1260 
ORA-12012: error on auto execute of job 78677 


4.1 查alert_SID.log中的err的信息: 
$ more /u01/app/oracle/admin/pinnsoft/bdump/alert_pinnsoft.log | grep -i err 

Errors in file /u01/app/oracle/admin/pinnsoft/bdump/pinnsoft_j000_2666.trc: 
ORA-12012: error on auto execute of job 78677 
: 6000101: Error occurred when rolling Inventory date 
Errors in file /u01/app/oracle/admin/pinnsoft/bdump/pinnsoft_j000_11886.trc: 
ORA-12012: error on auto execute of job 78677 
: 6000101: Error occurred when rolling Inventory date 
Errors in file /u01/app/oracle/admin/pinnsoft/bdump/pinnsoft_j000_21375.trc: 
ORA-12012: error on auto execute of job 78677 
: 6000101: Error occurred when rolling Inventory date 


4.2 查alert_SID.log的fail的信息: 
$ more /u01/app/oracle/admin/pinnsoft/bdump/alert_pinnsoft.log | grep -i fail 

PMON failed to acquire latch, see PMON dump 
PMON failed to acquire latch, see PMON dump 
PMON failed to acquire latch, see PMON dump 


5. 检查控制文件状态
SQL> select status,name from v$controlfile; 
STATUS  NAME 
-------    ------------------------------------------------------------------------ 
        /data/app/oracle/oradata/PPRD10/control01.ctl 
        /data/app/oracle/oradata/PPRD10/control02.ctl 
        /data/app/oracle/oradata/PPRD10/control03.ctl 

输出结果应该有3条以上(包含3条)的记录,“STATUS”应该为空。状态为空表示控制文件状态正常。 

6.  查询日志状态 
SQL> select group#,status,member from v$logfile; 

GROUP#  STATUS  MEMBER 
----------    -------    ------------------------------------------------------------- 
           1         /data/app/oracle/oradata/PPRD10/redo01.log 
           2         /data/app/oracle/oradata/PPRD10/redo02.log 
           3         /data/app/oracle/oradata/PPRD10/redo03.log 

  输出结果应该有3条以上(包含 3 条)记录,”STATUS”应该为非”INVALID”,非“DELETED”。 

7 .  查询数据状态: 
SQL> select file#,status,name from v$datafile; 

FILE#  STATUS   NAME 
----------  -------    -------------------------------------------------- 
         1  SYSTEM  /u01/app/oracle/oradata/orcl/system01.dbf 
         2  ONLINE  /u01/app/oracle/oradata/orcl/undotbs01.dbf 
         3  ONLINE  /u01/app/oracle/oradata/orcl/sysaux01.dbf 
         4  ONLINE  /u01/app/oracle/oradata/orcl/users01.dbf 
         5  ONLINE  /u01/app/oracle/oradata/orcl/example01.dbf 
         6  ONLINE  /u01/app/oracle/oradata/orcl/perfstat.dbf 
         7  ONLINE  /u01/app/oracle/oradata/orcl/risenet.dbf 

  “ONLINE"表示正常在线状态 

8 . 查询表空间状态 
SQL> select tablespace_name,status from dba_tablespaces; 

TABLESPACE_NAME           STATUS 
------------------------------     --------- 
SYSTEM                           ONLINE 
UNDOTBS1                       ONLINE 
SYSAUX                           ONLINE 
TEMP                              ONLINE 
USERS                            ONLINE 
EXAMPLE                         ONLINE 
PERFSTAT                        ONLINE 
RISENET                          ONLINE 

“ONLINE”表示正常在线状态 

9  . 检查Oracle所有回滚段的状态 

SQL> select segment_name,status from dba_rollback_segs; 

SEGMENT_NAME              STATUS 
------------------------------    ---------------- 
SYSTEM                           ONLINE 
_SYSSMU10$                    ONLINE 
_SYSSMU9$                      ONLINE 
_SYSSMU8$                      ONLINE 
_SYSSMU7$                      ONLINE 
_SYSSMU6$                      ONLINE 
_SYSSMU5$                      ONLINE 
_SYSSMU4$                      ONLINE 
_SYSSMU3$                      ONLINE 
_SYSSMU2$                      ONLINE 
_SYSSMU1$                      ONLINE 

11 rows selected. 

10 .检查Oracle初始化文件中相关的参数值 

SQL>select resource_name,current_utilization,max_utilization,initial_allocation  ,limit_value from v$resource_limit; 

RESOURCE_NAME                  CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LI 
------------------------------ ------------------- --------------- ---------- -- 
processes                                       26              31        150 
sessions                                        30              37        170 
enqueue_locks                                   23              31       2300 
enqueue_resources                               23              49        968  U 
ges_procs                                        0               0          0 
ges_ress                                         0               0          0  U 
ges_locks                                        0               0          0  U 
ges_cache_ress                                   0               0          0  U 
ges_reg_msgs                                     0               0          0  U 
ges_big_msgs                                     0               0          0  U 
ges_rsv_msgs                                     0               0          0 

RESOURCE_NAME                  CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LI 
------------------------------ ------------------- --------------- ---------- -- 
gcs_resources                                    0               0          0 
gcs_shadows                                      0               0          0 
dml_locks                                        0              68        748  U 
temporary_table_locks                            0               3  UNLIMITED  U 
transactions                                     2              11        187  U 
branches                                         0               0        187  U 
cmtcallbk                                        0               2        187  U 
sort_segment_locks                               0               3  UNLIMITED  U 
max_rollback_segments                           11              11        187 
max_shared_servers                               1               1  UNLIMITED  U 
parallel_max_servers                             0               0         40 

22 rows selected. 


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; 

SQL> Select  A.tablespace_name,(1-(A.total)/B.total)*100 used_percent 
  2  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; 


TABLESPACE_NAME                USED_PERCENT 
------------------------------         ------------ 
UNDOTBS1                              33.25 
SYSAUX                               99.0364583 
RISENET                                .0125 
USERS                                   62.5 
SYSTEM                               98.6067708 
EXAMPLE                               68.25 
PERFSTAT                             28.7625 

7 rows selected. 

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; 

SQL> select segment_name,segment_type,tablespace_name, 
  2      (extents/max_extents)*100 Percent 
  3      from sys.DBA_segments 
  4      where max_extents!=0 and (extents/max_extents)*100>=95 
  5  order by percent; 

no rows selected 

如果有记录返回,则这些对象的扩展已经快达到它定义时的最大扩展值。对于这些对象要修改它的存储结构参数

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'; 
SQL> select distinct(owner) from dba_tables 
  2  where tablespace_name='SYSTEM' and 
  3  owner!='SYS' and owner!='SYSTEM' 
  4  union 
  5  select distinct(owner) from dba_indexes 
  6  where tablespace_name='SYSTEM' and 
  7  owner!='SYS' and owner!='SYSTEM'; 

OWNER 
------------------------------ 
MDSYS 
OLAPSYS 
OUTLN 

  如果有记录返回,则表明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; 

SQL> select a.table_name,a.next_extent,a.tablespace_name 
  2      from all_tables a, 
  3      (select tablespace_name,max(bytes) as big_chunk 
  4      from dba_free_space group by tablespace_name) f 
  5      where f.tablespace_name=a.tablespace_name 
  6      and a.next_extent>f.big_chunk 
  7      union 
  8      select a.index_name,a.next_extent,a.tablespace_name 
  9      from all_indexes a, 
10      (select tablespace_name,max(bytes) as big_chunk 
11      from dba_free_space 
12      group by tablespace_name) f 
13      where f.tablespace_name=a.tablespace_name 
14      and a.next_extent>f.big_chunk; 

no rows selected 

  如果有记录返回,则表明这些对象的下一个扩展大于该对象所属表空间的最大扩展值,需调整相应表空间的存储参数
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 身份证过期了怎么办护照 驾照体检表丢了怎么办 驾照体检表掉了怎么办 驾校体检表掉了怎么办 身份证掉了怎么办护照 驾照体检表过期了怎么办 助力车行驶证过期怎么办 c1证骑摩托车怎么办 别人知道驾驶证号码怎么办 摩托车卖了车牌怎么办 违章超过12分怎么办 违章扣分24分怎么办 驾驶证有效期过了怎么办 驾驶证到期没审怎么办 驾驶证扣不了分怎么办 集体户口怎么办户口本公证 强制保险单丢了怎么办 车子保险单丢了怎么办 汽车保险单子丢了怎么办 汽车保险贴丢了怎么办 保险本子丢了怎么办 平安保险单丢了怎么办 人寿保险单丢了怎么办 个人保险单丢了怎么办 学生保险单丢了怎么办 车保险单丢了怎么办 小孩保险单丢了怎么办 江苏省河道疏浚证怎么办 友利银行怎么办卡 专票信息没固话怎么办 廊坊市交警队放车后乱收费怎么办 驾驶本到期了怎么办 出国读研档案怎么办 出国留学 报到证怎么办 驾驶证扣分超证怎么办 车子违章132分怎么办 人才档案丢了怎么办 营运证过期三年怎么办 营运证年审过期怎么办 动态磅显示超载怎么办 货车道路运输证怎么办