最新ORACLE数据库日常维护手册.doc
《最新ORACLE数据库日常维护手册.doc》由会员分享,可在线阅读,更多相关《最新ORACLE数据库日常维护手册.doc(84页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateORACLE数据库日常维护手册ORACLE数据库日常维护手册ORACLE数据库日常维护手册1前言22ORACLE数据库每天应检查的项目22.1数据库基本状况检查22.1.1检查Oracle的进程22.1.2检查Oracle监听进程32.1.3检查Oracle实例状态42.1.4检查归档情况42.2数据库日志文件检查42.2.1检查Oracle日志文件42.2.2检查O
2、racle核心转储目录52.3数据库对象状态检查52.3.1检查Oracle控制文件状态52.3.2检查Oracle在线日志状态62.3.3检查Oracle表空间的状态62.3.4检查Oracle所有数据文件状态62.3.5检查Oracle所有表、索引、存储过程、触发器、包等对象的状态72.4数据库资源使用情况检查72.4.1检查Oracle初始化文件中相关的参数值72.4.2检查Oracle各个表空间的增长情况82.4.3检查一些扩展异常的对象92.4.4检查system表空间内的内容92.4.5检查对象的下一扩展与表空间的最大扩展值92.4.6数据库表空间使用情况监控102.5检查数据库定
3、时作业的完成情况112.6数据库坏块的处理112.7数据库备份情况检查122.7.1检查备份软件的日志122.7.2检查数据库归档日志122.7.3控制文件的备份122.8数据库连接情况检查122.8.1检查数据库连接122.8.2检查数据库会话122.9操作系统相关检查132.9.1检查空间使用情况132.9.2检查网络状况132.9.3检查内存使用情况132.9.4检查磁盘I/O瓶颈143ORACLE数据库每周应检查的项目143.1查看是否有危害到安全策略的问题143.2查看的网络日志143.3将所有的警告日志存档143.4查看ORACLE相关的网站,获取最新信息144ORACLE数据库每
4、月应检查的项目154.1查看对数据库会产生危害的增长速度154.2查看数据库调整产生的影响154.3查看I/O 的屏颈问题155附:175.1启动数据库175.2关闭数据库175.3启动监听185.4关闭监听191 前言数据库系统往往是企业或组织信息系统中最重要的基础架构,一旦数据库系统不能正常运行,那基于数据库的整个信息架构都会随之瘫痪,因此我们必须保证数据库系统持续的健康的运行。因此数据库管理员必须每天对数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决可能存在的问题,将隐患消除在萌芽中。本文列举了ORACLE 数据库管理员每天,每周和每月应
5、该检查的一些东西,希望对DBA有些帮助。注:所有示例可能与客户的实际系统不尽相同。2 ORACLE数据库每天应检查的项目2.1 数据库基本状况检查2.1.1 检查Oracle的进程$ps ef|grep “ora_”|grep v grep oracle 6586 1 0 May 15 ? 0:00 ora_pmon_ORCL oracle 6598 1 0 May 15 ? 0:00 ora_snp0_ORCL oracle 6600 1 0 May 15 ? 0:00 ora_snp1_ORCL oracle 6594 1 0 May 15 ? 0:06 ora_smon_ORCL ora
6、cle 6604 1 0 May 15 ? 0:00 ora_snp3_ORCL oracle 6588 1 0 May 15 ? 6:50 ora_dbw0_ORCL oracle 6590 1 0 May 15 ? 37:48 ora_lgwr_ORCL oracle 6602 1 0 May 15 ? 0:00 ora_snp2_ORCL oracle 6606 1 0 May 15 ? 5:19 ora_arc0_ORCL oracle 6592 1 0 May 15 ? 0:45 ora_ckpt_ORCL oracle 6596 1 0 May 15 ? 0:01 ora_reco
7、_ORCL . 在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程: Oracle写数据文件的进程,输出显示为:ora_dbw0_ORCL。 Oracle写日志文件的进程,输出显示为:ora_lgwr_ORCL。 Oracle监听实例状态的进程,输出显示为:ora_smon_ORCL。 Oracle进行检查点的进程,输出显示为:ora_ckpt_ORCL。 注:进程的后缀ORCL是指数据库的实例名,以上仅是示例,与客户系统可能不尽相同。2.1.2 检查Oracle监听进程$lsnrctl status LSNRCTL for Solaris: Version 9.2.0.4.0
8、 - 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 LISTENER Version TNSLSNR for Solaris: Version 9.2.0.4.0 - Production Start Date 15-MAY-2005 22:0
9、5:58 Uptime 7 days 15 hr. 6 min. 11 sec Trace Level off Security OFF SNMP OFF Listener Parameter File /opt/oracle/db01/app/oracle/product/920/network/ admin/listener.ora Listener Log File /opt/oracle/db01/app/oracle/product/920/network/ log/listener.log Services Summary. ORCL has 1 service handler(s
10、)注:以上仅是示例,与客户系统可能不尽相同。2.1.3 检查Oracle实例状态$sqlplus system/manager sqlselect 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当前的实例状态,必须为OPEN;DATABASE_STATUS表示Oracle当前数据库的状态,必须为ACTIVE。 sqlselect
11、 name,log_mode,open_mode from v$database; NAME LOG_MODE OPEN_MODE - - -ORCLARCHIVELOGREAD WRITE2.1.4 检查归档情况SQLarchive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /opt/oracle/arch/ORCL Oldest online log sequence 1 Next log sequence to archive 2 Current log
12、sequence 2 Automatic archivalEnabled表示归档进行是否自动启动 其中LOG_MODE表示Oracle当前的归档方式。ARCHIVELOG表示数据库运行在归档模式下,NOARCHIVELOG表示数据库运行在非归档模式下。2.2 数据库日志文件检查2.2.1 检查Oracle日志文件$cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i ora- $cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i err $cat $ORACLE_BASE/
13、admin/ORCL/bdump/alert_ORCL.log|grep -i fail Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况: 数据库的启动、关闭,启动时的非缺省参数; 数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因; 对数据库进行的某些操作,如创建或删除表空间、增加数据文件; 数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA600)DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理问题 处理: 启动参数不对 检查初
14、始化参数文件 因为检查点操作或归档操作没有完成造成重做日志不能切换 如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率; 有人未经授权删除了表空间 检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限 出现坏块 检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建 表空间不够 增加数据文件到相应的表空间 出现ORA-600 根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁2.2.2 检查Oracle核心转储目录$ls $ORACLE_BASE/admin/
15、ORCL/cdump/*.trc|wc -l $ls $ORACLE_BASE/admin/ORCL/udump/*.trc|wc l 如果上面命令的结果每天都在增长,则说明Oracle进程经常发生核心转储。这说明某些用户进程或者数据库后台进程由于无法处理的原因而异常退出。频繁的核心转储特别是数据库后台进程的核心转储会导致数据库异常终止。2.3 数据库对象状态检查2.3.1 检查Oracle控制文件状态sqlselect * from v$controlfile; STATUS NAME - /opt/oracle/db02/oradata/ORCL/control01.ctl /opt/or
16、acle/db03/oradata/ORCL/control02.ctl /opt/oracle/db04/oradata/ORCL/control03.ctl2.3.2 检查Oracle在线日志状态sqlselect * from v$logfile; GROUP# STATUS MEMBER - 1 ONLINE/opt/oracle/db02/oradata/ORCL/redo01.log 2 ONLINE/opt/oracle/db03/oradata/ORCL/redo02.log 3 ONLINE/opt/oracle/db04/oradata/ORCL/redo03.log 输出
17、结果应该有3条以上(包含3条)记录,STATUS应该为非INVALID,非DELETED。 注:STATUS显示为空表示正常。2.3.3 检查Oracle表空间的状态sqlselect tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS - - SYSTEM ONLINE TOOLS ONLINE RBS ONLINE TEMP ONLINE USERS ONLINE INDX ONLINE DRSYS ONLINE其中STATUS应该都为ONLINE2.3.4 检查Oracle所有数据文件状态sqlselec
18、t name,status from v$datafile; NAME STATUS - /opt/oracle/db02/oradata/ORCL/system01.dbf ONLINE /opt/oracle/db02/oradata/ORCL/tools01.dbf ONLINE /opt/oracle/db02/oradata/ORCL/rbs01.dbf ONLINE /opt/oracle/db02/oradata/ORCL/temp01.dbf ONLINE /opt/oracle/db02/oradata/ORCL/users01.dbf ONLINE /opt/oracle/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 ORACLE 数据库 日常 维护 手册
限制150内