V$CONTROLFILE ビュー

コントロールファイルの情報を提供するビュー

カラム名データタイプ説明
STATUS-VARCHAR2(7)正常時は NULL
コントロールファイルが異常なとき 'INVALID'(※1)
NAMEVARCHAR2(257)
VARCHAR2(513)Oracle 10g
コントロールファイル名(ディレクトリパス名含む)
IS_RECOVERY_DEST_FILEOracle 10gVARCHAR2(3)コントロールファイルがフラッシュリカバリ領域にあるものかどうか(YES or NO)
フラッシュリカバリ機能が無効状態なら NO
BLOCK_SIZEOracle 11gNUMBERコントロールファイルのブロックサイズ(※2)
FILE_SIZE_BLKSNUMBERコントロールファイルのサイズ=ブロック数(※2)

(※1) INVALID が発生するような状態では MOUNT 状態 に移行しないため該当ビューは参照できない。稼働中に発生しても検知すれば即座にインスタンスも異常停止するので事実上見ることはない。
Windows では稼働中にコントロールファイルを削除できないので実験するにはエディタで適当に書き換えて
ALTER SYSTEM CHECKPOINT を実行する。するとコントロールファイルにアクセスするためファイルの異常を検知して停止する。復旧には正常なコントロールファイルを複製して上書きコピーする。(間違えて壊したファイルで正常ファイルを上書きすると…さようなら)

(※2) ブロックサイズ×ブロック数=ファイルのバイト数

V$CONTROLFILE ビューを参照するための権限付与

V$CONTROLFILE の実体は正確にはビューではなく PUBLIC シノニム であるため、個別に参照権限を付与するにはビューの本体である SYS.V_$CONTROLFILE に対して設定を行なう。 ⇒ ORA-02030: 固定表/固定ビューでは選択のみ可能です。

SQL> GRANT SELECT ON V$CONTROLFILE TO rivus;
GRANT SELECT ON V$CONTROLFILE TO rivus
                *
行1でエラーが発生しました。:
ORA-02030: 固定表/固定ビューでは選択のみ可能です。
SQL> GRANT SELECT ON SYS.V_$CONTROLFILE TO rivus;
 
権限付与が成功しました。
 


V$CONTROLFILEの関連トピックス

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)