日期:2014-05-16  浏览次数:20871 次

linux下oracle日常维护
linux中oracle的日常维护命令2008-04-08 10:171 检查Oracle的进程
[oracle@mzl ~]$ ps -ef|grep "ora_"|grep -v grep
oracle    2791     1 0 17:22 ?        00:00:00 ora_pmon_ORCL
oracle    2793     1 0 17:22 ?        00:00:00 ora_psp0_ORCL
oracle    2795     1 0 17:22 ?        00:00:00 ora_mman_ORCL
oracle    2797     1 0 17:22 ?        00:00:00 ora_dbw0_ORCL
......
在检查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进行恢复的进程,输出显示为:“ora_reco_ORCL”


2  
查看数据库的实例:
SQL> select instance_name,status,version,database_status from v$instance;

INSTANCE_NAME    STATUS       VERSION           DATABASE_STATUS
---------------- ------------ ----------------- -----------------
ORCL             OPEN         10.2.0.1.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
--------- ------------ ----------
ORCL      ARCHIVELOG   READ WRITE
其中“LOG_MODE”表示Oracle当前的归档方式。“ARCHIVELOG”表示数据库运行在归档
模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。在我们的系统中数据库必须运
行在归档方式下。

4 查看数据库alert_SID.log 中的ora-的错误信息:
[oracle@mzl ~]$ cat /u01/app/oracle/admin/orcl/bdump/alert_ORCL.log|grep -i ora-
ORA-1126 signalled during: alter database archivelog ...
ORA-1126 signalled during: alter database archivelog...
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
ORA-01110: data file 4: '/u01/app/oracle/oradata/orcl/users01.dbf'

查alert_SID.log中的err的信息:
[oracle@mzl ~]$ cat $ORACLE_BASE/admin/orcl/bdump/alert_ORCL.log|grep -i err
Mem# 0 errs 0: /u01/app/oracle/oradata/orcl/redo01.log
Mem# 0 errs 0: /u01/app/oracle/oradata/orcl/redo02.log


查alert_SID.log的fail的信息:
[oracle@mzl ~]$ cat $ORACLE_BASE/admin/orcl/bdump/alert_ORCL.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
------- --------------------------------------------------
        /u01/app/oracle/oradata/orcl/control01.ctl
        /u01/app/oracle/oradata/orcl/control02.ctl
        /u01/app/oracle/oradata/orcl/control03.ctl
输出结果应该有3条以上(包含3条)的记录,“STATUS”应该为空。状态为空表示控制
文件状态正常。

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

    GROUP# STATUS MEMBER
---------- ------- --------------------------------------------------
         2         /u01/app/oracle/oradata/orcl/redo02.log
         1 STALE   /u01/app/oracle/oradata/orcl/redo01.lo