|
アーカイブログモードの設定と解除の方法
アーカイブログモードの設定と解除の方法
0.改訂履歴
1.はじめに
このドキュメントでは,Oracleをアーカイブログモードに設定したり,ノーアーカイブログモードに設定する手順を説明する.
なお,利用しているのは,Oracle8i 8.1.6 Workgroup Server for Windowsである.
2.init.oraファイルの設定
- init.oraファイルをテキストエディタで開く.
- $ORACLE_BASE/admin/$ORACLE_SID/pfile/initXXX.ora
- ファイルの中ほどに,次のような記述がある.
#audit_trail = true # if you want auditing
#timed_statistics = true # if you want timed statistics
max_dump_file_size = 10240 # limit trace file size to 5M each
# Uncommenting the line below will cause automatic archiving if archiving has
# been enabled using ALTER DATABASE ARCHIVELOG.
# log_archive_start = true
# log_archive_dest_1 = "location=D:\Oracle\oradata\testdb\archive"
# log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
# If using private rollback segments, place lines of the following
# form in each of your instance-specific init.ora files:
rollback_segments = ( R01, R02, R03, R04, R05, R06, R07, R08 )
|
- この3行のコメント文字を削除して,パラメータを有効にすると,アーカイブログモードに設定される.
#audit_trail = true # if you want auditing
#timed_statistics = true # if you want timed statistics
max_dump_file_size = 10240 # limit trace file size to 5M each
# Uncommenting the line below will cause automatic archiving if archiving has
# been enabled using ALTER DATABASE ARCHIVELOG.
log_archive_start = true
log_archive_dest = "D:\Oracle\oradata\testdb\archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
# If using private rollback segments, place lines of the following
# form in each of your instance-specific init.ora files:
rollback_segments = ( R01, R02, R03, R04, R05, R06, R07, R08 )
|
- 逆に,パラメータをコメントアウトすると,ノーアーカイブログモードに変更される.
- それぞれのパラメータは,次のような意味を持つ.
パラメータ |
値 |
説明 |
log_archive_start |
true |
archiveログモードを有効にする. 自動アーカイブモードにはならない. |
log_archive_dest |
D:\oracle\oradata\testdb\archive |
アーカイブログを書き出す先のディレクトリへのパスを指定する.
なお,こんかい試したのはWorkgroup Serverなので,Enterprise Editionでサポートされる以下のパラメータは使えない.
- log_archive_dest_n
- "location=
これは,DB Assistantを用いてデータベースを作成した時に,ツール側でEditionを判別しないので,このパラメータに設定されてしまう,バグというか仕様である.(KNOWN14665)
|
log_archive_format |
%%ORACLE_SID%%T%TS%S.ARC |
アーカイブログファイルの命名規則.
- %t スレッドの番号
- %s ログ順序番号
- 左を0で埋める場合は,大文字%T,%Sを使う.
|
3.Oracleに接続する
- コマンドプロンプトを起動して,環境変数ORACLE_SIDを設定する.
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.
C:\Documents and Settings\Administrator>cd /d c:\
C:\>set ORACLE_SID=testdb
C:\>
|
C:\>sqlplus /nolog
SQL*Plus: Release 8.1.6.0.0 - Production on 土 Oct 12 17:52:21 2002
(c) Copyright 1999 Oracle Corporation. All rights reserved.
アイドル・インスタンスに接続しました。
SQL>
|
4.アーカイブログモードに変更する
- ここでは,ノーアーカイブログモードから,アーカイブログモードに変更する.
- まず,接続を行う.
- mountでOracleインスタンスを起動する.
SQL> shutdown;
ORA-01034: ORACLE not available
SQL> startup mount
ORACLEインスタンスが起動しました。
Total System Global Area 797098972 bytes
Fixed Size 70620 bytes
Variable Size 227356672 bytes
Database Buffers 569499648 bytes
Redo Buffers 172032 bytes
データベースがマウントされました。
SQL>
|
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL>
|
- 現在はノーアーカイブログモードだと確認できた.
- アーカイブログモードに変更する.
SQL> alter database archivelog;
データベースが変更されました。
SQL>
|
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
SQL>
|
- アーカイブログモードに変更されている.
- データベースをオープンする.
SQL> alter database open;
データベースが変更されました。
SQL>
|
- 現在のインスタンスのアーカイブログモードの状態を確認する.
SQL> select archiver from v$instance;
ARCHIVE
-------
STOPPED
SQL>
|
SQL> alter system archive log start;
システムが変更されました。
SQL>
|
- インスタンスのアーカイブログモードの状態を確認する.
SQL> select archiver from v$instance;
ARCHIVE
-------
STARTED
SQL>
|
5.アーカイブログモードを解除する
- ここでは,アーカイブログモードから,ノーアーカイブログモードに変更する.
- まず,接続を行う.
SQL> shutdown;
データベースがクローズされました。
データベースがアンマウントされました。
ORACLEインスタンスがシャットダウンされました。
SQL>
|
SQL> startup mount;
ORACLEインスタンスが起動しました。
Total System Global Area 797098972 bytes
Fixed Size 70620 bytes
Variable Size 227356672 bytes
Database Buffers 569499648 bytes
Redo Buffers 172032 bytes
データベースがマウントされました。
SQL>
|
- データベースをノーアーカイブログモードに変更する.
SQL> alter database noarchivelog;
データベースが変更されました。
SQL>
|
SQL> alter database open;
データベースが変更されました。
SQL>
|
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL>
|
- ノーアーカイブログモードに設定されている.
- 次に,インスタンスをノーアーカイブログモードに変更する.
SQL> alter system archive log stop;
システムが変更されました。
SQL>
|
SQL> select archiver from v$instance;
ARCHIVE
-------
STOPPED
SQL>
|
6.アーカイブログモード関連の状態を確認する
6.1.REDOログの状態確認
- REDOログファイルと,その状態を確認する.
- まず,カラムの表示設定を行う.
SQL> col group# format 99999
SQL> col archived format a3
SQL> col status format a10
SQL> col member format a40
SQL>
|
- v$logとv$logfileをジョインしてステータスを表示させるSQL文は次の通り.
select a.group#,b.archived,b.status,a.member from v$logfile a,v$log b 2
where a.group# = b.group#;
|
SQL> select a.group#,b.archived,b.status,a.member from v$logfile a,v$log b
2 where a.group# = b.group#;
GROUP# ARC STATUS MEMBER
------ --- ---------- ----------------------------------------
5 YES INACTIVE D:\ORACLE\ORADATA\TESTDB\REDO05.LOG
5 YES INACTIVE D:\ORACLE\ORADATA\TESTDB\REDO06.LOG
5 NO CURRENT D:\ORACLE\ORADATA\TESTDB\REDO07.LOG
SQL>
|
- 強制的にログスイッチを発行して,REDOログファイルの状態を確認する.
SQL> alter system switch logfile;
システムが変更されました。
SQL> select a.group#,b.archived,b.status,a.member from v$logfile a,v$log b
2 where a.group# = b.group#;
GROUP# ARC STATUS MEMBER
------ --- ---------- ----------------------------------------
5 NO CURRENT D:\ORACLE\ORADATA\TESTDB\REDO05.LOG
5 YES INACTIVE D:\ORACLE\ORADATA\TESTDB\REDO06.LOG
5 YES INACTIVE D:\ORACLE\ORADATA\TESTDB\REDO07.LOG
SQL>
|
6.2.アーカイブログの状態の確認
SQL> archive log list;
データベース・ログ・モード アーカイブ・モード
自動アーカイブ 使用可能
アーカイブ先 D:\Oracle\Ora81\RDBMS
最も古いオンライン・ログ順序 726
アーカイブする次のログ順序 728
カレント・ログ順序 728
SQL>
|
SQL> alter system switch logfile;
システムが変更されました。
SQL>
|
SQL> archive log list;
データベース・ログ・モード アーカイブ・モード
自動アーカイブ 使用可能
アーカイブ先 D:\Oracle\Ora81\RDBMS
最も古いオンライン・ログ順序 727
アーカイブする次のログ順序 729
カレント・ログ順序 729
SQL>
|
- ログの番号が進んでいる事が判る.
- "アーカイブ先"で指定されているパスを確認してみる.
D:\Oracle\Ora81\rdbms>dir
ドライブ D のボリューム ラベルは Data です
ボリューム シリアル番号は 10FA-3BA1 です
D:\Oracle\Ora81\rdbms のディレクトリ
2002/10/12 20:39 <DIR> .
2002/10/12 20:39 <DIR> ..
2002/10/03 12:23 <DIR> admin
2002/10/12 17:55 1,024 ARC00725.001
2002/10/12 17:55 79,360 ARC00726.001
2002/10/12 19:01 26,624 ARC00727.001
2002/10/12 19:06 1,024 ARC00728.001
2002/10/12 19:27 1,024 ARC00729.001
2002/10/12 19:28 1,024 ARC00730.001
2002/10/12 19:28 1,024 ARC00731.001
2002/10/12 20:39 154,624 ARC00732.001
2002/10/12 20:39 1,024 ARC00733.001
2002/10/12 20:39 1,024 ARC00734.001
2002/10/12 20:39 1,024 ARC00735.001
2002/10/03 12:17 <DIR> demo
2002/10/03 12:23 <DIR> EXTPROC
2002/10/03 12:22 <DIR> jlib
2002/10/03 12:17 <DIR> mesg
2002/10/03 12:25 <DIR> trace
2002/10/03 12:21 <DIR> XA
11 個のファイル 268,800 バイト
9 個のディレクトリ 66,456,150,016 バイトの空き領域
D:\Oracle\Ora81\rdbms>
|
|
|