歸檔日志即重做日志的備份,使用歸檔日志的目的是為了實作媒體恢複。
日志操作模式
1. Noarchivelog(非歸檔模式)
不儲存重做日志。
不能在open狀态下進行實體備份;要定期執行完全資料庫備份;隻能将資料庫恢複到上次的完全備份點。
2. Archivelog
當進行日志切換時,ARCH程序會将重做日志的内容複制到歸檔日志中。
在歸檔重做日志前,新事務變化不能覆寫舊事務變化。
可以在open 狀态下進行實體備份。
可以将資料庫恢複到失敗前的狀态。
Oracle Redo Log模式
Elapsed: 00:00:00.03
Elapsed: 00:00:00.02
97 rows selected.
Elapsed: 00:00:00.27
NAME FIRST_CHANGE# NEXT_CHANGE# FIRST_TIME NEXT_TIME
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000070_0962644946.0001 4241143 4261261 2018-01-08 22:00:46 2018-01-09 01:07:32
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000071_0962644946.0001 4261261 4328022 2018-01-09 01:07:32 2018-01-09 22:01:12
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000072_0962644946.0001 4328022 4361569 2018-01-09 22:01:12 2018-01-10 09:21:04
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000073_0962644946.0001 4361569 4414925 2018-01-10 09:21:04 2018-01-10 22:00:35
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000074_0962644946.0001 4414925 4438662 2018-01-10 22:00:35 2018-01-11 02:00:38
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000075_0962644946.0001 4438662 4457139 2018-01-11 02:00:38 2018-01-11 10:08:44
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000076_0962644946.0001 4457139 4508210 2018-01-11 10:08:44 2018-01-11 22:22:37
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000077_0962644946.0001 4508210 4552303 2018-01-11 22:22:37 2018-01-12 12:00:36
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000078_0962644946.0001 4552303 4598294 2018-01-12 12:00:36 2018-01-12 22:23:35
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000079_0962644946.0001 4598294 4633267 2018-01-12 22:23:35 2018-01-13 07:06:06
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000080_0962644946.0001 4633267 4673785 2018-01-13 07:06:06 2018-01-13 13:16:27
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000081_0962644946.0001 4673785 4707598 2018-01-13 13:16:27 2018-01-13 18:00:46
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000082_0962644946.0001 4707598 4737114 2018-01-13 18:00:46 2018-01-13 22:16:57
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000083_0962644946.0001 4737114 4760771 2018-01-13 22:16:57 2018-01-14 00:17:34
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000084_0962644946.0001 4760771 4797971 2018-01-14 00:17:34 2018-01-14 05:27:27
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000085_0962644946.0001 4797971 4826958 2018-01-14 05:27:27 2018-01-14 08:47:44
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000086_0962644946.0001 4826958 4865442 2018-01-14 08:47:44 2018-01-14 12:28:02
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000087_0962644946.0001 4865442 4898783 2018-01-14 12:28:02 2018-01-14 16:18:12
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000088_0962644946.0001 4898783 4938985 2018-01-14 16:18:12 2018-01-14 22:08:45
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000089_0962644946.0001 4938985 4967429 2018-01-14 22:08:45 2018-01-15 01:18:50
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000090_0962644946.0001 4967429 5007404 2018-01-15 01:18:50 2018-01-15 07:29:15
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000091_0962644946.0001 5007404 5142845 2018-01-15 07:29:15 2018-01-15 15:53:21
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000092_0962644946.0001 5142845 5249046 2018-01-15 15:53:21 2018-01-15 16:37:31
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000093_0962644946.0001 5249046 5278163 2018-01-15 16:37:31 2018-01-16 01:00:32
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000094_0962644946.0001 5278163 5311651 2018-01-16 01:00:32 2018-01-16 13:00:21
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000095_0962644946.0001 5311651 5332295 2018-01-16 13:00:21 2018-01-16 15:52:10
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000096_0962644946.0001 5332295 5349625 2018-01-16 15:52:10 2018-01-16 22:00:41
C:\APP\ADMINISTRATOR\VIRTUAL\PRODUCT\12.2.0\DBHOME_2\RDBMS\ARC0000000097_0962644946.0001 5349625 5379203 2018-01-16 22:00:41 2018-01-17 07:00:02
28 rows selected.
Elapsed: 00:00:00.08
v$archived_log記錄的資料庫所有的歸檔日志資訊,在删除歸檔日志的時候不能在作業系統下面直接删除以為就可以了,v$archived_log裡面的記錄還是不會變話的,要想删除歸檔日志必須使用rman來删除,這樣oracle資料庫才知道變化,或者使用作業系統指令來删除也是可以的,但還是要使用rman來更新一下expired的日志。
2 name,
3 value,
4 description
5 from v$parameter
6 where name like 'log_archive_dest%'
7 /
63 rows selected.
Elapsed: 00:00:00.16
确定參數
也可以用
NAME TYPE VALUE
log_archive_dest string
log_archive_dest_1 string
log_archive_dest_10 string
log_archive_dest_11 string
log_archive_dest_12 string
log_archive_dest_13 string
log_archive_dest_14 string
log_archive_dest_15 string
log_archive_dest_16 string
log_archive_dest_17 string
log_archive_dest_18 string
log_archive_dest_19 string
log_archive_dest_2 string
log_archive_dest_20 string
log_archive_dest_21 string
log_archive_dest_22 string
log_archive_dest_23 string
log_archive_dest_24 string
log_archive_dest_25 string
log_archive_dest_26 string
log_archive_dest_27 string
log_archive_dest_28 string
log_archive_dest_29 string
log_archive_dest_3 string
log_archive_dest_30 string
log_archive_dest_31 string
log_archive_dest_4 string
log_archive_dest_5 string
log_archive_dest_6 string
log_archive_dest_7 string
log_archive_dest_8 string
log_archive_dest_9 string
log_archive_dest_state_1 string enable
log_archive_dest_state_10 string enable
log_archive_dest_state_11 string enable
log_archive_dest_state_12 string enable
log_archive_dest_state_13 string enable
log_archive_dest_state_14 string enable
log_archive_dest_state_15 string enable
log_archive_dest_state_16 string enable
log_archive_dest_state_17 string enable
log_archive_dest_state_18 string enable
log_archive_dest_state_19 string enable
log_archive_dest_state_2 string enable
log_archive_dest_state_20 string enable
log_archive_dest_state_21 string enable
log_archive_dest_state_22 string enable
log_archive_dest_state_23 string enable
log_archive_dest_state_24 string enable
log_archive_dest_state_25 string enable
log_archive_dest_state_26 string enable
log_archive_dest_state_27 string enable
log_archive_dest_state_28 string enable
log_archive_dest_state_29 string enable
log_archive_dest_state_3 string enable
log_archive_dest_state_30 string enable
log_archive_dest_state_31 string enable
log_archive_dest_state_4 string enable
log_archive_dest_state_5 string enable
log_archive_dest_state_6 string enable
log_archive_dest_state_7 string enable
log_archive_dest_state_8 string enable
log_archive_dest_state_9 string enable
Database log mode Archive Mode
Automatic archival Enabled
Archive destination C:\app\Administrator\virtual\product\12.2.0\dbhome_2\RDBMS
Oldest online log sequence 96
Next log sequence to archive 98
Current log sequence 98
建立Archive Log存放檔案夾

System altered.
Elapsed: 00:00:00.05
log_archive_dest string C:\app\Administrator\virtual\a
rchivelog
存放位址改變
Archive destination C:\app\Administrator\virtual\archivelog
Current log sequence 98
切換日志
Elapsed: 00:00:00.10
還原預設值隻需要将
然後重新開機庫
Oldest online log sequence 99
Next log sequence to archive 101
Current log sequence 101
歸檔格式
log_archiveformat string ARC%S%R.%T
%s:日志序列号
l %S:日志序列号(帶有前導)
l %t:重做線程編号
l %T:重做線程編号(帶有前導)
l %a:活動ID号
l %d:資料庫ID号
l %r:resetlogs的ID值
修改格式 alter system set log_archive_format=''
切換Redo Log
1:alter system checkpoint;
強迫oracle進行以次檢查點,確定所有送出的事務的改變都被寫到磁盤資料檔案上。但此時資料庫必須是打開的狀态
2: alter system archive log all;
手工歸檔所有的日志檔案組
3:alter system archive log current; --建議在mount狀态
手工歸檔活動的日志檔案組
4: alter system switch logfile;
開始寫新的日志檔案組。不管目前日志檔案組是否滿了
在mount狀态修改啟用手動歸檔
alter database archivelog manual;
恢複
alter database archivelog;
狀态查詢 select log_mode from v$database;
設定flashback 相關
與flashback分開
Elapsed: 00:00:00.04
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
Archive destination c:\app\Administrator\virtual\archivelog
Oldest online log sequence 100
Next log sequence to archive 102
Current log sequence 102
2 ;
alter system set db_recovery_file_dest='C:\app\Administrator\virtual\FlashRecovery'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
alter database flashback on
ORA-38706: Cannot turn on FLASHBACK DATABASE logging.
ORA-38709: Recovery Area is not enabled.
Elapsed: 00:00:00.11
Database altered.
Elapsed: 00:00:02.25
db_recovery_file_dest string C:\app\Administrator\virtual\F
lashRecovery
db_recovery_file_dest_size big integer 300M
Oldest online log sequence 101
Next log sequence to archive 103
Current log sequence 103
LOG_ARCHIVE_DEST:指定歸檔檔案存放的路徑,該路徑隻能是本地磁盤,預設為’’。
LOG_ARCHIVE_DEST_n:預設值為’’。Oracle最多支援把日志檔案歸檔到10個地方,n從1到30。歸檔位址可以為本地磁盤,或者網絡裝置。
DB_RECOVERY_FILE_DEST:指定閃回恢複區路徑。
三者關系:
1、 如果設定了DB_RECOVERY_FILE_DEST,就不能設定LOG_ARCHIVE_DEST,預設的歸檔日志存放于DB_RECOVERY_FILE_DEST指定的閃回恢複區中。可以設定LOG_ARCHIVE_DEST_n,如果這樣,那麼歸檔日志不再存放于DB_RECOVERY_FILE_DEST中,而是存放于LOG_ARCHIVE_DEST_n設定的目錄中。如果想要歸檔日志繼續存放在DB_RECOVERY_FILE_DEST中,可以通過如下指令:alter system set log_archive_dest_1=’location=USE_DB_RECOVERY_FILE_DEST’;
2、 如果設定了LOG_ARCHIVE_DEST,就不能設定LOG_ARCHIVE_DEST_n和DB_RECOVERY_FILE_DEST。如果設定了LOG_ARCHIVE_DEST_n,就不能設定LOG_ARCHIVE_DEST。也就是說,LOG_ARCHIVE_DEST參數和DB_RECOVERY_FILE_DEST、LOG_ARCHIVE_DEST_n都不共存。而DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST_n可以共存。
3、 LOG_ARCHIVE_DEST隻能與LOG_ARCHIVE_DUPLEX_DEST共存。這樣可以設定兩個歸檔路徑。LOG_ARCHIVE_DEST設定一個主歸檔路徑,LOG_ARCHIVE_DUPLEX_DEST設定一個從歸檔路徑。所有歸檔路徑必須是本地的。
4、 如果LOG_ARCHIVE_DEST_n設定的路徑不正确,那麼Oracle會在設定的上一級目錄歸檔。比如設定LOG_ARCHIVE_DEST_1=’location=C:\archive1’,而OS中并沒有archive1這個目錄,那麼Oracle會在C槽歸檔。
本文轉自whshurk 51CTO部落格,原文連結:http://blog.51cto.com/shurk/2061883,如需轉載請自行聯系原作者