10G 歸檔相關

gaopengtttt發表於2008-10-30

轉:http://blog.163.com/z_rx/blog/static/2763637620077811571555/

關於Oracle 10g 歸檔方式的討論:關閉歸檔/啟用閃回恢復區歸檔(Oracle 10g新特性)/啟用類Oracle9i的歸檔
注:在Oracle安裝過程中,如果資料庫是自動建立的,那麼該資料庫最初的存檔模式是由作業系統指定的。通常情況下,歸檔日誌在Oracle資料庫安裝結束後需要手工建立。
環境:Oracle 10g 10.2.0.1.0/Windows 2003 Server SP1
資料字典檢視:v$archived_log,v$log,v$archive_dest,v$database,v$archive_processes,
v$backup_redolog,v$log_histroy,
v$recovery_file_dest.

一、關閉歸檔

1、啟動SQL*PLUS以管理身份登入Oracle資料庫:
SQL> connect / as sysdba

2、關閉資料庫例項
SQL> shutdown immediate

3、備份資料庫:在對資料庫做出任何重要的改變之前,建議備份資料庫以免出現任何問題。

4、啟動一個新的例項並裝載資料庫,但不開啟資料庫:
SQL> startup mount

5、禁止自動存檔
SQL> alter system archive log stop;

6、禁止存檔聯機重做日誌:轉換資料庫的存檔模式。
SQL> alter database noarchivelog ;

7、開啟資料庫:
SQL> alter database open ;

8、察看已連線例項的存檔資訊:
SQL> archive log list ;
資料庫日誌模式             非存檔模式
自動存檔             禁用
存檔終點            E:\oracle\arc
最早的聯機日誌序列     50
當前日誌序列           52

二、啟用閃回恢復區歸檔(Oracle 10g新特性)-Oracle資料庫安裝完成後首次建立自動歸檔日誌
1、啟動SQL*PLUS以管理身份登入Oracle資料庫:
SQL> connect / as sysdba

2、關閉資料庫例項
SQL> shutdown immediate

3、備份資料庫:在對資料庫做出任何重要的改變之前,建議備份資料庫以免出現任何問題。

4、啟動一個新的例項並裝載資料庫,但不開啟資料庫:
SQL> startup mount

5、轉換資料庫的存檔模式為歸檔方式:
SQL> alter database archivelog ;

6、開啟資料庫:
SQL> alter database open ;

7、在資料庫例項啟動後允許自動存檔方式:
SQL> alter system archive log start ;

8、透過資源管理器察看flash_recovery_area的日誌檔案結構快照如下:
10G 歸檔相關
9、關閉flash_recovery_area歸檔
SQL>alter database flashback off ;
10、閃回區預設的儲存空間為2G,修改FLASH_RECOVERY_AREA空間為20GB:
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g ;

三、啟用類Oracle9i的歸檔
1、啟動SQL*PLUS以管理身份登入Oracle資料庫:
SQL> connect / as sysdba

2、關閉資料庫例項
SQL> shutdown immediate

3、備份資料庫:在對資料庫做出任何重要的改變之前,建議備份資料庫以免出現任何問題。

4、啟動一個新的例項並裝載資料庫,但不開啟資料庫:
SQL> startup mount

5、轉換資料庫的存檔模式為歸檔方式:
SQL> alter database archivelog ;

6、開啟資料庫:
SQL> alter database open ;

7、在資料庫例項啟動後允許自動存檔方式:
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;

四、閃回恢復區歸檔與類Oracle9i歸檔的切換
類Oracle9i歸檔到閃回恢復區歸檔:
1、以SYSDBA身份登入Oracle的OEM,依次選擇管理->資料庫配置中的所有初始化引數
2、選擇“當前”的初始化引數,將“在當前正在執行的例項模式下將更改應用於 SPFile。對於靜態引數, 必須重新啟動資料庫。”選中,查詢引數“”、““...,將所有上述的引數值清空,其它引數保持不變,點選應用按鈕後登出退出。
閃回恢復區歸檔類Oracle9i歸檔:同,只應用7、8、9步驟即可。

如果在Oracle安裝結束後先做閃回恢復區歸檔,後改為類Oracle9i歸檔如果手工將原歸檔檔案刪除,則需要以Rman方式來清理失效的日誌記錄資訊,操作步驟如下:
1、以sysdba身份登入到Rman:

C:\>rman nocatalog target \
2、刪除失效的日誌記錄資訊:
RMAN>crosscheck archivelog all;
RMAN>delete expired archivelog all;
查詢那一個聯機重做日誌組需要存檔:
SQL> select group#,archived from sys.v$log ;
    GROUP# ARC
---------- ---
         1 NO
         2 YES
         3 YES
檢視當前的存檔模式:
SQL> select log_mode from sys.v$database ;
LOG_MODE
------------
ARCHIVELOG

加:1、ORACLE 修改歸檔位置語法為alter system set LOG_ARCHIVE_DEST_10="location=e:\archive2" scope=both;注意此處制定位置的方式

        2、log_archive_max_processes 指定啟動的歸檔程式

        3、禁用歸檔目標  ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = DEFER SCOPE=BOTH;

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-483470/,如需轉載,請註明出處,否則將追究法律責任。

相關文章