制御ファイルは、複数のディスク・グループ内に明示的に作成できます。制御ファイルのファイル名は自動的に生成されます。
制御ファイルを名前で指定する必要がある場合は、Oracle ASMファイルを参照するエイリアスをファイル名として使用でき、これにより、ファイルをわかりやすい名前で扱うことができます。制御ファイルをエイリアスによる指定で作成すると、後で制御ファイルを参照する際に、ユーザー指定の名前で参照することができます。また、エイリアスはCONTROL_FILES
初期化パラメータでの制御ファイル名の指定にも使用できます。
制御ファイルを作成する際には、Oracle ASMディスク・グループに格納されているデータファイルとログ・ファイルをCREATE
CONTROLFILE
コマンドに渡す必要があり、これは、Oracle ASMファイル名のファイル参照形式を使用して行います。ただし、RESETLOGS
オプションを使用する場合は、ファイル作成形式でログ・ファイルを指定する必要があります。
例17-1のCREATE
CONTROLFILE
SQL文は、データファイルとログ・ファイルがディスク・グループdata
およびfra
で作成されているデータベースのALTER
DATABASE
BACKUP
CONTROLFILE
TO
TRACE
コマンドによって生成されます。
例17-1: NORESETLOGSを使用したOracle ASMでの制御ファイルの作成
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 ( '+DATA/orcl/onlinelog/group_1.261.685366203', '+FRA/orcl/onlinelog/group_1.257.685366205' ) SIZE 50M BLOCKSIZE 512, GROUP 2 ( '+DATA/orcl/onlinelog/group_2.262.685366207', '+FRA/orcl/onlinelog/group_2.258.685366211' ) SIZE 50M BLOCKSIZE 512, GROUP 3 ( '+DATA/orcl/onlinelog/group_3.263.685366213', '+FRA/orcl/onlinelog/group_3.259.685366215' ) SIZE 50M BLOCKSIZE 512 -- STANDBY LOGFILE DATAFILE '+DATA/orcl/datafile/system.256.685366089', '+DATA/orcl/datafile/sysaux.257.685366089', '+DATA/orcl/datafile/undotbs1.258.685366091', '+DATA/orcl/datafile/users.259.685366091' CHARACTER SET WE8MSWIN1252 ;
例17-2は、データファイルを備えたデータベースに対するCREATE
CONTROLFILE
SQL文ですが、RESETLOGS
句を使用し、そこでログ・ファイルの作成形式を使用しています。
例17-2: RESETLOGSを使用したOracle ASMでの制御ファイルの作成
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 ( '+DATA/orcl/onlinelog/group_1.261.685366203', '+FRA/orcl/onlinelog/group_1.257.685366205' ) SIZE 50M BLOCKSIZE 512, GROUP 2 ( '+DATA/orcl/onlinelog/group_2.262.685366207', '+FRA/orcl/onlinelog/group_2.258.685366211' ) SIZE 50M BLOCKSIZE 512, GROUP 3 ( '+DATA/orcl/onlinelog/group_3.263.685366213', '+FRA/orcl/onlinelog/group_3.259.685366215' ) SIZE 50M BLOCKSIZE 512 -- STANDBY LOGFILE DATAFILE '+DATA/orcl/datafile/system.256.685366089', '+DATA/orcl/datafile/sysaux.257.685366089', '+DATA/orcl/datafile/undotbs1.258.685366091', '+DATA/orcl/datafile/users.259.685366091' CHARACTER SET WE8MSWIN1252 ;