1、ORACLE数据库日常维护手册1ORACLE 数据库日常维护手册ORACLE 数据库日常维护手册前言 .22 ORACLE 数据库每天应检查的项目 .22.12.1.12.1.22.1.32.1.42.22.2.12.2.22.32.3.12.3.22.3.32.3.42.3.52.42.4.12.4.22.4.32.4.42.4.52.4.62.52.62.72.7.12.7.22.7.32.82.8.12.8.22.92.9.12.9.22.9.32.9.4数据库基本状况检查 .2检查 Oracle 的进程 .2检查 Oracle 监听进程 .3检查 Oracle 实例状态 .4检查归档情
2、况 .4数据库日志文件检查 .4检查 Oracle 日志文件 .4检查 Oracle 核心转储目录 .5数据库对象状态检查 .5检查 Oracle 控制文件状态 .5检查 Oracle 在线日志状态 .6检查 Oracle 表空间的状态 .6检查 Oracle 所有数据文件状态 .6检查 Oracle 所有表、索引、存储过程、触发器、包等对象的状态 .7数据库资源使用情况检查 .7检查 Oracle 初始化文件中相关的参数值 .7检查 Oracle 各个表空间的增长情况 .8检查一些扩展异常的对象 .9检查 system 表空间内的内容.9检查对象的下一扩展与表空间的最大扩展值 .9数据库表空
3、间使用情况监控 .10检查数据库定时作业的完成情况 .11数据库坏块的处理 .11数据库备份情况检查 .12检查备份软件的日志 .12检查数据库归档日志 .12控制文件的备份 .12数据库连接情况检查 .12检查数据库连接 .12检查数据库会话 .12操作系统相关检查 .13检查空间使用情况 .13检查网络状况 .13检查内存使用情况 .13检查磁盘 I/O 瓶颈 .143 ORACLE 数据库每周应检查的项目 .143.13.2查看是否有危害到安全策略的问题 .14查看的网络日志 .1413.33.4ORACLE 数据库日常维护手册将所有的警告日志存档.14查看 ORACLE 相关的网站,获
4、取最新信息 .144 ORACLE 数据库每月应检查的项目 .154.14.24.3查看对数据库会产生危害的增长速度 .15查看数据库调整产生的影响 .15查看 I/O 的屏颈问题 .155附: .175.15.25.35.4启动数据库 .17关闭数据库 .17启动监听 .18关闭监听 .192ORACLE 数据库日常维护手册1 前言数据库系统往往是企业或组织信息系统中最重要的基础架构,一旦数据库系统不能正常运 行,那基于数据库的整个信息架构都会随之瘫痪,因此我们必须保证数据库系统持续的健 康的运行。因此数据库管理员必须每天对数据库的运行状态,日志文件,备份情况,数据库的空间使用情 况,系统资
5、源的使用情况进行检查,发现并解决可能存在的问题,将隐患消除在萌芽中。 本文列举了 ORACLE 数据库管理员每天,每周和每月应该检查的一些东西,希望对 DBA 有些帮助。注:所有示例可能与客户的实际系统不尽相同。2 ORACLE 数据库每天应检查的项目2.1 数据库基本状况检查2.1.1 检查 Oracle 的进程$ps ef|grep “ora_”|grep v greporacle 6586 1 0 May 15 ? 0:00 ora_pmon_ORCLoracle 6598 1 0 May 15 ? 0:00 ora_snp0_ORCLoracle 6600 1 0 May 15 ? 0
6、:00 ora_snp1_ORCLoracle 6594 1 0 May 15 ? 0:06 ora_smon_ORCLoracle 6604 1 0 May 15 ? 0:00 ora_snp3_ORCLoracle 6588 1 0 May 15 ? 6:50 ora_dbw0_ORCLoracle 6590 1 0 May 15 ? 37:48 ora_lgwr_ORCLoracle 6602 1 0 May 15 ? 0:00 ora_snp2_ORCLoracle 6606 1 0 May 15 ? 5:19 ora_arc0_ORCLoracle 6592 1 0 May 15 ?
7、 0:45 ora_ckpt_ORCLoracle 6596 1 0 May 15 ? 0:01 ora_reco_ORCL.在检查 Oracle 的进程命令输出后,输出显示至少应包括以下一些进程:Oracle 写数据文件的进程,输出显示为:ora_dbw0_ORCL。Oracle 写日志文件的进程,输出显示为:ora_lgwr_ORCL。Oracle 监听实例状态的进程,输出显示为:ora_smon_ORCL。Oracle 进行检查点的进程,输出显示为:ora_ckpt_ORCL。注:进程的后缀 ORCL 是指数据库的实例名,以上仅是示例,与客户系统可能不尽相同。3ORACLE 数据库日常维
8、护手册2.1.2 检查 Oracle 监听进程$lsnrctl statusLSNRCTL for Solaris: Version 9.2.0.4.0 - Production on 23-MAY-2005 13:12:09(c) Copyright 2002 Oracle Corporation. All rights reserved.Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ipasdb)(PORT=1521)STATUS of the LISTENER-Alias LISTENERVersion TNSLSNR fo
9、r Solaris: Version 9.2.0.4.0 - ProductionStart Date 15-MAY-2005 22:05:58Uptime 7 days 15 hr. 6 min. 11 secTrace Level offSecurity OFFSNMP OFFListener Parameter File/opt/oracle/db01/app/oracle/product/920/network/admin/listener.oraListener Log File/opt/oracle/db01/app/oracle/product/920/network/log/l
10、istener.logServices Summary.ORCL has 1 service handler(s)注:以上仅是示例,与客户系统可能不尽相同。2.1.3 检查 Oracle 实例状态$sqlplus system/managersqlselect instance_name,version,status,database_status from v$instance;INSTANCE_NAME VERSION STATUS DATABASE_STATUS- - - -ORCL 9.2.0.4.0 OPEN ACTIVE其中 STATUS 表示 Oracle 当前的实例状态,必须为
11、 OPEN;DATABASE_STATUS 表示 Oracle 当前数据库的状态,必须为 ACTIVE。sqlselect name,log_mode,open_mode from v$database;NAME LOG_MODE OPEN_MODE- - -4ORACLE 数据库日常维护手册ORCL ARCHIVELOG READ WRITE2.1.4 检查归档情况SQLarchive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /opt/oracle/arch/OR
12、CLOldest online log sequence 1Next log sequence to archive 2Current log sequence 2Automatic archivalEnabled 表示归档进行是否自动启动其中 LOG_MODE 表示 Oracle 当前的归档方式。ARCHIVELOG 表示数据库运行在归 档模式下,NOARCHIVELOG 表示数据库运行在非归档模式下。2.2 数据库日志文件检查2.2.1 检查 Oracle 日志文件$cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i ora-$
13、cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i err$cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i failOracle 在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况: 数据库的启动、关闭,启动时的非缺省参数; 数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操 作没有执行完成造成不能切换,会记录不能切换的原因;对数据库进行的某些操作,如创建或删除表空间、增加数据文件;数据库发生的
14、错误,如表空间不够、出现坏块、数据库内部错误(ORA600)DBA 应该定期检查日志文件,根据日志中发现的问题及时进行处理问题 处理: 启动参数不对 检查初始化参数文件 因为检查点操作或归档操作没有完成造成重做日志不能切换 如果经常发生这样的情况, 可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率; 有人XX删除了表空间 检查数据库的安全问题,是否密码太简单;如有必要,撤 消某些用户的系统权限 出现坏块 检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对 象出现了坏块,对这个对象进行重建 表空间不够 增加数据文件到相应的表空间 出现 ORA-600 根据日志文件的内容查看相应的 TRC 文件,如果是 Oracle 的 bug,要 及时打上相应的补丁5ORACLE 数据库日常维护手册2.2.2 检查 Oracle 核心转储目录$ls $ORACLE_BASE/admin/ORCL/cdump/*.trc|wc -l$ls $ORACLE_BASE/admin/ORCL/udump/*.trc|wc l
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1