oracle DBA 日常工作職責
ORACLE資料庫管理員應按如下方式對ORACLE資料庫系統做定期監控:
一,每天對ORACLE資料庫的執行狀態,日誌檔案,備份情況,資料庫的磁碟空間使用情況,系統資源的使用情況進行檢查,發現並解決問題。
(1).確認所有的INSTANCE狀態正常,登陸到所有資料庫或例程,檢測ORACLE後臺程式: $ps –ef|grep ora_
(2). 檢查檔案系統的使用(剩餘空間)。如果檔案系統的剩餘空間小於20%,需刪除不用的檔案以釋放空間。 清理空間時請務必小心! $df –k 或 bdf
(3). 檢查日誌檔案和trace檔案記錄alert和trace檔案中的錯誤。
連線到每個需管理的系統對每個資料庫,cd 到bdump目錄,通常是$ORACLE_BASE/admin/$ORACLE_SID/bdump
使用 Unix tail 命令來檢視alert_.log檔案如果發現任何新的ORA- 錯誤,記錄並解決.
(4). 檢查資料庫當日備份的有效性。
對RMAN備份方式: 檢查第三方備份工具的備份日誌以確定備份是否成功
對EXPORT備份方式: 檢查exp日誌檔案以確定備份是否成功
對其他備份方式: 檢查相應的日誌檔案
(5). 檢查資料檔案的狀態記錄狀態不是“online”的資料檔案,並考慮是否需要做恢復。
Select file_name ,status from dba_data_files where status=‘OFFLINE’;
一,每天對ORACLE資料庫的執行狀態,日誌檔案,備份情況,資料庫的磁碟空間使用情況,系統資源的使用情況進行檢查,發現並解決問題。
(1).確認所有的INSTANCE狀態正常,登陸到所有資料庫或例程,檢測ORACLE後臺程式: $ps –ef|grep ora_
(2). 檢查檔案系統的使用(剩餘空間)。如果檔案系統的剩餘空間小於20%,需刪除不用的檔案以釋放空間。 清理空間時請務必小心! $df –k 或 bdf
(3). 檢查日誌檔案和trace檔案記錄alert和trace檔案中的錯誤。
連線到每個需管理的系統對每個資料庫,cd 到bdump目錄,通常是$ORACLE_BASE/admin/$ORACLE_SID/bdump
使用 Unix tail 命令來檢視alert_
(4). 檢查資料庫當日備份的有效性。
對RMAN備份方式: 檢查第三方備份工具的備份日誌以確定備份是否成功
對EXPORT備份方式: 檢查exp日誌檔案以確定備份是否成功
對其他備份方式: 檢查相應的日誌檔案
(5). 檢查資料檔案的狀態記錄狀態不是“online”的資料檔案,並考慮是否需要做恢復。
Select file_name ,status from dba_data_files where status=‘OFFLINE’;
v$recover_file
(6). 檢查表空間的使用情況
SELECT tablespace_name, max_m, count_blocks free_blk_cnt, sum_free_m,to_char(100*sum_free_m/sum_m, '99.99') || '%' AS pct_free
FROM ( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name),
( SELECT tablespace_name AS fs_ts_name, max(bytes)/1024/1024 AS max_m, count(blocks) AS count_blocks, sum(bytes/1024/1024)
AS sum_free_m FROM dba_free_space GROUP BY tablespace_name )
WHERE tablespace_name = fs_ts_name
order by pct_free;
System: 字典空間,不能被損壞
Sysaux: 10g高併發,或者系統繁忙時候,會造成system爭用,可以將工具放在sysaux中減輕system的壓力,sysaux不影響系統(影響效能)
Example:
Users: 10g 使用者資料從system剝離出來
Undo: dml,dql把資料快照到此,資料提交之後立即消失(使用者回覆)
解決方法:設定預警、設定表空間為自動增長、新增資料檔案
(7). 監控資料庫效能
執行statspack生成系統報告 (oracle9i)
1、使用statspack的要求 job_queue_processes >0 ; timed_statistics =true
2、statspack儲存統計資訊,需要建立一個足夠大的表空間。
create tablespace perfstat datafile '/u01/perfstat.dbf' size 500m extent management local;
3、執行安裝指令碼,安裝statspack
cd $ORACLE_HOME/rdmbs/admin/spcreate.sql 以sp開頭的都是statspack的指令碼
4、收集統計資訊: exec statspack.snap ; exec statspack.snap
5、 生成statspack報告 @spreport.sql
(6). 檢查表空間的使用情況
SELECT tablespace_name, max_m, count_blocks free_blk_cnt, sum_free_m,to_char(100*sum_free_m/sum_m, '99.99') || '%' AS pct_free
FROM ( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name),
( SELECT tablespace_name AS fs_ts_name, max(bytes)/1024/1024 AS max_m, count(blocks) AS count_blocks, sum(bytes/1024/1024)
AS sum_free_m FROM dba_free_space GROUP BY tablespace_name )
WHERE tablespace_name = fs_ts_name
order by pct_free;
System: 字典空間,不能被損壞
Sysaux: 10g高併發,或者系統繁忙時候,會造成system爭用,可以將工具放在sysaux中減輕system的壓力,sysaux不影響系統(影響效能)
Example:
Users: 10g 使用者資料從system剝離出來
Undo: dml,dql把資料快照到此,資料提交之後立即消失(使用者回覆)
解決方法:設定預警、設定表空間為自動增長、新增資料檔案
(7). 監控資料庫效能
執行statspack生成系統報告 (oracle9i)
1、使用statspack的要求 job_queue_processes >0 ; timed_statistics =true
2、statspack儲存統計資訊,需要建立一個足夠大的表空間。
create tablespace perfstat datafile '/u01/perfstat.dbf' size 500m extent management local;
3、執行安裝指令碼,安裝statspack
cd $ORACLE_HOME/rdmbs/admin/spcreate.sql 以sp開頭的都是statspack的指令碼
4、收集統計資訊: exec statspack.snap ; exec statspack.snap
5、 生成statspack報告 @spreport.sql
執行生成AWR報告(oracle10g及以上)
sql> @$ORACLE_HOME/rdbms/admin/awrrpt.sql
(8). 檢查資料庫效能,記錄資料庫的cpu使用、IO、buffer命中率等等
使用vmstat,iostat,sar,top等命令
VMstat顯示虛擬記憶體的使用狀態,
iostat顯示cpu和裝置的輸入輸出統計資訊的狀態,
sar收集並顯示系統中的動態活動資訊,
top動態顯示linux中的系統任務。
二,每週對資料庫物件的空間擴充套件情況,資料的增長情況進行監控,對資料庫做健康檢查,對資料庫物件的狀態做檢查。
(1). 監控資料庫物件的空間擴充套件情況
根據本週每天的檢查情況找到空間擴充套件很快的資料庫物件,並採取相應的措施
-- 刪除歷史資料
-- 擴表空間
alter tablespace
-- 調整資料物件的儲存引數 或者放在合理儲存引數的本地管理表空間上
next extent
pct_increase
(2)系統健康檢查
檢查以下內容:
init
controlfile
redo log file
archiving
sort area size
tablespace(system,temporary,tablespace fragment)
datafiles(autoextend,location)
object(number of extent,next extent,index)
rollback segment
logging &tracing(alert.log,max_dump_file_size,sqlnet)
(3)檢查無效的資料庫物件
SELECT owner, object_name, object_type FROM dba_objects WHERE status='INVALID'
(4)檢查不起作用的約束
SELECT owner, constraint_name, table_name, constraint_type, status FROM dba_constraints WHERE status = 'DISABLED' AND constraint_type = 'P'
(5)檢查無效的trigger
SELECT owner, trigger_name, table_name, status FROM dba_triggers WHERE status = 'DISABLED'
三, 每月對錶和索引等進行Analyze,檢查表空間碎片,尋找資料庫效能調整的機會,進行資料庫效能調整,提出下一步空間管理計劃。對ORACLE資料庫狀態進行一次全面檢查。
(1)如果使用CBO(在10g中這部分工作被簡化了)
analyze Tables/Indexes/Cluster
analyze table
(2). 檢查表空間碎片
根據本月每週的檢查分析資料庫碎片情況,找到相應的解決方法。(SQL)
(3). 尋找資料庫效能調整的機會
比較每天對資料庫效能的監控報告,確定是否有必要對資料庫效能進行調整
(4). 資料庫效能調整
如有必要,進行效能調整
(5). 提出下一步空間管理計劃
根據每週的監控,提出空間管理的改進方法
四,其他工作:
1、做好備份!!!
2、找環境做災難測試
3、應對領導、使用者等各個方面的需求變更
4、根據新的需求設計新的資料庫架構方案
5、為其他部門提供業務或者指令碼支援
6、考慮儲存的使用
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25373498/viewspace-758221/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle DBA的職責Oracle
- dba職責
- 專職DBA的日常工作
- DBA職責和目標
- DBA的日常工作
- Linux運維職責是什麼?日常工作內容有哪些?Linux運維
- ORACLE 資料庫管理員的職責(轉)Oracle資料庫
- QA的職責
- oracle DBA 角色重建Oracle
- Oracle vs PostgreSQL DBA(21)- Oracle VPDOracleSQL
- IT職場:如何在日常工作中使用PDCA?
- DBA ORACLE連線操作Oracle
- 單一職責原則
- 前端架構的職責前端架構
- 網站最佳化崗位職責描述,明確職責,提升工作效率!網站
- Oracle vs PostgreSQL DBA(22)- Oracle VPD#2OracleSQL
- 行為性職責鏈模式模式
- 保持類的單一職責
- 設計模式 - 單一職責設計模式
- 實驗15:職責鏈模式模式
- 設計模式-職責鏈模式設計模式
- oracle DBA 巡檢專案Oracle
- 是按技術職責還是按領域職責劃分模組包? - Reddit
- 清潔程式碼:職責 — Janos Pasztor
- 論測試工程師的職責工程師
- 1.2 資料庫管理員職責資料庫
- 設計模式之-職責鏈模式設計模式
- 單一職責原則筆記筆記
- 單一職責原則詳解
- 命令查詢職責分離 - CQRS
- 設計模式之【職責鏈模式】設計模式
- 《Oracle DBA手記》- 一書出版Oracle
- 【DBA】Oracle DBA安全之道(規避風險,堅守底線)Oracle
- 設計模式系列 12– 職責鏈模式設計模式
- JS設計模式五:職責鏈模式JS設計模式
- 3.1.2 CDB和PDB的職責分離
- Javascript設計模式之職責鏈模式JavaScript設計模式
- 簡說設計模式——職責鏈模式設計模式
- 設計模式-職責鏈模式(Chain of Responsibility)設計模式AI