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的,那麼就是失效的索引




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章