Arcgivelog在Oracle 8i 9.01 9.2的設置方法
李守亮 2003-06-16
一、實現步驟
二、日誌參數及含義
三、歸檔命令及含義
四、具體實例
一、實現步驟:
1、管理器
1)環境爲oracle 8i時:
# su - oracle
$ svrmgrl
SVRMGR> connect internal
SVRMGR> shutdown immediate
SVRMGR> startup mount [dbname]
SVRMGR> alter database [dbname] archivelog; --起用歸檔模式
SVRMGR> archive log start --啓動自動歸檔模式,重起數據庫後,按init.ora配置
SVRMGR> alter database [dbname] open; --打開數據庫
SVRMGR> exit
2)環境爲oracle8i 或oracle 9i時:
# su - oracle
$ sqlplus /nolog
> connect / as sysdba
> alter database [dbname] archivelog; --起用歸檔模式
> archive log start --啓動自動歸檔模式,重起數據庫後,按init.ora配置
> alter database [dbname] open; --打開數據庫
> exit
注:切換歸檔和非歸檔模式,請在數據庫mount上但沒有open的時候設置,一旦設置了archivelog屬性,只有在下次設置alter database noarchivelog才能更改爲非歸檔屬性;反之亦然。
缺省歸檔路徑爲$ORACLE_HOME/dbs/arch,如果需要暫時修改歸檔路徑,使用命令:alter system archive log start to '/u02/archive'
2、修改數據庫初始化參數文件,定義歸檔模式(自動)、歸檔日誌文件保存路徑、歸檔日誌文件命名方法
1)環境爲oracle 8i或oracle 9.01時:
修改數據庫參數文件$ORACLE_HOME/admin/[oradb]/pfile/init[ORACLE_SID].ora,
取消以下語句的#註釋
log_archive_start = true
log_archive_dest_1 = "location=/u02/archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
注:format參數
%T:線程號,左邊填滿0,如arch0000000001
%t:線程號,不填0,如arch1
%S:日誌序號,左邊填滿0,如arch0000000189
%s:日誌序號,不填0,如arch189
2)環境爲oracle 9.2時:
歸檔日誌參數不在init.ora文件設置,而在$ORACLE_HOME/dbs/spfile[ORACLE_SID].ora文件中設置,設置方法也有所不同。
爲確保更改生效,建議使用sys用戶以sysdba身份登陸dbastudio,更改“節點“——〉例程——〉數據庫——〉所有數據庫參數——〉spfile中的archive log參數
3、重新啓動數據庫
重新啓動數據庫後,讀取init[oracle_sid].ora或spfile[oracle_sid].ora中的設置,歸檔日誌永久生效。
二、日誌參數含義:
歸檔模式是自動還是手工,true爲自動,false爲手工
log_archive_start = true
歸檔日誌文件所保存的路徑
log_archive_dest_1 = "location=/u02/archive"
歸檔日誌文件的命名方法
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
三、歸檔命令:
啓動自動歸檔模式,系統重起後,將按init.ora中的參數log_archive_start的值設置歸檔方式
SVRMGR> archive log start
啓動手工歸檔模式
SVRMGR> archive log stop
查看歸檔信息:重做日誌是否歸檔方式、是自動歸檔還是手工歸檔、歸檔路徑、最舊的聯機日誌循序號...
SVRMGR> archive log list
歸檔一個已滿,但沒有歸檔的聯機重做日誌
SVRMGR> archive log next
歸檔所有已滿,但沒有歸檔的聯機重做日誌
SVRMGR> archive log all
SVRMGR> alter system switch logfile;
強制系統進行日誌切換,可馬上觀察到歸檔日誌的產生
SVRMGR> alter system archive log start to '/u02/archive';
將歸檔日誌路徑改爲/u02/archive,但如果需要永久生效,請根據不同版本修改init*.ora或spfile*.ora文件
四、具體實例:
一)oracle8i和9.01環境:
#su - oralce
$ svrmgrl
Oracle Server Manager Release 3.1.7.0.0 - Production
Copyright (c) 2000, Oracle Corporation. All Rights Reserved.
Oracle8i Enterprise Edition Release 8.1.7.3.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.7.3.0 - 64bit Production
SVRMGR> connect internal
連接成功。
SVRMGR> shutdown
已關閉數據庫。
已卸下數據庫。
已關閉 ORACLE 實例。
SVRMGR> startup mount
已啓動 ORACLE 實例。
系統全局區域合計有 57124108個字節
Fixed Size 70924個字節
Variable Size 40198144個字節
Database Buffers 16777216個字節
Redo Buffers 77824個字節
已裝入數據庫。
SVRMGR> alter database archivelog;
語句已處理。
SVRMGR> archive log start
語句已處理。
SVRMGR> alter database open;
語句已處理。
SVRMGR> alter system switch logfile; --強制系統進行日誌切換,可馬上觀察到歸檔日誌的產生
語句已處理。
SVRMGR> exit
服務器管理程序結束。
修改數據庫參數文件$ORACLE_HOME/admin/oradb/pfile/init[oracle_sid].ora,
取消以下語句的#註釋
log_archive_start = true
log_archive_dest_1 = "location=/u07/archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
關閉數據庫,重新啓動
查看/u07/archive目錄下,可以看到類似ORADBT001S01201.ARC的文件,說明歸檔成功
二)oracle 9.2環境:
$ sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 6月 16 10:30:23 2003
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect / as sysdba
已連接。
SQL> startup mount
ORACLE 例程已經啓動。
Total System Global Area 320308312 bytes
Fixed Size 730200 bytes
Variable Size 285212672 bytes
Database Buffers 33554432 bytes
Redo Buffers 811008 bytes
數據庫裝載完畢。
SQL> alter database archivelog;
數據庫已更改。
SQL> archive log start
已處理的語句
SQL> alter database open;
數據庫已更改。
SQL> alter system switch logfile;
系統已更改。
SQL> archive log list;
數據庫日誌模式 存檔模式
自動存檔 啓用
存檔終點 /opt/oracle/OraHome1/dbs/arch
最早的概要日誌序列 3
下一個存檔日誌序列 5
當前日誌序列 5
SQL>exit
使用sys用戶以sysdba身份登陸dbastudio,更改“節點“——〉例程——〉數據庫——〉所有數據庫參數——〉spfile中的archive log相關參數
log_archive_start = true
log_archive_dest_1 = "location=/u02/archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
log_archive_stat_1 = enable
重新啓動數據庫