Oracle Archive log教學
DB:Oracle 10G R2
ORACLE DATABASE 切換到 Archive LOG 或 NO ARCHIVE LOG 模式必須關閉、重新啟動資料庫。
切換到ARCHIVE LOG 模式並不表示系統會自動執行 ARCHIVE LOG,必須下指令執行,如果希望一開機就自動執行必須在 spfile 中作設定。
切換到ARCHIVE LOG 模式後應立即作備份的動作,如果使用之前的備份回復資料,資料只能回復至 NOARCHIVE LOG Mode 時的狀況。
檢查是否為 Archive Log 模式
SQL>select * from v$log;
SQL>archive log list;
SQL>select * from v$log;
SQL>archive log list;
更改 ARCHIVE/NOARCHIVE LOG 模式步驟:
1.SQL>shutdown immediate
2.SQL>startup mount
3.SQL>alter database archivelog/noarchivelog;
4.SQL>alter database open;
5.backup full database and control file;
1.SQL>shutdown immediate
2.SQL>startup mount
3.SQL>alter database archivelog/noarchivelog;
4.SQL>alter database open;
5.backup full database and control file;
啟動 Archive LOG Mode
SQL>alter system archive log start/stop;
SQL>alter system archive log start/stop;
變更啟動 Parameter,讓資料庫一啟動就自動執行 ARCHIVE LOG
SQL>alter system set log_archive_start=true scope=spfile;
或是在 pfile 中加入 log_archive_start=true
SQL>alter system set log_archive_start=true scope=spfile;
或是在 pfile 中加入 log_archive_start=true
查詢 ARCHIVE LOG 狀況
SQL>Archive Log List
SQL>Archive Log List
alter system switch logfile;
alter system archive log current; 若有開啟archive log,會產生一個archive log
Archive log變數設定-Rename log_archive_format
log_archive_format 可以使用參數如下
%s :log sequence number
%S: log sequence number, zero filled
%t :thread number, RAC的節點中設有THREAD參數, 就是這個值了
%T:thread number, zero filled
其中這前4項是可以用在 9I 中的
%a: activation ID
%d: database ID
%r: resetlogs ID that ensures unique names are constructed for the archived log files across multiple incarnations of the database
Oracle 10g開始,log_archive_format初始化參數必須包含%s, %t 和 %r,以確保生成的archive log 名稱唯一.
(原因:10g能做穿越resetlog的恢復,所以要加%r。而9i的不能做穿越resetlog的恢復,所以沒有%r的參數)
SQL> alter system set log_archive_format='arch_%t_%s_%r.arc' scope=spfile;
SQL> shutdown immediate;
SQL>startup;
其它一些相關的設定參數和查詢
SQL>show parameter log_archive_format
SQL>alter SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3 scope=spfile sid='*';;
SQL>alter SYSTEM SET log_archive_dest_1 = "location=C:Oracleoradataoradbarchive" scope=spfile sid='*';
SQL>alter SYSTEM SET log_archive_format = %%ORACLE_SID%%T%TS%S.ARC scope=spfile sid='*';
SQL>show parameter log_archive_format
SQL>alter SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3 scope=spfile sid='*';;
SQL>alter SYSTEM SET log_archive_dest_1 = "location=C:Oracleoradataoradbarchive" scope=spfile sid='*';
SQL>alter SYSTEM SET log_archive_format = %%ORACLE_SID%%T%TS%S.ARC scope=spfile sid='*';
相關連結:
http://yu-minspace.blogspot.tw/search/label/Oracle%20%E7%9B%B8%E9%97%9C