1、Oracle数据库 日常 检查 A. 查看所有的实例 及其后台进程 是否 正常 确认所有的 instance工作正常,登陆到所有的数据库或 instance上,检测 oracle后台进程 $env | grep SID ORACLE_SID=UWNMS3 B检查文件系统的使用 情况 如果文件系统的剩余空间小于 10,则需要删除不必要的文件以释放空间。 $df -h Filesystem size used avail capacity Mounted on /dev/md/dsk/d0 20G 17G 3.1G 85% / /proc 0K 0K 0K 0% /proc mnttab 0K 0
2、K 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_File_Vol01 394G 292G 98G 75% /data05 /dev/vx/dsk/data1dg/vola0131 443G 156G 283G 36% /archivelog AIX: $df g or
3、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_1812
4、8.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 uwnms
5、1_lgwr_7883.trc -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
6、-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.tr
7、c -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_273
8、26.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
9、: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) 的错误
10、 ,将它记录并且仔细的研究它们, 或反馈给DB组 如何确定警告日志文件的路径 ? 通过参看起始参数文件 init.ora,而起始参数文件一般存储在 $ORACLE_HOME/dbs下 D 检查 数据库备份是否成功 对 RMAN备份方式 : 检查第三方备份工具的备份日志以确定备份是否成功 如果 具备 恢复目录的,可 直接 登陆到 rman环境下,发命令 list backup查看具 体备份集合的情况 ; $rman target / nocatalog Recovery Manager: Release 10.2.0.3.0 - Production on Thu Jul 31 11:39:37
11、 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:0
12、0: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/und
13、o01.dbf 5 0 Incr 35321096 2008-07-28 03:15:14 /archivelog/oradata/UWNMS3/system2.dbf 对 EXPORT, EXPDP逻辑 备份方式 : 检查 exp, expdp日志文件以确定备份是否成功 对其他备份方式 : 检查相应的日志文件 E检查 表空间 的使用情况 1. 检查在表空间中有没有剩余空间。 对每一个实例来说,检查在表空间中是否存在有剩余空间来满足当天的预期的需要。当数据库中已有的数据是稳定的,数据日增长的平均数也是可以计算出来,最小的剩余空间至少要能满足每天数据的增长。 脚本: select t.table
14、space_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 where t.tablespace_name=f.tab
15、lespace_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
16、 = 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 file_name,status,tablespace_name from dba_data_files where status= AVA
17、ILABLE; 注: 如果查询出记录 ,说明有数据文件不正常 ,必 须及时提出建议 . - 查看数据文件自动扩展属性 SQLselect file_name,status,tablespace_name from dba_data_files where AUTOEXTENSIBLE= YES; 注 :查出记录后 ,并 且 数据文件在 ”/dev/”目录下 ,说明是裸设备 ,则建议 ALTER DATABASE DATAFILE /dev/vx/rdsk/data2dg/volb0082 AUTOEXTEND OFF; F.查看数据库版本及组件 数据库 RDBMS版本 : SQLselect
18、* from v$version; 查看数据库组件版本: SQLcol comp_name format a35; 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 g
19、etif 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) Top: 关注消耗 cpu多的相关进程 Oracle 10g EM监控: