oracle DBA 日常工作職責

tianya_2011發表於2013-04-11
 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’;
    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
                    
                      執行生成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 add datafile ‘’ size
 
      -- 調整資料物件的儲存引數 或者放在合理儲存引數的本地管理表空間上
 
      next extent
 
      pct_increase
 
    (2)系統健康檢查
 
      檢查以下內容:
 
      init.ora
 
      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 estimate statistics sample 40 percent;
 
      (2). 檢查表空間碎片
 
        根據本月每週的檢查分析資料庫碎片情況,找到相應的解決方法。(SQL)
 
      (3). 尋找資料庫效能調整的機會
 
        比較每天對資料庫效能的監控報告,確定是否有必要對資料庫效能進行調整
 
      (4). 資料庫效能調整
 
        如有必要,進行效能調整
 
      (5). 提出下一步空間管理計劃
 
        根據每週的監控,提出空間管理的改進方法
 
 
 
    四,其他工作:
 
  1、做好備份!!!
 
  2、找環境做災難測試
 
  3、應對領導、使用者等各個方面的需求變更
 
  4、根據新的需求設計新的資料庫架構方案
 
  5、為其他部門提供業務或者指令碼支援
 
  6、考慮儲存的使用
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25373498/viewspace-758221/,如需轉載,請註明出處,否則將追究法律責任。

相關文章