UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

REDOログの仕組み

REDOログの仕組み


0.更新履歴

  • 2001.10.08 新規作成

1.はじめに

 Oracle8iにて,障害発生から回復までの仕組みをささえるREDOログの構成について説明する.

2.REDOログバッファとREDOログファイル

  • REDOログバッファとREDOログファイルは,データベースの変更履歴が保存されている.
  • 障害が発生した時に,変更履歴を適用(再実行)することによって,最新のデータ状態に回復するための仕組みである.

  • データベースの変更情報(INSERT文やUPDATE文など)は,まずSGA(メモリ)中のREDOログバッファに格納される.
  • LGWRプロセスによって,REDOログバッファの内容がREDOログファイルに書き出される.
  • REDOログファイルは,必ず複数のファイルから構成されている.
    • Oracle8iの手動構成のデフォルトでは,3ファイルで1ファイルあたり1MBがデフォルトになっている.
  • 変更情報はREDOログファイルに順番に書き出され,1つのファイルが一杯になると次のREDOログファイルに移行する. これをログスイッチと呼ぶ.
  • 全てのREDOログファイルが一杯になったら,最初のREDOログファイルへログスイッチが行われ,循環する.
  • 現在どのREDOログを使用しているかなどの情報は,制御ファイルに記録される.

3.REDOログのアーカイブ

  • 通常のREDOログファイルの事を,オンラインREDOログという.
  • デフォルト状態では,NOARCHIVELOGモードで稼働している.
  • NOARCHIVELOGモードの場合,ログスイッチが発生してREDOログファイルが循環した場合,古い変更履歴は上書きされてしまう.
  • よって,全ての変更履歴がREDOログファイルにかかれていると保証されない.
  • ARCHIVELOGモードに変更すると,REDOログファイルに格納できなくなった古い変更履歴はARCHIVELOGというファイルに書き出されて保存される.

4.ARCHIVELOGモードに設定する

  • ARCHIVELOGモードに設定するには,初期化パラメータファイルに次のように設定すればよい.

init.oraの中身
log_archive_start = true
log_archive_dest_1 = "location=D:\oracle\oradata\vaio\archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC

  • この設定で吐き出されるようになったARCHIVELOGは,次のとおりになる.

D:\oracle\oradata\vaio\archive>dir

 ドライブ D のボリューム ラベルは DOCUMENT です
 ボリューム シリアル番号は 151C-1D09 です

 D:\oracle\oradata\vaio\archive のディレクトリ

2001/10/08  13:31       <DIR>          .
2001/10/08  13:31       <DIR>          ..
2001/10/08  16:29            1,049,088 VAIOT001S00203.ARC
2001/10/08  16:34            1,049,088 VAIOT001S00204.ARC
2001/10/08  16:35            1,049,088 VAIOT001S00205.ARC
               3 個のファイル           3,147,264 バイト
               2 個のディレクトリ   3,836,510,208 バイトの空き領域

D:\oracle\oradata\vaio\archive>

  • また,稼動中でも次のSQL文を実行する事で稼働することができる.

alter system archive log start

  • しかし,インスタンスを再起動したときは地頭的に実行されないので,初期化パラメータファイルに記述しておくほうが良い.

5.その他

  • REDOログファイルの使用状況の表示する.

SQL> connect system/manager
接続されました。
SQL> archive log list
ORA-01031: 権限が不足しています。
SQL> connect sys/change_on_install
接続されました。
SQL> archive log list
ORA-01031: 権限が不足しています。
SQL> connect sys/change_on_install as sysdba
接続されました。
SQL> archive log list
データベース・ログ・モード     アーカイブ・モード
自動アーカイブ                 使用可能
アーカイブ先                    D:\oracle\oradata\vaio\archive
最も古いオンライン・ログ順序   205
アーカイブする次のログ順序    207
カレント・ログ順序               207
SQL>

  • 手動によるログスイッチ
    • アーカイブログを強制的に吐き出す

SQL> alter system switch logfile
  2  ;
システムが変更されました。
SQL>



広告スペース
Google