当前位置:文档之家› Oracle数据库维护及管理基本手册

Oracle数据库维护及管理基本手册

Oracle数据库维护及管理基本手册目录1 目的 (4)2 适用范围 (4)3 适用对象 (4)4 机房值班 (4)4.1 服务器规划........................................................................................ 错误!未定义书签。

4.2 日常巡检............................................................................................ 错误!未定义书签。

4.3 Oracle (4)4.3.1 表空间检查; (4)4.3.2 表碎片整理 (5)4.3.3 表索引整理 (5)4.3.4 检查数据库后台进程是否正常 (6)4.3.5 查看CRS(群集就绪软件)状态是否正常 (6)4.3.6 检查报警日志文件 (6)4.3.7 查看数据库监听状态和监听日志大小 (7)4.3.8 检查数据文件状态是否是ONLINE (8)4.3.9 检查数据库是否有失效的对象 (9)4.3.10 检查数据库服务器性能,记录数据库的cpu使用以及io wait等待 (9)4.3.11 检查数据库服务器磁盘空间使用率 (10)4.3.12 检查数据库备份是否正常 (10)4.3.13 数据库性能监控 (11)4.3.14 历史数据清理 (11)4.3.15 监控数据库JOB执行情况 (11)4.3.16 用户及权限安全监控 (12)4.4 设备重启规范 (13)4.4.1 数据库重启 (13)1目的通过对日常运行维护工作的梳理和沉淀,希望能够形成标准化的运行维护手册,以达到规范工作流程、明确职责分工、提高工作效率的目的,使得复杂的事情简单做,简单的事情重复做。

2适用范围本手册适用于运维部内部的日常维护工作。

3适用对象业务支撑中心运维部数据组。

4机房值班检查4.1检查对象:Oracle数据库4.1.1表空间检查;时间:每条例行检查两次:①早晨9点,②晚上21点;标准:对当前表空间使用率超过90%的数据进行迁移、备份、清理;操作:--查看表空间使用情况SELECT F.TABLESPACE_NAME "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB -F.TOTAL_BYTES) /D.TOT_GROOTTE_MB * 100,2), '990.99') "使用比",F.TOTAL_BYTES "空闲空间(M)", F.MAX_BYTES "最大块(M)"FROM (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,ROUND(MAX(BYTES) / (1024 * 1024), 2)MAX_BYTESFROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MBFROM SYS.DBA_DATA_FILES DDGROUP BY DD.TABLESPACE_NAME) DWHERE D.TABLESPACE_NAME = F.TABLESPACE_NAMEORDER BY 4 DESC;--查看指定表空间内各表占用空间情况select segment_name,tablespace_name,bytes/(1024*1024) 占用空间,blocksfrom user_segments where upper(tablespace_name)=upper(' TABLESPACE_NAME ')order by TABLESPACE_NAME,bytes desc,segment_name;--表空间迁移。

注:此操作后,相应的索引要重建,否则无效alter table TABLENAME move tablespace TABLESPACENAME; 4.1.2表碎片整理时间:每周日晚23点;操作:--①数据备份insert /*+ APPEND NOLOGGING PARALLEL */ into TO_TABLENAME Select * from FROM_TABLENAME;--②清理碎片Truncate table FROM_TABLENAME;4.1.3表索引整理时间:每周日晚23点;操作:alter index INDEX_NAME rebuild tablespace TABLESPACE_NAME;4.1.4检查数据库后台进程是否正常时间:每条例行检查两次:①早晨9点,②晚上21点;标准:确保后台进程正常,如果后台进程不存在,表示数据库宕掉需要进一步处理。

操作:使用命令ps -ef|grep ora_查看oracle后台进程是否存在。

主要的后台进程有dbw0,lgwr,smon,pmon,ckpt,arcn等。

注:如果是RAC数据库需要两台都要检查。

4.1.5查看CRS(群集就绪软件)状态是否正常时间:每条例行检查两次:①早晨9点,②晚上21点;标准:保证所有组件状态都是online,如果有offline的情况,需要查找具体原因,做进一步处理。

操作:使用oracle登录数据库服务器,使用命令crs_stat -t查看状态注:在RAC数据库的一个节点查看即可。

4.1.6检查报警日志文件时间:每条例行检查两次:①早晨9点,②晚上21点;标准:如果有错误产生,需要进一步根据具体的错误进行处理。

并保证此日志文件不大于2G。

操作:使用oracle用户登录数据库服务器:cd$ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log cat alert_$ORACLE_SID.log|grep ORA-查看大小:ls –lh alert_$ORACLE_SID.log如果有错误信息,要具体分析日志。

注意每天只需要查看最新的日志即可。

并保证日志文件不能大于2G,如果过大,可以备份后清理。

注:如果是RAC数据库需要两台都要检查。

4.1.7查看数据库监听状态和监听日志大小时间:每条例行检查一次:①早晨9点标准:如果监听不存在,需要手动启动监听。

并保证监听日志文件不大于2G。

操作:使用命令lsnrctl status,查看监听状态。

注:cd $ORACLE_HOME/network/admincat listener.ora查看监听名字.如果XXX这里就是监听的名字,默认就是listenerXXX =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.1)(PORT = 1521)))))如果不是默认名字,查看监听状态使用 :lsnrctl status XXX 查看监听日志文件大小:ls –lh $ORACLE_HOME/network/log/listener.log查看文件是否过大,如果过大,需要备份后清空。

如果增长过快,需要分析原因。

注:如果是RAC数据库需要两台都检查。

4.1.8检查数据文件状态是否是ONLINE操作时间:每条例行检查一次:①早晨9点对象:所有在用数据库标准:确保所有数据文件都是ONLINE的,如果选择有记录,要进行数据文件的恢复,或者ONLINE操作。

操作:命令如下:Select file_name from dba_data_files where status ='OFFLINE'4.1.9检查数据库是否有失效的对象操作时间:每条例行检查一次:①早晨9点对象:所有在用数据库标准:确保所有对象都是VALID的。

操作:检查失效的对象:SELECT owner, object_name, object_typeFROM dba_objectsWHERE status = 'INVALID';检查不起作用的约束:SELECT owner, constraint_name, table_name,constraint_type, statusFROM dba_constraintsWHERE status = 'DISABLED'AND constraint_type = 'P';检查无效的trigger:SELECT owner, trigger_name, table_name, statusFROM dba_triggersWHERE status = 'DISABLED';4.1.10检查数据库服务器性能,记录数据库的cpu使用以及iowait等待操作时间:每条例行检查一次:①早晨9点,②晚上21点;对象:所有在用数据库服务器标准:发现cpu和iowait使用异常,需要进一步分析原因。

操作:使用vmstat,iostat,glance,top等命令在操作系统上查看。

注意:也可以在服务器服务器上安装OSW(oracle的一个监控系统资源的一个小软件)4.1.11检查数据库服务器磁盘空间使用率操作时间:每条例行检查一次:①早晨9点对象:所有在用数据库标准:确保磁盘使用率不大于80%。

操作:在做系统上使用df -lh (aix使用,df –g)来查看磁盘使用率,如果大于80%就需要检查数据库是否有异常的trace dump以及考虑扩容等。

4.1.12检查数据库备份是否正常操作时间:每条例行检查一次:①早晨9点对象:所有设计备份的数据库标准:确保所有备份都正常和有效。

操作:如果数据库有备份,需要根据备份策略检查每次的备份是否成功。

4.1.13数据库性能监控人员:DBA;时间:每条例行检查一次:①早晨9点对象:所有在用数据库标准:分析性能报告,查找可能存在的性能问题。

操作:9i可以使用statspack,11g使用awr生成性能报告,分析生成的报告,检查数据库是否有性能问题,根据具体情况进行分析和调整。

相关主题