制御ファイルは、複数のディスク・グループ内に明示的に作成できます。制御ファイルのファイル名は自動的に生成されます。
制御ファイルを名前で指定する必要がある場合は、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
;