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