Oracle 10g 歸檔日志(Archive Log )
2024-08-29 13:53:51
供稿:網(wǎng)友
關(guān)于Oracle 10g 歸檔方式的討論:關(guān)閉歸檔/啟用閃回恢復(fù)區(qū)歸檔(Oracle 10g新特性)/啟用類Oracle9i的歸檔
注:在Oracle安裝過程中,如果數(shù)據(jù)庫是自動創(chuàng)建的,那么該數(shù)據(jù)庫最初的存檔模式是由操作系統(tǒng)指定的。通常情況下,歸檔日志在Oracle數(shù)據(jù)庫安裝結(jié)束后需要手工創(chuàng)建。
環(huán)境:Oracle 10g 10.2.0.1.0/Windows 2003 Server SP1
數(shù)據(jù)字典視圖:v$archived_log,v$log,v$archive_dest,v$database,v$archive_PRocesses,
v$backup_redolog,v$log_histroy,v$recovery_file_dest.
一、關(guān)閉歸檔
1、啟動SQL*PLUS以管理身份登錄Oracle數(shù)據(jù)庫:
SQL> connect / as sysdba
2、關(guān)閉數(shù)據(jù)庫實例
SQL> shutdown immediate
3、備份數(shù)據(jù)庫:在對數(shù)據(jù)庫做出任何重要的改變之前,建議備份數(shù)據(jù)庫以免出現(xiàn)任何問題。
4、啟動一個新的實例并裝載數(shù)據(jù)庫,但不打開數(shù)據(jù)庫:
SQL> startup mount
5、禁止自動存檔
SQL> alter system archive log stop;
6、禁止存檔聯(lián)機重做日志:轉(zhuǎn)換數(shù)據(jù)庫的存檔模式。
SQL> alter database noarchivelog ;
7、打開數(shù)據(jù)庫:
SQL> alter database open ;
8、察看已連接實例的存檔信息:
SQL> archive log list ;
數(shù)據(jù)庫日志模式 非存檔模式
自動存檔 禁用
存檔終點 E:/oracle/arc
最早的聯(lián)機日志序列 50
當(dāng)前日志序列 52
二、啟用閃回恢復(fù)區(qū)歸檔(Oracle 10g新特性)-Oracle數(shù)據(jù)庫安裝完成后首次創(chuàng)建自動歸檔日志
1、啟動SQL*PLUS以管理身份登錄Oracle數(shù)據(jù)庫:
SQL> connect / as sysdba
2、關(guān)閉數(shù)據(jù)庫實例
SQL> shutdown immediate
3、備份數(shù)據(jù)庫:在對數(shù)據(jù)庫做出任何重要的改變之前,建議備份數(shù)據(jù)庫以免出現(xiàn)任何問題。
4、啟動一個新的實例并裝載數(shù)據(jù)庫,但不打開數(shù)據(jù)庫:
SQL> startup mount
5、轉(zhuǎn)換數(shù)據(jù)庫的存檔模式為歸檔方式:
SQL> alter database archivelog ;
6、打開數(shù)據(jù)庫:
SQL> alter database open ;
7、在數(shù)據(jù)庫實例啟動后允許自動存檔方式:
SQL> alter system archive log start ;
8、通過資源管理器察看Flash_recovery_area的日志文件結(jié)構(gòu)快照如下:
9、關(guān)閉flash_recovery_area歸檔:
SQL>alter database flashback off ;
10、閃回區(qū)默認(rèn)的存儲空間為2G,修改FLASH_RECOVERY_AREA空間為20GB:
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g ;
三、啟用類Oracle9i的歸檔
1、啟動SQL*PLUS以管理身份登錄Oracle數(shù)據(jù)庫:
SQL> connect / as sysdba
2、關(guān)閉數(shù)據(jù)庫實例
SQL> shutdown immediate
3、備份數(shù)據(jù)庫:在對數(shù)據(jù)庫做出任何重要的改變之前,建議備份數(shù)據(jù)庫以免出現(xiàn)任何問題。
4、啟動一個新的實例并裝載數(shù)據(jù)庫,但不打開數(shù)據(jù)庫:
SQL> startup mount
5、轉(zhuǎn)換數(shù)據(jù)庫的存檔模式為歸檔方式:
SQL> alter database archivelog ;
6、打開數(shù)據(jù)庫:
SQL> alter database open ;
7、在數(shù)據(jù)庫實例啟動后允許自動存檔方式:
SQL> alter system set log_archive_start=true scope=spfile;
8、指定歸檔日志文件的存放位置并記錄到SPFILE:
SQL> alter system set log_archive_dest_1='location=E:/oracle/arc' scope=spfile;
9、指定歸檔日志文件名命名格式:使用%s來包含日志序號作為文件名的一部份,并且使用%t來包含線程號,使用大寫字母(%S和%T)來以0填補文件名左邊的空處。
The following variables can be used in the format:
%s log sequence number
%S log sequence number, zero filled
%t thread number
%T thread number, zero filled
SQL> alter system set log_archive_format='BE%S_%R_%T.arc' scope=spfile;
四、閃回恢復(fù)區(qū)歸檔與類Oracle9i歸檔的切換
類Oracle9i歸檔到閃回恢復(fù)區(qū)歸檔:
1、以SYSDBA身份登錄Oracle的OEM,依次選擇管理->數(shù)據(jù)庫配置中的所有初始化參數(shù):
2、選擇“當(dāng)前”的初始化參數(shù),將“在當(dāng)前正在運行的實例模式下將更改應(yīng)用于 SPFile。對于靜態(tài)參數(shù), 必須重新啟動數(shù)據(jù)庫。”選中,查找參數(shù)“l(fā)og_archive_dest_1”、“l(fā)og_archive_dest_2“...,將所有上述的參數(shù)值清空,其它參數(shù)保持不變,點擊應(yīng)用按鈕后注銷退出。
閃回恢復(fù)區(qū)歸檔到類Oracle9i歸檔:同三,只應(yīng)用7、8、9步驟即可。
●如果在Oracle安裝結(jié)束后先做閃回恢復(fù)區(qū)歸檔,后改為類Oracle9i歸檔,如果手工將原歸檔文件刪除,則需要以Rman方式來清理失效的日志記錄信息,操作步驟如下:
1、以sysdba身份登錄到Rman:
C:/>rman nocatalog target /
2、刪除失效的日志記錄信息:
RMAN>crosscheck archivelog all;
RMAN>delete expired archivelog all;
●查詢那一個聯(lián)機重做日志組需要存檔:
SQL> select group#,archived from sys.v$log ;
GROUP# ARC
---------- ---
1 NO
2 YES
3 YES
●查看當(dāng)前的存檔模式:
SQL> select log_mode from sys.v$database ;
LOG_MODE
------------
ARCHIVELOG