oracle 日常巡检
一、系统日志以及数据库日志巡检 1、系统日志 tail -500f /var/log/messages 查看有无报警或者报错 2、数据库日志 10G数据库 cd $ORACLE_BASE/admin/{SID}/bdump ---{SID}为数据库实例名 tail -500f alert_{SID}.log 查看数据库日志有无报错或者告警。 -----以上操作需要登上数据库服务器操作,如无权限就跳过。 11G数据库 cd $ORACLE_BASE/diag/rdbms/{SID}/{SID}/track tail -500f alert_{SID}.log 二、数据库表空间巡检 SELECT UPPER(F.TABLESPACE_NAME) "tablespacename", D.TOT_GROOTTE_MB "ALL(G)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "USER(G)", TO_CHAR(ROUND(((D.TOT_GROOTTE_MB - F.TOTAL_BYTES)*100) / DDF.MAX_BYTES,2),'990.99') || '%' "P", DDF.MAX_BYTES "MAX(G)" FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024 * 1024 * 1024),2) TOTAL_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT DD.TABLESPACE_NAME, ROUND(SUM(DD.BYTES) / (1024 * 1024 * 1024),2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) D, (select tablespace_name,sum(case when maxbytes!='0' then maxbytes/1024/1024/1024 else bytes/1024/1024/1024 end) max_bytes from dba_data_files group by tablespace_name) ddf where D.tablespace_name=F.tablespace_name and d.tablespace_name=ddf.tablespace_name ORDER BY 1; 使用率最好保持在80%以下 ------此语句需要DBA权限的用户或有系统视图查询权限的用户查询 三、数据库分区表维护 1、查出所有含有分区表的表 select * from user_part_tables; 2、检查改分区表的分区是否充足。每年年底增加一次下一年的分区。 3、如用户许可,可以备份删除掉部分历史数据。 四、数据库备份查询 su - oracle rman target / backup list; 查看一下当前数据库的备份集。以及备份日期是否为最新。如果数据库有备份日志。可直接查看备份日志。 ------该操作需要在数据库服务器上执行。 五、导出数据库性能报告。 ------如无权限或者条件不允许。 su - oracle sqlplus / as sysdba @?/rdbms/admin/awrrpt @?/rdbms/admin/addmrpt @?/rdbms/admin/ashrpt 六、数据库优化 1、分析导出的数据库性能报告 2、通过报告找出数据库当前性能 可能存在瓶颈如下:内存,数据结构,I/O,SWAP,PARAMETERS,SQL语句以及管理变化。 通过第五步导出的三分报告结合系统报告,总结出数据库当前性能情况。 3、调整方法 方法如下:调整业务功能,调整数据设计,调整流程语句,调整SQL语句,调整物理结构,调整内存分配,调整I/O,调整内存竞争,调整操作系统。 七、查看索引是否失效 select status from DBA_IND_PARTITIONS --分区索引 select status from dba_indexes --普通索引 如果状态不是VALID的,那么就是失效的索引 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |