`
leeqoo
  • 浏览: 123914 次
社区版块
存档分类
最新评论

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.log
         3 STALE   /u01/app/oracle/oradata/orcl/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

7 rows selected.
“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

8 rows selected.
“ONLINE”表示正常在线状态


      检查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> l
1* select resource_name,current_utilization,max_utilization,initial_allocation,limit_value from v$resource_limit
SQL> /

RESOURCE_NAME   CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
--------------- ------------------- --------------- ---------- ----------
processes                        20              30        150        150
sessions                         25              33        170        170
enqueue_locks                    14              22       2300       2300
enqueue_resourc                  14              37        968 UNLIMITED
es

ges_procs                         0               0          0          0
ges_ress                          0               0          0 UNLIMITED
ges_locks                         0               0          0 UNLIMITED
ges_cache_ress                    0               0          0 UNLIMITED
ges_reg_msgs                      0               0          0 UNLIMITED

RESOURCE_NAME   CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
--------------- ------------------- --------------- ---------- ----------
ges_big_msgs                      0               0          0 UNLIMITED
ges_rsv_msgs                      0               0          0          0
gcs_resources                     0               0          0          0
gcs_shadows                       0               0          0          0
dml_locks                         0              44        748 UNLIMITED
temporary_table                   0               0 UNLIMITED UNLIMITED
_locks

transactions                      0              10        187 UNLIMITED
branches                          0               0        187 UNLIMITED
cmtcallbk                         0               1        187 UNLIMITED

RESOURCE_NAME   CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
--------------- ------------------- --------------- ---------- ----------
sort_segment_lo                   0               1 UNLIMITED UNLIMITED
cks

max_rollback_se                  11              11        187      65535
gments

max_shared_serv                   1               1 UNLIMITED UNLIMITED
ers

parallel_max_se                   0               2         40       3600
rvers

RESOURCE_NAME   CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_AL LIMIT_VALU
--------------- ------------------- --------------- ---------- ----------


22 rows selected.



11
      检查Oracle各个表空间的增长情况

SQL> l
1 select
2     A.tablespace_name,(1-(A.total)/B.total)*100 used_percent
3     from
4     (select tablespace_name,sum(bytes) total
5             from dba_free_space group by tablespace_name) A,
6     (select tablespace_name,sum(bytes) total
7             from dba_data_files group by tablespace_name) B
8*    where A.tablespace_name=B.tablespace_name
SQL> /

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       检查一些扩展异常的对象

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表空间内的内容

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
      检查对象的下一扩展与表空间的最大扩展值
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

如果有记录返回,则表明这些对象的下一个扩展大于该对象所属表空间的最大扩展值,
需调整相应表空间的存储参数

分享到:
评论

相关推荐

    linux中oracle的日常维护命令

    在Linux环境中,对Oracle数据库进行日常维护是确保其稳定运行的关键任务。以下是一些常用的Linux命令,用于检查和管理Oracle数据库实例: 1. **检查Oracle进程**: 使用`ps -ef | grep "ora_" | grep -v grep`命令...

    基于linux平台Oracle的安装及日常运维管理

    基于linux平台Oracle的安装及日常运维管理

    Linux下修改Oracle用户密码

    总之,Linux下修改Oracle用户密码不仅是日常维护工作的一部分,也是对系统管理员能力的一种考验。通过以上步骤的详细解析,相信每位读者都能在实际操作中更加得心应手,同时也为更深入地探索Oracle数据库管理提供了...

    linux下oracle集群

    在Linux环境下搭建Oracle集群是一项复杂而关键的任务,它涉及到多个层面的技术知识,包括操作系统管理、数据库架构、网络配置以及高可用性解决方案。Oracle集群(Oracle Real Application Clusters,简称RAC)是...

    linux中oracle的日常维护命令.docx

    在Linux环境中,Oracle数据库的日常维护是至关重要的,它确保了系统的稳定性和数据的安全性。以下是一些关键的Oracle数据库维护命令和相关的知识点: 1. **检查Oracle进程**: 使用`ps -ef | grep "ora_" | grep -...

    linux下重启oracle

    Oracle 数据库管理是指对 Oracle 数据库的日常维护和管理,包括备份、恢复、性能优化等。以下是 Oracle 数据库管理的一些重要方面: 1. 备份和恢复: Oracle 数据库的备份和恢复是非常重要的,因为它可以防止数据...

    Linux下Oracle数据导入导出方法

    在Linux环境下进行Oracle数据库的数据导入导出工作,是数据库管理员(DBA)日常维护工作中不可或缺的一部分。本文将详细解析Linux下Oracle数据导入导出的方法,包括使用exp和imp工具的具体操作流程。 ### Linux下...

    linux中oracle的日常维护命令.pdf

    在Linux环境中对Oracle数据库进行日常维护是数据库管理员的重要工作之一。Oracle数据库是一个复杂且强大的系统,其运行在操作系统层面上,因此理解如何在Linux下管理和监控Oracle进程至关重要。本篇将详细介绍几个...

    Oracle日常维护工作手册.doc

    Oracle日常维护工作手册 Oracle日常维护工作手册是数据库管理员的必备手册,涵盖了 Oracle 数据库的日常维护工作,包括数据库状态检查、文件系统检查、警告日志文件检查、数据库安全检查、数据库连接检查等重要...

    Linux下Oracle常用操作

    ### Linux下Oracle常用操作知识点详解 #### 一、概述 在Linux环境下管理Oracle数据库时,掌握一系列常用的命令是非常重要的。这些命令可以帮助我们有效地监控、维护和优化数据库性能。本文将详细介绍Linux下Oracle...

    linux启动oracle步骤

    在Linux环境下启动Oracle数据库是DBA(数据库管理员)日常运维工作中的一个重要环节。本文将详细介绍如何在Linux系统中启动Oracle服务,包括监听器(Listener)和服务实例的启动与关闭操作。 #### 二、准备工作 ...

    linux下oracle的一些参考文档

    在Linux操作系统上管理和维护Oracle数据库是一项技术性强且复杂的任务,涉及到多方面的知识。这里将针对标题和描述中提及的关键知识点进行详细的阐述。 首先,我们来探讨"Oracle数据库安装"。在Linux环境下安装...

    oracle+linux日常维护指导手册

    ### Oracle+Linux日常维护指导手册知识点详述 #### 操作系统层面维护 ...综上所述,通过对这些命令和方法的理解与实践,可以有效地对Oracle+Linux环境下的日常维护工作进行优化和改进,确保系统的稳定性和高效性。

Global site tag (gtag.js) - Google Analytics