查看oracle數據庫是否爲歸檔模式

查看oracle數據庫是否爲歸檔模式

 
 
   [1]
 
  1.select name,log_mode from v$database;
 
  NAME LOG_MODE
 
  ------------------ ------------------------
 
  QUERY NOARCHIVELOG
 
  2.使用ARCHIVE LOG LIST 命令
 
  Database log mode No Archive Mode
 
  Automatic archival Disabled
 
  Archive destination /data/oracle/product/10.2.0/db_1//dbs/arch
 
  Oldest online log sequence 739
 
  Current log sequence 741
 

什麼是Oracle歸檔模式

  Oracle數據庫有聯機重作日誌,這個日誌是記錄對數據庫所作的修改,好比插入,刪除,更新數據等,對這些操做都會記錄在聯機重作日誌裏。通常數據庫至少要有2個聯機重作日誌組。當一個聯機重作日誌組被寫滿的時候,就會發生日誌切換,這時聯機重作日誌組2成爲當前使用的日誌,當聯機重作日誌組2寫滿的時候,又會發生日誌切換,去寫聯機重作日誌組1,就這樣反覆進行。
 
  若是數據庫處於非歸檔模式,聯機日誌在切換時就會丟棄. 而在歸檔模式下,當發生日誌切換的時候,被切換的日誌會進行歸檔。好比,當前在使用聯機重作日誌1,當1寫滿的時候,發生日誌切換,開始寫聯機重作日誌2,這時聯機重作日誌1的內容會被拷貝到另一個指定的目錄下。這個目錄叫作歸檔目錄,拷貝的文件叫歸檔重作日誌。
 
  數據庫使用歸檔方式運行時才能夠進行災難性恢復。
 
  1.歸檔日誌模式和非歸檔日誌模式的區別
 
  非歸檔模式只能作冷備份,而且恢復時只能作徹底備份.最近一次徹底備份到系統出錯期間的數據不能恢復.
 
  歸檔模式能夠作熱備份,而且能夠作增量備份,能夠作部分恢復.
 
  用ARCHIVE LOG LIST 能夠查看當前模式狀態是歸檔模式仍是非歸檔模式.
 

配置數據庫的歸檔模式

  1.改變非歸檔模式到歸檔模式:   1)SQL> conn / as sysdba (以DBA身份鏈接數據庫)   2)SQL> shutdown immediate; (當即關閉數據庫)   3)SQL> startup mount (啓動實例並加載數據庫,但不打開)   4)SQL> alter database archivelog; (更改數據庫爲歸檔模式)   5)SQL> alter database open; (打開數據庫)   6)SQL> alter system archive log start; (啓用自動歸檔)   7)SQL> exit (退出)   作一次徹底備份,由於非歸檔日誌模式下產生的備份日誌對於歸檔模式已經不可用了.這一步非很是重要!   2.改變歸檔模式到非歸檔模式:   1)SQL>SHUTDOWN NORMAL/IMMEDIATE;   2)SQL>STARTUP MOUNT;   3)SQL>ALTER DATABASE NOARCHIVELOG;   4)SQL>ALTER DATABASE OPEN;   3.啓用自動歸檔: LOG_ARCHIVE_START=TRUE   歸檔模式下,日誌文件組不容許被覆蓋(重寫),當日志文件寫滿以後,若是沒有進行手動歸檔,那麼系統將掛起,知道歸檔完成爲止.   這時只能讀而不能寫.   運行過程當中關閉和重啓歸檔日誌進程   SQL>ARCHIVE LOG STOP   SQL>ARCHIVE LOG START   4.手動歸檔: LOG_ARCHIVE_START=FALSE   歸檔當前日誌文件   SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;   歸檔序號爲052的日誌文件   SQL>ALTER SYSTEM ARCHIVE LOG SEQUENCE 052;   歸檔全部日誌文件   SQL>ALTER SYSTEM ARCHIVE LOG ALL;   改變歸檔日誌目標   SQL>ALTER SYSTEM ARCHIVE LOG CURRENT TO '&PATH';   5.歸檔模式和非歸檔模式的轉換   第4步的逆過程.   6.配置多個歸檔進程   Q:何時須要使用多個歸檔進程?   A:若是歸檔過程會消耗大量的時間,那麼能夠啓動多個歸檔進程,這是個動態參數,能夠用ALTER SYSTEM動態修改.   SQL>ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=10;   Oracle9i中最多能夠指定10個歸檔進程   與歸檔進程有關的動態性能視圖   v$bgprocess,v$archive_processes   7.配置歸檔目標,多歸檔目標,遠程歸檔目標,歸檔日誌格式   歸檔目標 LOG_ARCHIVE_DEST_n   本地歸檔目標:   SQL>LOG_ARCHIVE_DEST_1 = "LOCATION=D:ORACLEARCHIVEDLOG";   遠程歸檔目標:   SQL>LOG_ARCHIVE_DEST_2 = "SERVICE=STANDBY_DB1";   強制的歸檔目標,若是出錯,600秒後重試:   SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_4 = "LOCATION=E:ORACLEARCHIVEDLOG MANDATORY REOPEN=600";   可選的歸檔目標,若是出錯,放棄歸檔:   SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_3 = "LOCATION=E:ORACLEARCHIVEDLOG OPTIONAL";   歸檔目標狀態:關閉歸檔目標和打開歸檔目標   關閉歸檔目標1   SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = DEFER   打開歸檔目標2   SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE   歸檔日誌格式   LOG_ARCHIVE_FORMAT   8.獲取歸檔日誌信息   V$ARCHIVED_LOG   V$ARCHIVE_DEST   V$LOG_HISTORY   V$DATABASE   V$ARCHIVE_PROCESSES   ARCHIVE LOG LIST;
相關文章
相關標籤/搜索