フラッシュバッククエリーに関する検証 その2
~フラッシュバッククエリーに関する検証 その2 ~
ペンネーム ちゃむ
前回はdbms_flashback権限を与えるところを説明したが、この機能は、UNDO_で
始まる初期化パラメータの設定がおおいに関係する。ここでは、以下の内容を簡
単におさえておこう。
AUTO に設定すると自動UNDO管理機能モードになります。つまりフラッシュバック
クエリーが使用できるという事だ。MANUAL(デフォルト)だと、従来どおりのロー
ルバックセグメントの管理(手動UNDO管理モード)になる。
UNDO表領域名を指定する。UNDO_MANAGEMENT=MANUALのときにこのパラメータを指
定するとエラーが発生するので注意
UNDO情報を保存する期間を秒単位で指定する。これを大きくすれば大きくするほ
ど、UNDO_TABLESPACEで指定されたテーブルスペースに大きいサイズが必要になる
はずである。
この値をTRUEにすると自動UNDO管理モードで手動UNDO管理モードの操作が行な
える。この「手動UNDO管理モードの操作」とは具体的にいうと、SET TRANSACTION
USE ROLLBACK SEGMENTやALTER ROLLBACK SEGMENT ONLINEなどのロールバックセ
グメントを明示的に指定して操作するコマンドである。
FALSE(デフォルト)の場合に、ALTER ROLLBACK SEGMENT ONLINEなどを行なうと
次のようなエラーが出力される。
ORA-30019 Automatic Undoモードのロールバック・セグメント操作は無効です
上記の初期化パラメータに関しては、何も設定しないと手動UNDO管理モードの設定
になる。以下のUNDO_MANAGEMENT、UNDO_TABLESPACEを見ればわかるが、
以下のV$PARAMETERのISDEFAULTでこの環境の初期化パラメータがデフォルト値がど
うか確認できる。UNDO_MANAGEMENT=AUTOのときに、ISDEFAULT=FALSEということは、
MANUALがデフォルトということである。
SQL> SELECT NAME,VALUE,ISDEFAULT FROM V$PARAMETER WHERE NAME LIKE 'UNDO%' NAME VALUE ISDEFAULT -------------------- -------------------- --------- undo_management AUTO FALSE undo_tablespace UNDOTBS FALSE undo_suppress_errors FALSE TRUE undo_retention 900 TRUE
ここで、フラッシュバッククエリーに関して掘り下げたいところだが、
Oracle9iから初期化パラメータ関連のファイルが増えている。ここで、
「初期化パラメータの値を変更したのに値が反映されていない!!」などと
混乱しない様に以下の内容をおえておこう。
<初期化パラメータの追加>
Oracle9iではこれまでのinit.oraに加え、spfile(Server Parameter File)
ファイルが追加された。これは、インスタンス起動中にALTER SYSTEMで動的に変更
たパラメータの変更が記録され、その後、データベースを再起動してもこの変更が有
効になる。従来であれば、とにかくinit.oraに依存して初期化パラメータの
値が設定されていたが、spfile.oraの設定の方が優先されることに注意しよう。
spfile.oraはバイナリファイルなので、直接エディタなどで編集してはならない。
spfileはas sysdbaでコネクトして以下のコマンドで作成される。
SQL> create spfile=’spfileora901.ora’ from pfile=’initora901.ora’;
File created.
作成した後は、ALTER SYSTEMのコマンドの内容が、spfileora901.oraに反映される。
<初期化パラメータの優先順位>
1.spfile.ora が存在すればこの内容が初期化パラメータにとして設定される。 2.spfile.ora が存在すればこの内容が初期化パラメータにとして設定される。 3.1.2.が存在しなければ従来どおりinit.oraの内容が初期化パラメータ にとして設定される。
UNIXでは、dbassistantなどでインストールするとおそらく、$ORACLE_HOME/dbsの下に、
spfile.ora、spfile.ora、init.oraが格納されているはずである。混乱して
しまうならspfile.ora、spfile.oraを削除して、init.oraだけ残せば従来どおり
の一つのパラメータファイルとなりわかりやすくはなる。
っと初期化パラメータだけで説明が終わってしまったが、次回こそフラッシュバッククエ
リーを使ってみる。
以上 青空と太陽が君を呼んでいる 茅ケ崎にて