要想成為一個優秀的Oracle數據庫管理員,每天都有一定的工作要做,要完成每天的工作量以及要很負責任,你想成為一名合格的Oracle數據庫管理員嗎?那麼就從下面開始學習吧。
Oracle數據庫管理員應按如下方式對Oracle數據庫系統做定期監控:
(1). 每天對Oracle數據庫的運行狀態 , 日志文件 , 備份情況 , 數據庫的空間使用情況 , 系統資源的使用情況進行檢查 , 發現並解決問題。
(2). 每周對數據庫對象的空間擴展情況 , 數據的增長情況進行監控 , 對數據庫做健康檢查 , 對數據庫對象的狀態做檢查。
(3). 每月對表和索引等進行 Analyze, 檢查表空間碎片 , 尋找數據庫性能調整的機會 , 進行數據庫性能調整 , 提出下一步空間管理計劃。對Oracle數據庫狀態進行一次全面檢查。
每天的工作
(1). 確認所有的 INSTANCE 狀態正常
登陸到所有數據庫或例程 , 檢測 Oracle 後台進程 :
$ps –ef|grep ora
(2). 檢查文件系統的使用(剩余空間)。如果文件系統的剩余空間小於 20% ,需刪除不用的文件以釋放空間。
$df –k
(3). 檢查日志文件和 trace 文件記錄 alert 和 trace 文件中的錯誤。
連接到每個需管理的系統
使用' telnet '
對每個數據庫 ,cd 到 bdump 目錄 , 通常是 $Oracle_BASE//bdump
使用 Unix ‘tail' 命令來查看 alert_.log 文件
如果發現任何新的 ORA- 錯誤 , 記錄並解決
(4). 檢查數據庫當日備份的有效性。
對 RMAN 備份方式 :
檢查第三方備份工具的備份日志以確定備份是否成功
對 EXPORT 備份方式 :
檢查 exp 日志文件以確定備份是否成功
對其他備份方式 :
檢查相應的日志文件
(5). 檢查數據文件的狀態記錄狀態不是“ online” 的數據文件,並做恢復。
Select file_name from dba_data_files where status='OFFLINE'
(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
(7). 檢查剩余表空間
SELECT tablespace_name, sum ( blocks ) as free_blk ,
trunc ( sum ( bytes ) /(1024*1024) ) as free_m,
max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks
FROM dba_free_space GROUP BY tablespace_name;
(8). 監控數據庫性能
運行 bstat/estat 生成系統報告
或者使用 statspack 收集統計數據
(9). 檢查數據庫性能,記錄數據庫的 cpu 使用、 IO 、 buffer 命中率等等
使用 vmstat,iOStat,glance,top 等命令
(10). 日常出現問題的處理。
從上文可以看出,一名優秀的Oracle數據庫管理員並不是誰都能當的,每天都要很好的完成一天的工作。您學會了嗎?