oracle歸檔日誌管理

2021-06-20 21:22:21 字數 4861 閱讀 2791

oracle歸檔日誌管理

tony

歸檔日誌(archive log)是非活動的重做日誌備份.通過使用歸檔日誌,可以保留所有重做歷史記錄,當資料庫處於archivelog模式並進行日誌切換式,後台程序arch會將重做日誌的內容儲存到歸檔日誌中.當資料庫出現介質失敗時,使用資料檔案備份,歸檔日誌和重做日誌可以完全恢復資料庫.

日誌操作模式:archivelog noarchivelog

1,改變日誌操作模式:

檢查當前日誌操作模式

select log_mode from v$database;

關閉資料庫,然後裝載資料庫

shutdown immediate

startup mount

改變日誌操作模式,然後開啟資料庫

alter database archivelog;

alter database open;

2,執行手工歸檔

從oracle database 10g開始,當將日誌操作模式轉變未archivelog模式時,oracle會自動啟動arch程序.如果要使用手工歸檔.那麼在改變日誌操作模式時必須使用命令alter database archivelog manual.

需要注意,使用手工歸檔方式,資料庫管理員必須手工執行歸檔命令.如果沒有執行手工歸檔命令,日誌組的原有內容將不能被覆蓋.alter database archivelog manual 命令是為了與先前的版本相容而保留的,.將來的oracle版本會淘汰該命令,使用手工歸檔方式是,資料庫管理員可以執行以下命令歸檔重做日誌:

alter system archivelog all;

3,配置歸檔程序

初始化引數log_archive_max_processes用於指定例程初始啟動的最大歸檔程序個數,當將資料庫轉變為archivelog模式時,預設情況下oracle會自動啟動兩個歸檔程序.通過改變初始化引數log_archive_max_process的值,可以動態地增加或降低歸檔程序的個數:

alter system set log_archive_max_processes=3;

配置歸檔位置和檔案格式

當資料庫處於archivelog模式時,如果進行日誌切換,後台程序將自動生成歸檔日誌,歸檔日誌的預設位置為%oracle_home%rdbms,

在oracle database 10g中,歸檔日誌的預設檔案格式為arc%s_%r.%t.為了改變歸檔日誌的位置和名稱格式,必須改變相應的初始化引數,

1,初始化引數log_archive_format用於指定歸檔日誌的檔名格式,設定該初始化引數時,可以指定以下匹配符:

%s: 日誌序列號:

%s: 日誌序列號(帶有前導0)

%t: 重做執行緒編號.

%t: 重做執行緒編號(帶有前導0)

%a: 活動id號

%d: 資料庫id號

%r resetlogs的id值.

從10g開始,配置歸檔日誌檔案格式時,必須帶有%s,%t和%r匹配符,配置了歸檔檔案格式後,必須重啟資料庫.

2,使用log_archive_dest配置歸檔位置

如果不使用備用資料庫,只需要將歸檔日誌存放到本地目錄.配置本地歸檔位置可以使用初始化引數log_archive_dest和log_archive_duplex_dest,其中,第乙個引數用於設定第乙個歸檔位置,第二個引數用於指定第二個歸檔位置.

alter system set log_archive_dest='d:demoarchive1';

alter system set log_archive_duplex_dest='d:demoarchive2';

3,使用log_archive_dest_n配置多個歸檔位置.

初始化引數log_archive_dest_n用於指定多個歸檔位置,該引數最多可以指定10個歸檔位置.通過使用初始化引數log_archive_dest_n,不僅可以配置本地歸檔位置,還可以配置遠端歸檔位置.

如果既要在主節點上生成歸檔日誌,又要將歸檔日誌傳遞到備用節點,那麼必須使用引數log_archive_dest_n.該引數與log_archive_dest具有如下區別;

初始化引數log_archive_dest_n可以配置本地歸檔位置和遠端歸檔位置,而初始化引數log_archive_dest和log_archive_duplex_dest只能配置本地歸檔位置.

初始化引數log_archive_dest_n可以配置多達10個歸檔位置,而初始化引數log_archive_dest和log_archive_duplex_dest最多只能配置兩個歸檔位置.

初始化引數log_archive_dest_n 不能與初始化引數log_archive_dest和log_archive_duplex_dest同時使用.

因為初始化引數log_archive_dest_n不能與初始化引數log_archive_dest和log_archive_duplex_dest同時使用,所以必須禁用初始化引數log_archve_dest和log_archive_duplex_dest.當使用初始化引數log_archive_dest_n配置本地歸檔位置時,需要指定localtion選項.當配置遠端歸檔位置時,需要指定service選項.

示例如下:

alter system set log_archive_duplex_dest='';

alter system set log_archive_dest='';

alter system set log_archive_dest_1='location=d:demoarchive1';

alter system set log_archive_dest_2='location=d:demoarchive2';

alter system set log_archive_dest_3='location=d:demoarchive3';

alter system set log_archive_dest_4='service=standby';

配置遠端歸檔位置時,service選項需要指定遠端資料庫的網路服務名(在tnsnames.ora檔案中配置)

4,使用log_archive_dest_n選項

使用初始化引數log_archive_dest_n配置歸檔位置時,可以在歸檔位置上指定optional或mandatory選項.指定mandatory選項時,可以設定reopen屬性.

optional:該選項是預設選項.使用該選項時,無論歸檔是否成功,都可以覆蓋重做日誌.

mandatory:強制歸檔.使用該選項時,只有在歸檔成功之後,重做日誌才能被覆蓋.

reopen:該屬性用於指定重新歸檔的時間間隔,預設值為300秒,必須跟在mandatory後.

例:

alter system set log_archive_dest_1=』location=d:demoarchive1 mandatory』;

alter system set log_archive_dest_2=』location=d:demoarchive2 mandatory reopen=500』;

alter system set log_archive_dest_3=』location=d:demoarchive3 optional』;

5,控制本地歸檔成功的最小個數.

使用初始化引數log_archive_min_succeed_dest控制本地歸檔的最小成功個數

alter system set log_archive_min_succeed_dest=2;

6,使用初始化引數log_archive_dest_state_n控制歸檔位置的可用性.設定該引數為enable(預設值),表示會啟用相應的歸檔位置;設定該引數為defer,表示禁用相應歸檔位置.當歸檔日誌所在磁碟損壞或填滿時,dba需要暫時禁用該歸檔位置.

alter system set log_archive_dest_state_3=defer;(禁用)

alter system set log_archive_dest_state_3=enable;(啟用)

顯示歸檔日誌資訊

1,使用archive log list命令可以顯示日誌操作模式,歸檔位置,自動歸檔機器要歸檔的日誌序列號等資訊.

2顯示日誌操作模式

select name,log_mode from v$database;

3,顯示歸檔日誌資訊.

col name format a46

select name, swquence#, first_change# from v$archived_log;

name用於表示歸檔日誌檔名,sequence#用於表示歸檔日誌對應的日誌序列號,firs_change#用於標識歸檔日誌的起始scn值.

4、執行介質恢復時,需要使用歸檔日誌檔案,此四必須準確定位歸檔日誌的存放位置.通過查詢動態效能檢視v$archive_dest可以取得歸檔日誌所在目錄.

select destination from v$archive dest;

5,顯示日誌歷史資訊

select * from v$loghist;

thread#用於標識重做執行緒號,sequnce#用於標識日誌序列號,first_change#用於標識日誌序列號對應的起始scn值,first_time用於標識起始scn的發生時間.swicth_change#用於標識日誌切換的scn值.

6.顯示歸檔程序資訊.

進行日誌切換時,arch程序會自動將重做日誌內容複製到歸檔日誌中,為了加快歸檔速度,應該啟用多個arch程序.通過查詢動態效能檢視v$archive_processes可以顯示所有歸檔程序的資訊!

select * from v$archive_processes;

porcess用於標識arch程序的編號,status用於標識arch程序的狀態(active:活動,stopped:未啟動),log_sequence用於標識正在進行歸檔的日誌序列號,state用於標識arch程序的工作狀

oracle歸檔日誌檔案管理

歸檔日誌 archive log 是非活動的重做日誌備份.通過使用歸檔日誌,可以保留所有重做歷史記錄,當資料庫處於archivelog模式並進行日誌切換式,後台程序arch會將重做日誌的內容儲存到歸檔日誌中.當資料庫出現介質失敗時,使用資料檔案備份,歸檔日誌和重做日誌可以完全恢復資料庫.1,改變日誌...

oracle日誌歸檔

文章出處 感謝作者的分享 oracle 歸檔日誌 oracle可以將聯機日誌檔案儲存到多個不同的位置,將聯機日誌轉換為歸檔日誌的過程稱之為歸檔。相應的日誌被稱為歸檔日誌。一 歸檔日誌 是聯機重做日誌組檔案的乙個副本 包含redo記錄以及乙個唯一的log sequence number 對日誌組中的乙...

Oracle 歸檔日誌

spfile錯誤導致資料庫無法啟動 又一例spfile設定錯誤導致資料庫無法啟動 managing archived redo logs oracle例項和oracle資料庫 oracle體系結構 oracle 使用者 物件許可權 系統許可權 oracle 角色 配置檔案 oracle 聯機重做日誌...