oracle歸檔日志


原創轉載請注明地址

歸檔日志:非活動的重做日志,用來保存所有的重做歷史記錄。

什么時候寫歸檔日志:當數據庫處於archivelog模式並重做日志切換的時候,后台進程ARCH會啟動將重做日志的內容完整的保存到歸檔日志中。

日志操作模式:

         NOARCHIVELOG模式不保留重做日志記錄的歷史,只能保護例程失敗不能保護介質失敗。

                   特點:

                   LGWR進程寫日志時候覆蓋原先的重做日志內容

                   如果日志內容被覆蓋,只能恢復到過去完整備份的點

                   執行數據庫備份時候,必須關閉數據庫

                   執行備份時候,必須備份所有數據文件和控制文件

         ARCHIVELOG模式保留重做日志記錄的歷史,不僅能保護例程失敗而且可以保護介質失敗。

                   特點:

                   出現數據文件丟失損壞,可以防止數據丟失。

                   數據庫處於open狀態的時候,也可以備份數據庫

                   出現數據文件損壞的時候可以在Open狀態下進行恢復

                   執行數據庫恢復的時候,可以進行不完整恢復,基於(SCN,時間點,日志序列號)等等

選擇:如果數據庫用於生產環境並且數據變化頻繁應該采用ARCHIVELOG模式

        

 

查看數據庫的日志模式

         SQL> SELECT LOG_MODE FROM V$DATABASE;

 

         LOG_MODE

         ------------

         ARCHIVELOG

 

顯示歸檔日志信息:

         SQL> archive log list

         Database log mode        Archive Mode

         Automatic archival         Enabled

         Archive destination        USE_DB_RECOVERY_FILE_DEST

         Oldest online log sequence     18

         Next log sequence to archive   20

         Current log sequence             20

 

         SQL> col name format a40

         SQL> select name,sequence#,first_change# from v$archived_log;--顯示歸檔日志信息

 

         NAME                                              SEQUENCE#          FIRST_CHANGE#

         ---------------------------------------- ---------- ------------------

         /home/oracle_11/app/flash_recovery_area/ 13            989430

         ORCL/archivelog/2014_03_07/o1_mf_1_13_9k

         m0lbfq_.arc

 

         /home/oracle_11/app/flash_recovery_area/ 14         1017107

         ORCL/archivelog/2014_04_24/o1_mf_1_14_9o

         l713oz_.arc

 

         /home/oracle_11/app/flash_recovery_area/ 15         1049472

         ORCL/archivelog/2014_04_28/o1_mf_1_15_9o

         wmkc6r_.arc

 

         NAME                                              SEQUENCE#          FIRST_CHANGE#

         ---------------------------------------- ---------- ------------------

 

         /home/oracle_11/app/flash_recovery_area/ 16         1073533

         ORCL/archivelog/2014_04_29/o1_mf_1_16_9o

         z8143l_.arc

 

         /home/oracle_11/app/flash_recovery_area/ 17         1098869

         ORCL/archivelog/2014_05_04/o1_mf_1_17_9p

         dcvm77_.arc

 

         /home/oracle_11/app/flash_recovery_area/ 18         1124400

         ORCL/archivelog/2014_05_05/o1_mf_1_18_9p

 

         NAME                                              SEQUENCE#          FIRST_CHANGE#

         ---------------------------------------- ---------- ------------------

         gnc6gx_.arc

 

         /home/oracle_11/app/flash_recovery_area/ 19         1158501

         ORCL/archivelog/2014_05_05/o1_mf_1_19_9p

         h2d9d9_.arc

 

 

 

         SQL>select destination from v$archive_dest;--歸檔日志位置

         (注意:oracle10默認是把存檔終點設置為USE_DB_RECOVERY_FILE_DEST,所以歸檔日志默認是保存在oracle系統的閃回恢復區(Flash recovery area)的。

         默認的db_recovery_file_dest是2G,由於歸檔日志太大,撐滿了閃回恢復區,啟動數據報ORA-00257錯誤,

         所以一般建議將存檔終點修改為操作系統的適當目錄。)

 

改變數據庫歸檔模式:

                   SHUTDOWN IMMEDIATE

                   STARTUP MOUNT

                   ALTER DATABASE ARCHIVELOG|NOARCHIVELOG

                   ALTER DATABASE OPEN

手動歸檔:

                   ALTER DATABASE ARCHIVELOG MANUAL

                   ALTER SYSTEM ARCHIVELOG ALL|CURRENT

配置歸檔日志進程 :ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3(默認進程數目為2,

                             一般不需要修改該參數,Oracle會根據歸檔情況自動啟動額外的歸檔進程)

 

配置歸檔日志位置:默認歸檔日志位於db_recovery_file_dest 缺省為$ORACLE_BASE/flash_recovey_area

                    配置1-2個:

                        ALTER SYSTEM SET LOG_ARCHIVE_DEST='路徑';

                            ALTER SYSTEM SET LOG_ARCHIVE_duplex_DEST='路徑';

                    配置多個:

                             ALTER SYSTEM SET LOG_ARCHIVE_DEST='';

                             ALTER SYSTEM SET LOG_ARCHIVE_duplex_DEST='';

                             ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='location=路徑'

                             ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='location=路徑'

                             ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='location=路徑'

                             ALTER SYSTEM SET LOG_ARCHIVE_DEST_4='service=standby'

                   ( 對於遠程歸檔位置,SERVICE選項需要指定遠程數據庫的網絡服務名(在tnsnames.ora文件中配置))

歸檔日志命名格式

            設置LOG_ARCHIVE_FORMAT參數,Unix下的缺省設置為LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf

                %s: 日志序列號:

                %S: 日志序列號(帶有前導)

                %t: 重做線程編號.

                %T: 重做線程編號(帶有前導)

                %a: 活動ID號

                %d: 數據庫ID號

                %r RESETLOGS的ID值.

              alter system set log_archive_format = 'arch_%t_%s_%r.arc';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM