查看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;
 
程序員的基礎教程: 菜鳥程序員
相關文章
相關標籤/搜索