熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

OARCLE數據庫歸檔模式的設置

2013-11-13 22:18:54  來源: Oracle 
在oracle數據庫的開發環境和測試環境中數據庫的日志模式和自動歸檔模式一般都是不設置的這樣有利於系統應用的調整也免的生成大量的歸檔日志文件將磁盤空間大量的消耗但在系統上線成為生產環境時將其設置為日志模式並自動歸檔就相當重要了因為這是保證系統的安全性有效預防災難的重要措施這樣通過定時備份數據庫和在兩次備份間隔之間的日志文件可以有效的恢復這段時間的任何時間點的數據可以在很多時候挽回或最大可能的減少數據丟失雖然ORACLE數據庫的日志模式和自動歸檔設置並不復雜但其中的一些概念和操作過程還是容易混淆的現在根據本人的經驗分析介紹如下所用環境為UNIX(HPUXSOLARIESAIXTRUUNIX)和ORACLE
  
  一 要使OARCLE數據庫進行日志的自動歸檔需要做兩方面的事情一是數據庫日志模式的設置(database log mode可為Archive Mode和No Archive Mode)另外就是自動歸檔模式設置(Automatic archival可為Enabled和Disabled)
  
  二 如何查看數據庫的現行日志和自動歸檔模式的設置

  
  可用archive log list命令來查看
  
  例如
  
  運行在日志自動歸檔模式下的數據庫系統查看結果如下(一般是生產環境)
  
  SVRMGR> archive log list
  
  Database log mode       Archive Mode
  
  Automatic archival       Enabled
  
  Archive destination      /backup/archivelog
  
  Oldest online log sequence  
  
  Next log sequence to archive 
  
  Current log sequence     
  
  沒有啟動數據庫日志模式和自動歸檔的數據庫系統查看結果如下(一般是測試環境)
  
  SVRMGR> archive log list
  
  Database log mode       No Archive Mode
  
  Automatic archival       Disabled
  
  Archive destination      /u/app/oracle/product//dbs/arch
  
  Oldest online log sequence  
  
  Current log sequence     
  
  三 數據庫日志模式的設置
  
  在創建數據庫時可以在CREATE DATABASE 語句中指定數據庫的日志模式假如沒有指明則缺省為NOARCHIVELOG模式由於如果在創建數據庫時指明是Archive Mode的話會增加約%的創建時間而在以後啟動INSTANCE時再設置的話一般只用去幾秒的時間所以一般在創建數據庫時是不設置為ARCHIVE MODE的
  
  如要確定一系統數據庫的日志模式設置除了(二)中的方法外也可以執行如下操作查看
  
  SVRMGR> Select * from V$DATABASE
  
  NAME CREATED      LOG_MODE   CHECKPOINT ARCHIVE_CH
  
      
  
  ORCL // :: NOARCHIVELOG    
  
  將數據庫的日志模式設置切換(Archive Mode 和No Archive Mode之間的切換)的步驟和操作如下
  
   關閉運行的數據庫實例
  
  SVRMGRL> shutdown
  
  在進行日志模式切換之前必須將運行的數據庫正常關閉
  
   備份數據庫
  
  該備份跟以後產生的日志一起用於將來的災難恢復(很重要如要改為歸檔日志模式沒有這個數據庫備份僅有日志文件是無法從該時間點恢復的)
  
   啟動數據庫實例到mount狀態但不要打開
  
  SVRMGRL> startup mount
  
  注意如果是使用OPS的話請只打開一個數據庫實例進行模式切換操作
  
   切換數據庫日志模式
  
  SVRMGRL> alter database archivelog;(設置數據庫為歸檔日志模式)
  
  或
  
  SVRMGRL> alter database noarchivelog;(設置數據庫為歸檔日志模式)
  
   打開數據庫
  
  SVRMGRL> alter database open;
  
   確認數據庫現在處於歸檔日志模式
  
  SVRMGRL> archive log list;
  
  Database log mode        Archive Mode
  
  Automatic archival       Enabled
  
  Archive destination       for example: $ORACLE_HOME/dbs/arch
  
  Oldest online log sequence  
  
  Next log sequence       
  
  Current log sequence      
  
   將這個時間點的redo logs歸檔
  
  SVRMGRL> archive log all;
  
   確認新產生的日志文件已在相應的歸檔目錄下面
  
  四 自動歸檔模式設置(Automatic archival可為Enabled和Disabled)在該模式下數據庫啟動一個arch進程專門負責將redo logs寫到系統歸檔設備的相應目錄下
  

  在數據庫的參數文件中設置參數(一般是在$ORACLE_HOME/dbs/init*ora文件中)
  
  LOG_ARCHIVE_START=
  
  LOG_ARCHIVE_DEST=
  
  LOG_ARCHIVE_FORMAT=
  
  LOG_ARCHIVE_START:
  
  如要求自動歸檔的話則設為TRUE如要求為非自動歸檔的話則設為FALSE
  
  LOG_ARCHIVE_DEST:
  
  該參數設定了archive logs 歸檔存放的路徑
  
  LOG_ARCHIVE_FORMAT:
  
  該參數設定了archive logs的命名格式 例如如將格式設為: arch%sarc
  
  log 文件將為: archarc archarc archarc
  
  這幾個參數設置只有在數據庫實例啟動前設置才能生效如果在數據庫運行中進行設置要使其生效必須重起數據庫
  
  如果數據庫正在運行中不能即刻重起要設置其為自動歸檔模式則做如下操作
  
  SVRMGRL> ALTER SYSTEM ARCHIVE LOG START;
  
  如要設置其為非自動歸檔模式(取消自動歸檔)
  
  SVRMGRL> ALTER SYSTEM ARCHIVE LOG STOP;
  
  但如果數據庫重起後給語句修改的結果就失效了自動歸檔的設置還是按照系統參數文件中的LOG_ARCHIVE_START的值來設置
  
  五 幾種設置情況
  
  () Database log mode       Archive Mode
  
  Automatic archival       Enabled
  
  這是在大部分生產環境中的ORACLE數據庫日志及歸檔模式設置這種情況下做好數據庫的定期備份(有熱備和冷備)和歸檔日志備份可有效的將數據庫恢復到有歸檔日志的全部時間點
  
  () Database log mode       Archive Mode
  
  Automatic archival       Disabled
  
  這種情況下數據庫不能自動歸檔需要進行手工歸檔如果所有在線日志都寫滿了又沒有的及時進行手工歸檔的話由於LGWR沒有可用的在線日志可寫數據庫將會掛在這兒只有進行手工歸檔後有可用的在線日志後才能繼續在生產環境中應該避免這種情況
  
  手工歸檔操作如下
  
  SVRMGRL> ALTER SYSTEM ARCHIVE LOG ALL;
  
  數據庫將會把在線日志進行歸檔處理
  
  () Database log mode       NO Archive Mode
  
  Automatic archival       Enabled
  
  有些相對欠缺經驗的管理員在進行設置時只在數據庫參數文件中設置了LOG_ARCHIVE_START=TRUE然後在數據庫起來後查看到ARCH歸檔進程已經起來了可是盡管ORACLE已經作了幾次日志切換但還是沒有歸檔日志這時的設置就是這種情況如果數據庫不是處在ARVHIVELOG模式redolog 還是不會被歸檔
  
  () Database log mode       NO Archive Mode
  
  Automatic archival       Disabled
  
  這種設置是剛安裝的oracle數據庫的缺省設置開發環境也大部分如此即沒有進行歸檔
From:http://tw.wingwit.com/Article/program/Oracle/201311/18755.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.