Oracle管理者のためのSQLリファレンス
■制御ファイル
制御ファイルは、Oracleデータベースの物理構造を記録したバイナリ・ファイルで「データベース名」「対応するデータ・ファイルとREDOログ・ファイルの名前と位置」「データベース作成のタイムスタンプ」「現行のログ順序番号」「チェックポイント情報」といった情報が含まれています。制御ファイルは少なくとも1つは必要で、複数のコピーを作成して多重化することが推奨されています。(SQLの表記ルールは、こちらから参照できます)
制御ファイル名および配置場所を取得する |
SELECT
name FROM v$controlfile; |
┗ |
制御ファイルのファイル名、および配置されているディレクトリ情報を取得するには、V$CONTROLFILEビューからNAME列を取得します。制御ファイルはデータベースの作成とともに作られます。デフォルトで作成される制御ファイルの数はOSによって異なります。 |
初期化パラメータに制御ファイルを指定する |
ALTER
SYSTEM SET control_files =
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL01.CTL',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL02.CTL',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\CONTROL03.CTL'
SCOPE = SPFILE; |
┗ |
サーバ・パラメータ・ファイル(SPFILE)で制御ファイルの初期化パラメータ値を指定するには、ALTER
SYSTEM文でcontrol_filesを指定し、変更/追加する制御ファイルのフルパスを記述します。なお、control_filesは静的パラメータなので、必ずSCOPE
= SPFILEを指定します。
既存のデータベースで制御ファイルの初期化パラメータ値を変更/追加する場合、OSのコピーコマンドを使ってここで指定した場所に制御ファイルをコピーします。新規にデータベースを作成する際は、ここで指定した場所に制御ファイルが作成されます。 |
関連項目:サーバー・パラメータ・ファイル使用時に、静的パラメータ値を変更する |
既存の制御ファイルの複製を作成する |
ALTER
DATABASE BACKUP CONTROLFILE
TO '/oracle/backup/control.bkp'; |
┗ |
既存の制御ファイルの複製(バイナリ・ファイル)を作成するには、ALTER
DATABASE文でBACKUP CONTROLFILE TO句に続けてバックアップ先のディレクトリとファイル名をフルパスで指定します。 |
既存の制御ファイルをリストアできるSQL文を生成する |
ALTER DATABASE BACKUP CONTROLFILE
TO TRACE; |
┗ |
制御ファイルの再作成に使用できるSQL文を生成するには、ALTER
DATABASE文にBACKUP CONTROLFILE TO TRACE句を指定します。SQL文を含んだファイルは、初期化パラメータuser_dump_destで指定したディレクトリに作成されます。 |
Database Expert フォーラム 新着記事
Database Expert 記事ランキング
本日月間