oracle 平常巡检

1、系统日志以及数据库日志巡检
sql

一、系统日志数据库

tail -500f /var/log/messages服务器

查看有无报警或者报错数据结构

二、数据库日志oracle

10G数据库ide

cd $ORACLE_BASE/admin/{SID}/bdump       ---{SID}为数据库实例名性能

tail -500f alert_{SID}.log优化

查看数据库日志有无报错或者告警。     -----以上操做须要登上数据库服务器操做,如无权限就跳过。spa

11G数据库操作系统

cd $ORACLE_BASE/diag/rdbms/{SID}/{SID}/track

tail -500f alert_{SID}.log


2、数据库表空间巡检

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权限的用户或有系统视图查询权限的用户查询


3、数据库分区表维护


一、查出全部含有分区表的表

select * from user_part_tables;

二、检查改分区表的分区是否充足。每一年年末增长一次下一年的分区。

三、如用户许可,能够备份删除掉部分历史数据。


4、数据库备份查询

su - oracle

rman target /

backup list;

查看一下当前数据库的备份集。以及备份日期是否为最新。若是数据库有备份日志。可直接查看备份日志。    ------该操做须要在数据库服务器上执行。


5、导出数据库性能报告。     ------如无权限或者条件不容许。

su - oracle

sqlplus / as sysdba

@?/rdbms/admin/awrrpt 

@?/rdbms/admin/addmrpt

@?/rdbms/admin/ashrpt


6、数据库优化

一、分析导出的数据库性能报告

二、经过报告找出数据库当前性能

可能存在瓶颈以下:内存,数据结构,I/O,SWAP,PARAMETERS,SQL语句以及管理变化。

经过第五步导出的三分报告结合系统报告,总结出数据库当前性能状况。

三、调整方法

方法以下:调整业务功能,调整数据设计,调整流程语句,调整SQL语句,调整物理结构,调整内存分配,调整I/O,调整内存竞争,调整操做系统。

7、查看索引是否失效

select status from DBA_IND_PARTITIONS   --分区索引

select status from dba_indexes  --普通索引

若是状态不是VALID的,那么就是失效的索引

相关文章
相关标签/搜索