標籤:des style io 使用 ar strong 檔案 資料 art
一 什麼是Oracle歸檔模式?
Oracle資料庫有聯機重做日誌,這個日誌是記錄對資料庫所做的修改,比如插入,刪除,更新資料等,對這些操作都會記錄在聯機重做日誌裡。一般資料庫至少要有2個聯機重做日誌組。當一個聯機重做日誌組被寫滿的時候,就會發生日誌切換,這時聯機重做日誌組2成為當前使用的日誌,當聯機重做日誌組2寫滿的時候,又會發生日誌切換,去寫聯機重做日誌組1,就這樣反覆進行。
如果資料庫處於非歸檔模式,聯機日誌在切換時就會丟棄. 而在歸檔模式下,當發生日誌切換的時候,被切換的日誌會進行歸檔。比如,當前在使用聯機重做日誌1,當1寫滿的時候,發生日誌切換,開始寫聯機重做日誌2,這時聯機重做日誌1的內容會被拷貝到另外一個指定的目錄下。這個目錄叫做歸檔目錄,拷貝的檔案叫歸檔重做日誌。
資料庫使用歸檔方式運行時才可以進行災難性恢複。
1.歸檔記錄模式和非歸檔記錄模式的區別
非歸檔模式只能做冷備份,並且恢複時只能做完全備份.最近一次完全備份到系統出錯期間的資料不能恢複.
歸檔模式可以做熱備份,並且可以做增量備份,可以做部分恢複.
用ARCHIVE LOG LIST 可以查看期模式狀態時歸檔模式還是非歸檔模式
二 查看oracle資料庫是否為歸檔模式
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
三 設定資料庫的歸檔模式
1、將Oracle資料庫設定為歸檔模式
1)sql>shutdown normal/immediate;
2)sql>startup mount;
3)sql>alter database archivelog;
4)sql>alter database open;
5)archive log list;
注意:show parameter log_archive_dest查看歸檔日誌的存放位置。
2、將Oracle資料庫設定為非歸檔模式
1)、關閉資料庫
shutdown immediate
2)、再後面把資料庫啟動到mount的模式
startup mount
3)、關閉flash閃回資料庫模式,如果不關閉的話,在後面關閉歸檔日誌的時候就會出現討厭的ora-38774錯誤。
alter database flashback off
4)、接著把資料庫改為非歸檔模式
alter database noarchivelog;
5)、都修改好了以後,然後開啟資料庫
alter database open;
6)、察看一下歸檔日誌的空間大小
select * from v$recovery_file_dest;
接著看一下log日誌的狀態
select * from v$log;
再看一下閃回日誌使用狀況
select * from v$flash_recovery_area_usage;
Oracle歸檔模式和非歸檔模式