程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 10g歸檔日志

Oracle 10g歸檔日志

編輯:Oracle數據庫基礎

現在就Oracle 10g歸檔方式討論:關閉歸檔/啟用閃回恢復區歸檔(Oracle 10g新特性)/啟用類Oracle9i的歸檔。注:在Oracle安裝過程中,如果數據庫是自動創建的,那麼該數據庫最初的存檔模式是由操作系統指定的。通常情況下,Oracle 10g歸檔日志在Oracle 數據庫安裝結束後需要手工創建。

環境:Oracle 10g 10.2.0.1.0/Windows 2003 Server SP1

  1. v$archived_log,v$log,v$archive_dest,v$database,v$archive_processes,
  2. v$backup_redolog,v$log_histroy,v$recovery_file_dest.

一、關閉歸檔

1、啟動SQL*PLUS以管理身份登錄Oracle數據庫:

  1. SQL> connect / as sysdba

2、關閉數據庫實例 

  1. SQL> shutdown immediate

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

4、啟動一個新的實例並裝載數據庫,但不打開數據庫:

  1. SQL> startup mount

5、禁止自動存檔

  1. SQL> alter system archive log stop;

6、禁止存檔聯機重做日志:轉換數據庫的存檔模式。

  1. SQL> alter database noarchivelog ;

7、打開數據庫:

  1.  SQL> alter database open ;

8、察看已連接實例的存檔信息:

  1.  SQL> archive log list ;

數據庫日志模式 非存檔模式
自動存檔 禁用
存檔終點 E:Oraclearc
最早的聯機日志序列 50
當前日志序列 52

二、啟用閃回恢復區歸檔(Oracle 10g新特性)-Oracle數據庫安裝完成後首次創建自動歸檔日志

1、啟動SQL*PLUS以管理身份登錄Oracle數據庫:

  1. SQL> connect / as sysdba

2、關閉數據庫實例

  1. SQL> shutdown immediate

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

4、啟動一個新的實例並裝載數據庫,但不打開數據庫: 

  1. SQL> startup mount

5、轉換數據庫的存檔模式為歸檔方式:

  1. SQL> alter database archivelog ;

6、打開數據庫:

  1. SQL> alter database open ;

7、在數據庫實例啟動後允許自動存檔方式:

  1.  SQL> alter system archive log start ;

8、通過資源管理器察看Flash_recovery_area的日志文件結構快照如下:

9、關閉Flash_recovery_area歸檔:

  1. SQL>alter database Flashback off ;

10、閃回區默認的存儲空間為2G,修改Flash_RECOVERY_AREA空間為20GB:

  1. SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g ;


10g默認的歸檔日志存放地方/

三、啟用類Oracle9i的歸檔(自己創建歸檔日志路徑)

1、啟動SQL*PLUS以管理身份登錄Oracle數據庫:

  1. SQL> connect / as sysdba

2、關閉數據庫實例

  1. SQL> shutdown immediate

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

4、啟動一個新的實例並裝載數據庫,但不打開數據庫:

  1. SQL> startup mount

5、轉換數據庫的存檔模式為歸檔方式

  1. SQL> alter database archivelog ;

6、打開數據庫:

  1. SQL> alter database open ;

7、在數據庫實例啟動後允許自動存檔方式:

  1.  SQL> alter system set log_archive_start=true scope=spfile;

8、指定歸檔日志文件的存放位置並記錄到SPFILE:

  1. SQL> alter system set log_archive_dest_1=' location=E:\Oracle\arc' scope=spfile;

9、指定歸檔日志文件名命名格式:使用%s來包含日志序號作為文件名的一部份,並且使用%t來包含線程號,使用大寫字母(%S和%T)來以0填 補文件名左邊的空處。

  1. The following variables can be used in the format:
  2. %s log sequence number
  3. %S log sequence number, zero filled
  4. %t thread number
  5. %T thread number, zero filled
  6. SQL> alter system set log_archive_format='BE%S_%R_%T.arc' scope=spfile;

四、閃回恢復區歸檔與類Oracle9i歸檔的切換
類Oracle9i歸檔到閃回恢復區歸檔:
1、以SYSDBA身份登錄Oracle的OEM,依次選擇管理->數據庫配置中的所有初始化參數:
2、選擇“當前”的初始化參數,將“在當前正在運行的實例模式下將更改應用於 SPFile。對於靜態參數, 必須重新啟動數據庫。”選中,查找參數“log_archive_dest_1”、“log_archive_dest_2“...,將所有上述的參數值 清空,其它參數保持不變,點擊應用按鈕後注銷退出。

閃回恢復區歸檔到類Oracle9i歸檔:同三,只應用7、8、9步驟即可。

●如果在Oracle安裝結束後先做閃回恢復區歸檔,後改為類Oracle9i歸檔,如果手工將原歸檔文件刪除,則需要以Rman方式來清理失 效的日志記錄信息,操作步驟如下:

1、以sysdba身份登錄到Rman:

  1. C:>rman nocatalog target 

2、刪除失效的日志記錄信息:

  1. RMAN>crosscheck archivelog all;
  2. RMAN>delete expired archivelog all;

●查詢那一個聯機重做日志組需要存檔:

  1. SQL> select group#,archived from sys.v$log ;
  2. GROUP# ARC
  3. ---------- ---
  4. 1 NO
  5. 2 YES
  6. 3 YES

●查看當前的存檔模式:

  1. SQL> select log_mode from sys.v$database ;
  2. LOG_MODE
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved