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ù)庫(kù)是自動(dòng)創(chuàng)建的,那么該數(shù)據(jù)庫(kù)最初的存檔模式是由操作系統(tǒng)指定的。通常情況下,歸檔日志在Oracle數(shù)據(jù)庫(kù)安裝結(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、啟動(dòng)SQL*PLUS以管理身份登錄Oracle數(shù)據(jù)庫(kù):
SQL> connect / as sysdba
2、關(guān)閉數(shù)據(jù)庫(kù)實(shí)例
SQL> shutdown immediate
3、備份數(shù)據(jù)庫(kù):在對(duì)數(shù)據(jù)庫(kù)做出任何重要的改變之前,建議備份數(shù)據(jù)庫(kù)以免出現(xiàn)任何問題。
4、啟動(dòng)一個(gè)新的實(shí)例并裝載數(shù)據(jù)庫(kù),但不打開數(shù)據(jù)庫(kù):
SQL> startup mount
5、禁止自動(dòng)存檔
SQL> alter system archive log stop;
6、禁止存檔聯(lián)機(jī)重做日志:轉(zhuǎn)換數(shù)據(jù)庫(kù)的存檔模式。
SQL> alter database noarchivelog ;
7、打開數(shù)據(jù)庫(kù):
SQL> alter database open ;
8、察看已連接實(shí)例的存檔信息:
SQL> archive log list ;
數(shù)據(jù)庫(kù)日志模式 非存檔模式
自動(dòng)存檔 禁用
存檔終點(diǎn) E:/oracle/arc
最早的聯(lián)機(jī)日志序列 50
當(dāng)前日志序列 52
二、啟用閃回恢復(fù)區(qū)歸檔(Oracle 10g新特性)-Oracle數(shù)據(jù)庫(kù)安裝完成后首次創(chuàng)建自動(dòng)歸檔日志
1、啟動(dòng)SQL*PLUS以管理身份登錄Oracle數(shù)據(jù)庫(kù):
SQL> connect / as sysdba
2、關(guān)閉數(shù)據(jù)庫(kù)實(shí)例
SQL> shutdown immediate
3、備份數(shù)據(jù)庫(kù):在對(duì)數(shù)據(jù)庫(kù)做出任何重要的改變之前,建議備份數(shù)據(jù)庫(kù)以免出現(xiàn)任何問題。
4、啟動(dòng)一個(gè)新的實(shí)例并裝載數(shù)據(jù)庫(kù),但不打開數(shù)據(jù)庫(kù):
SQL> startup mount
5、轉(zhuǎn)換數(shù)據(jù)庫(kù)的存檔模式為歸檔方式:
SQL> alter database archivelog ;
6、打開數(shù)據(jù)庫(kù):
SQL> alter database open ;
7、在數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)后允許自動(dòng)存檔方式:
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)的存儲(chǔ)空間為2G,修改FLASH_RECOVERY_AREA空間為20GB:
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g ;
三、啟用類Oracle9i的歸檔
1、啟動(dòng)SQL*PLUS以管理身份登錄Oracle數(shù)據(jù)庫(kù):
SQL> connect / as sysdba
2、關(guān)閉數(shù)據(jù)庫(kù)實(shí)例
SQL> shutdown immediate
3、備份數(shù)據(jù)庫(kù):在對(duì)數(shù)據(jù)庫(kù)做出任何重要的改變之前,建議備份數(shù)據(jù)庫(kù)以免出現(xiàn)任何問題。
4、啟動(dòng)一個(gè)新的實(shí)例并裝載數(shù)據(jù)庫(kù),但不打開數(shù)據(jù)庫(kù):
SQL> startup mount
5、轉(zhuǎn)換數(shù)據(jù)庫(kù)的存檔模式為歸檔方式:
SQL> alter database archivelog ;
6、打開數(shù)據(jù)庫(kù):
SQL> alter database open ;
7、在數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)后允許自動(dòng)存檔方式:
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來包含日志序號(hào)作為文件名的一部份,并且使用%t來包含線程號(hào),使用大寫字母(%S和%T)來以0填補(bǔ)文件名左邊的空處。
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ù)庫(kù)配置中的所有初始化參數(shù):
2、選擇“當(dāng)前”的初始化參數(shù),將“在當(dāng)前正在運(yùn)行的實(shí)例模式下將更改應(yīng)用于 SPFile。對(duì)于靜態(tài)參數(shù), 必須重新啟動(dòng)數(shù)據(jù)庫(kù)。”選中,查找參數(shù)“l(fā)og_archive_dest_1”、“l(fā)og_archive_dest_2“...,將所有上述的參數(shù)值清空,其它參數(shù)保持不變,點(diǎn)擊應(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;
●查詢那一個(gè)聯(lián)機(jī)重做日志組需要存檔:
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