Oracle数据库日常检查.pdf
Oracle 数据库日常检查 1/7 Oracle 数据库日常检查 A.查看所有的实例及其后台进程是否正常 确认所有的 instance 工作正常,登陆到所有的数据库或 instance 上,检测 oracle 后台进程$env|grep SID ORACLE_SID=UWNMS3 B检查文件系统的使用情况 如果文件系统的剩余空间小于 10,则需要删除不必要的文件以释放空间。$df-h size used avail capacity Mounted on/dev/md/dsk/d0 20G 17G 3.1G 85%/proc 0K 0K 0K 0%/proc mnttab 0K 0K 0K 0%/etc/mnttab fd 0K 0K 0K 0%/dev/fd swap 85G 192K 85G 1%/var/run dmpfs 85G 0K 85G 0%/dev/vx/dmp dmpfs 85G 0K 85G 0%/dev/vx/rdmp swap 85G 213M 85G 1%/tmp/dev/vx/dsk/data10dg/Ora_ 394G 292G 98G 75%/data05/dev/vx/dsk/data1dg/vola0131 443G 156G 283G 36%/archivelog AIX:$df g or df k HP-UX$bdf or df k or df-h 注意:需要特别关注根目录,数据库软件和数据库备份所在目录的剩余空间情况!备注:数据库运行日志的及时清除 1).可清除 bdump,cdump,udump 下的相关日志$cd$ORACLE_BASE/admin/db_name/bdump$ls-l total 174-rwxrwxrwx 1 oracle dba 59047 Jul 30 22:02 alert_UWNMS1.log-rwxrwxrwx 1 oracle dba 1000 Jul 14 22:00 uwnms1_j000_18128.trc-rw-r-1 oracle dba 1000 Jul 22 22:00 uwnms1_j001_5369.trc-rwxrwxrwx 1 oracle dba 695 Jul 14 19:12 uwnms1_lgwr_18100.trc-rwxrwxrwx 1 oracle dba 2668 Jul 30 22:02 uwnms1_lgwr_19661.trc-rwxrwxrwx 1 oracle dba 983 Jul 14 17:36 uwnms1_lgwr_7816.trc-rwxrwxrwx 1 oracle dba 955 Jul 14 19:11 uwnms1_lgwr_7883.trc Oracle 数据库日常检查 2/7-rwxrwxrwx 1 oracle dba 803 Jul 14 17:31 uwnms1_p000_7714.trc-rwxrwxrwx 1 oracle dba 801 Jul 14 17:31 uwnms1_p001_7716.trc$cd./cdump$ls-l total 4 drwxr-x-2 oracle dba 512 Jul 25 14:12 core_18095 drwxr-x-2 oracle dba 512 Jul 25 19:17 core_25934$cd./udump$ls-l total 20042-rw-r-1 oracle dba 505 Jul 16 16:33 uwnms1_ora_14771.trc-rw-r-1 oracle dba 4516169 Jul 25 14:12 uwnms1_ora_18095.trc-rwxrwxrwx 1 oracle dba 644 Jul 14 19:12 uwnms1_ora_18119.trc-rw-r-1 oracle dba 505 Jul 30 15:11 uwnms1_ora_18820.trc-rwxrwxrwx 1 oracle dba 774 Jul 15 10:23 uwnms1_ora_19573.trc-rwxrwxrwx 1 oracle dba 587 Jul 15 10:23 uwnms1_ora_19645.trc-rwxrwxrwx 1 oracle dba 644 Jul 15 10:23 uwnms1_ora_19680.trc-rw-r-1 oracle dba 720942 Jul 15 16:28 uwnms1_ora_24759.trc-rw-r-1 oracle dba 4951562 Jul 25 19:17 uwnms1_ora_25934.trc-rw-r-1 oracle dba 505 Jul 15 17:21 uwnms1_ora_27326.trc-rw-r-1 oracle dba 503 Jul 30 16:54 uwnms1_ora_6612.trc-rwxrwxrwx 1 oracle dba 585 Jul 14 17:12 uwnms1_ora_7523.trc-rwxrwxrwx 1 oracle dba 767 Jul 14 17:30 uwnms1_ora_7566.trc 2).可清除 oracle 的监听日志$cd$ORACLE_HOME/network/log$ls-l total 533072-rwxrwxrwx 1 oracle dba 272507851 Jul 31 11:28 listener.log-rw-r-r-1 oracle dba 257876 Jul 31 08:48 sqlnet.log$cp/dev/null listener.log C查找警告日志文件 1.联接每一个操作管理系统 2.使用TELNET或是可比较程序 3.对每一个管理实例,经常的执行$ORACLE_BASE/bdump 操作,并使其能回退到控制数据库的 SID。4.在提示下,使用 UNIX 中的TAIL命令查看 alert_.log,或是用其他方式检查文件中最近时期的警告日志 5.如果发现任何 ORA_ERRORS(ORA-XXX)的错误,将它记录并且仔细的研究它们,或反馈给DB 组 如何确定警告日志文件的路径?通过参看起始参数文件 init.ora,而起始参数文件一般存储在$ORACLE_HOME/dbs 下 Oracle 数据库日常检查 3/7 D检查数据库备份是否成功 对 RMAN 备份方式:检查第三方备份工具的备份日志以确定备份是否成功 如果具备恢复目录的,可直接登陆到 rman 环境下,发命令 list backup 查看具体备份集合的情况;$rman target/nocatalog Recovery Manager:Release 10.2.0.3.0-Production on Thu Jul 31 11:39:37 2008 Copyright(c)1982,2005,Oracle.All rights reserved.connected to target database:UWNMS3(DBID=2229785441)connected to recovery catalog database RMAN list backup;List of Backup Sets=BS Key Type LV Size Device Type Elapsed Time Completion Time -422624 Incr 0 12.59M DISK 00:00:07 2008-07-28 03:15:21 BP Key:422631 Status:AVAILABLE Compressed:YES Tag:BK0 Piece Name:/export/home/oracle/rman3/bk0_UWNMS3_20080728_2393 List of Datafiles in backup set 422624 File LV Type Ckp SCN Ckp Time Name -2 0 Incr 35321096 2008-07-28 03:15:14/archivelog/oradata/UWNMS3/undo01.dbf 5 0 Incr 35321096 2008-07-28 03:15:14/archivelog/oradata/UWNMS3/system2.dbf 对 EXPORT,EXPDP 逻辑备份方式:检查 exp,expdp 日志文件以确定备份是否成功 对其他备份方式:检查相应的日志文件 E检查表空间的使用情况 1.检查在表空间中有没有剩余空间。对每一个实例来说,检查在表空间中是否存在有剩余空间来满足当天的预期的需要。当数据库中已有的数据是稳定的,数据日增长的平均数也是可以计算出来,最小的剩余空间至少要能满足每天数据的增长。脚本:select t.tablespace_name,total,free,round(100*(1-(free/total),3)|%as已使用的空间比例 from(select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files group by tablespace_name)t,(select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space group by tablespace_name)f Oracle 数据库日常检查 4/7 where t.tablespace_name=f.tablespace_name(+)and t.tablespace_name not in(DRSYS,ORDIM,SPATIAL,USERS,TOOLS,XDB)order by round(100*(1-(free/total),3)desc;2.检查失效索引/*-以下脚本用于检查失效的索引 select*from dba_indexes where status not in(VALID,N/A)SELECT index_name,PARTITION_NAME,TABLESPACE_NAME FROM USER_IND_PARTITIONS WHERE status=UNUSABLE ORDER BY PARTITION_NAME;*/-发现失效索引提出建议,如:alter index NPMDB.UQ_TPA_SAE_SUM rebuild tablespace idxdbs online nologging parallel 4;alter index NPMDB.UQ_TPA_SAE_SUM noparallel;3.表空间管理-检查表空间数据文件状态 SQLselect from dba_data_files where status=AVAILABLE;注:如果查询出记录,说明有数据文件不正常,必须及时提出建议.-查看数据文件自动扩展属性 SQLselect from dba_data_files where AUTOEXTENSIBLE=YES;注:查出记录后,并且数据文件在”/dev/”目录下,说明是裸设备,则建议 ALTER DATABASE DATAFILE/dev/vx/rdsk/data2dg/volb0082 AUTOEXTEND OFF;F.查看数据库版本及组件 数据库 RDBMS 版本:SQLselect*from v$version;查看数据库组件版本:SQLcol comp_name format a35;Oracle 数据库日常检查 5/7 SQLcol status format a15;SQLcol version format a15;SQLselect comp_name,status,version from dba_registry;G.查看 crs 状态 如果是 10g RAC 数据库运行以下命令查看 CRS 相关信息:1 查询并检查 OCR 设备 ocrcheck 2 查询并检查 Voting Disk 设备 crsctl query css votedisk 3 查询并检查网络接口 oifcfg getif global 4 检查 ocr 备份情况 查找备份存放目录 ocrconfig showbackup cd 到上面的目录,检查文件应列出下面文件 3 份每四小时备份 2 份每天备份 2 份每周备份 5 检查各个数据库节点系统时间,如果存在差距大于 15 分钟,建议修改。date 6 检查 crs 和数据库日志$ORA_CRS_HOME/log 9 检查 nodeapps,asm,database,instance,service 的状态 crs_stat t H检查数据库主机的性能情况 检查数据库所在主机的性能,记录数据库的 cpu 使用、IO、buffer 命中率等等,使用vmstat,iostat,top 等命令 Vmstat:关注 cpu 的 idle Iostat:关注磁盘 IO 的繁忙程度(%b)Oracle 数据库日常检查 6/7 Top:关注消耗 cpu 多的相关进程 Oracle 10g EM 监控:Oracle 数据库日常检查 7/7