22 SQL*Plusを使用したOracle ASMでのデータベース・ファイルの作成
Oracle Automatic Storage Management (Oracle ASM)は、SQL*Plusを使用してデプロイできます。
この項では、次の項目について説明します。
-
関連項目:
Oracle Managed Files(OMF)の使用の詳細は、『Oracle Database管理者ガイド』を参照してください。
Oracle ASMを使用するデータベースの作成
推奨されるデータベースの作成方法は、Database Configuration Assistant(DBCA)を使用することです。ただし、CREATE DATABASE
文を使用して手動でデータベースを作成する場合、Oracle ASMでは、データベースとその基礎となるファイルのすべてを最小限の入力で作成できます。
次の例ではCREATE DATABASE
文の使用方法を示します。この例では、Oracle ASMによって自動的にデータベース・ファイルが作成され、管理されます。この例では、次のOracle ASMファイルを使用してデータベースが作成されます。
-
data
ディスク・グループ内のSYSTEM
表領域データファイル。 -
data
ディスク・グループ内のSYSAUX
表領域データファイル。表領域は、自動セグメント領域管理によってローカルに管理されます。 -
2つのオンライン・ログ・グループを持つ多重オンラインREDOログ。グループごとに1つのメンバーが
data
とfra
(高速リカバリ領域)あります。 -
自動UNDO管理モードが有効な場合は、
data
ディレクトリ内のUNDO表領域データファイル。 -
CONTROL_FILES
初期化パラメータの値を指定しない場合は、2つの制御ファイル。1つはdata
、もう1つはfra
(高速リカバリ領域)にあります。data
内の制御ファイルはプライマリ制御ファイルです。
初期化パラメータ・ファイルには、次の初期化パラメータ設定が含まれます。
DB_CREATE_FILE_DEST = +data DB_RECOVERY_FILE_DEST = +fra DB_RECOVERY_FILE_DEST_SIZE = 10G
SQLプロンプトでは次の文を実行できます。
SQL> CREATE DATABASE orcl;
Oracle ASMでの表領域の作成
Oracle ASMで永続表領域のデータファイル(または一時表領域の一時ファイル)を作成すると、そのデータファイルは自動拡張可能に設定され、最大サイズは無制限、デフォルト・サイズは100MBになります。AUTOEXTEND
句を使用すると、このデフォルトの拡張性を無効にできます。また、SIZE
句を使用すると、デフォルト・サイズを無効にできます。
Oracle ASMでは、データファイルのシステム・デフォルト・テンプレート(「ディスク・グループ・テンプレートの管理」の表を参照)で指定したとおりに、属性がデータファイルに適用されます。独自のテンプレートを作成して指定することもできます。
表領域内のファイルは、表領域履歴のためOracle ASMファイルとOracle ASM以外のファイルの両方に含まれることがあります。RMANコマンドを使用すると、Oracle ASM以外のファイルをOracle ASMディスク・グループに再配置し、Oracle ASMファイルをOracle ASM以外のファイルとして再配置できます。
たとえば、data
というディスク・グループがある場合、次のSQL文を使用すると、そのディスク・グループ内に表領域tblspace
を作成できます。
SQL> CREATE TABLESPACE tblspace DATAFILE '+data';
次の例では、デフォルト設定のOracle ASMの使用例を示します。Oracleが提供するデフォルト(ほとんどの状況に適している)を使用して、Oracle ASMで表領域データファイルの作成と管理を行います。
次の初期化パラメータ設定になっていることを前提とします。
DB_CREATE_FILE_DEST = +data
次の文では、表領域とデータファイルが作成されます。
SQL> CREATE TABLESPACE tblspace;
Oracle ASMでのREDOログの作成
オンラインREDOログは、複数のディスク・グループ内に作成できます。これは、初期化パラメータ・ファイルによって暗黙的に作成するか、またはALTER DATABASE...ADD LOGFILE
文で明示的に作成できます。各オンライン・ログには、複数のディスク・グループに1つずつログ・メンバーを持たせるのが適切です。ログ・ファイル・メンバーのファイル名は自動的に生成されます。システム・エラーが原因で一部分しか作成されなかったREDOログ・ファイルは、すべて自動的に削除されます。
たとえば、data1
およびdata2
というディスク・グループがある場合、次のSQL文を使用すると、それぞれのディスク・グループに1つずつメンバーを持つログ・ファイルを作成できます。
SQL> ALTER DATABASE ADD LOGFILE ('+data1','+data2');
次に、ディスク・グループdata1
とdata2
のそれぞれにメンバーを持つログ・ファイルを作成する例を示します。これらパラメータ設定は、初期化パラメータ・ファイル内に含まれています。
DB_CREATE_ONLINE_LOG_DEST_1 = +data1 DB_CREATE_ONLINE_LOG_DEST_2 = +data2
SQLプロンプトでは次の文を実行できます。
SQL> ALTER DATABASE ADD LOGFILE;
Oracle ASMでの制御ファイルの作成
制御ファイルは、複数のディスク・グループ内に明示的に作成できます。制御ファイルのファイル名は自動的に生成されます。
制御ファイルを名前で指定する必要がある場合は、Oracle ASMファイルを参照するエイリアスをファイル名として使用でき、これにより、ファイルをわかりやすい名前で扱うことができます。制御ファイルをエイリアスによる指定で作成すると、後で制御ファイルを参照する際に、ユーザー指定の名前で参照することができます。また、エイリアスはCONTROL_FILES
初期化パラメータでの制御ファイル名の指定にも使用できます。
制御ファイルを作成する際には、Oracle ASMディスク・グループに格納されているデータファイルとログ・ファイルをCREATE
CONTROLFILE
コマンドに渡す必要があり、これは、Oracle ASMファイル名のファイル参照形式を使用して行います。ただし、RESETLOGS
オプションを使用する場合は、ファイル作成形式でログ・ファイルを指定する必要があります。
例22-1 NORESETLOGSを使用したOracle ASMでの制御ファイルの作成
次の例のSQL文は、ALTER
DATABASE
BACKUP
CONTROLFILE
TO
TRACE
コマンドにより、ディスク・グループdata
およびfra
にデータファイルとログ・ファイルが作成されるデータベースに対して生成されます。
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 ;
例22-2: RESETLOGSを使用したOracle ASMでの制御ファイルの作成
次の例は、データファイルを備えたデータベースに対するCREATE
CONTROLFILE
SQL文ですが、RESETLOGS
句を使用し、そこでログ・ファイルの作成形式を使用しています。
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 ;
Oracle ASMでのアーカイブ・ログ・ファイルの作成
LOG_ARCHIVE_DEST
およびLOG_ARCHIVE_DEST_n
初期化パラメータでは、ディスク・グループをアーカイブ・ログの宛先として指定できます。この方法で宛先を指定すると、アーカイブ・ログ・ファイル名は、一意の名前でデフォルトのサブディレクトリに作成されます。ただし、すべてのLOG_ARCHIVE_DEST_n
パラメータは一意の文字列である必要があります。同じディスク・グループを複数回入力するには、サブディレクトリを使用する必要があります。たとえば、LOG_ARCHIVE_DEST_n
を次のように設定できます。
LOG_ARCHIVE_DEST_1 = 'LOCATION=+FRA/orcl/arc_1' LOG_ARCHIVE_DEST_2 = 'LOCATION=+FRA/orcl/arc_2' ...
LOG_ARCHIVE_DEST
をディスク・グループ名に設定した場合は、LOG_ARCHIVE_FORMAT
は無視されます。アーカイブ・ログに対する一意のファイル名は、デフォルトのサブディレクトリにOracle Databaseによって自動的に作成されます。LOG_ARCHIVE_DEST
をディスク・グループ内のディレクトリに設定した場合は、ファイルのエイリアスに対するLOG_ARCHIVE_FORMAT
のセマンティクスは通常どおりとなります。基礎となるファイルは、システム生成の名前でディスク・グループのデフォルトのディレクトリに生成されます。
また、DB_RECOVERY_FILE_DEST
初期化パラメータをディスク・グループの宛先に設定できます。例22-3では、アーカイブ・ログ・ファイルが、ARCHIVELOG
モードを有効にして生成され、DB_RECOVERY_FILE_DEST
が+FRA
ディスク・グループに設定されています。ORCL
はDB_UNIQUE_NAME
パラメータの値です。
関連項目:
アーカイブ保存されたREDOログ・ファイルの管理の詳細は、『Oracle Database管理者ガイド』を参照してください。
例22-3 Oracle ASMディスク・グループ内のアーカイブ・ログ・ファイル
SQL> SHOW PARAMETER DB_RECOVERY_FILE_DEST NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string +FRA SQL> SELECT SUBSTR(name,1,64) name FROM V$ARCHIVED_LOG; NAME ---------------------------------------------------------------- +FRA/ORCL/ARCHIVELOG/2013_06_24/thread_1_seq_112.260.818960623 +FRA/ORCL/ARCHIVELOG/2013_06_24/thread_1_seq_113.261.818978423 +FRA/ORCL/ARCHIVELOG/2013_06_25/thread_1_seq_114.262.818993031 +FRA/ORCL/ARCHIVELOG/2013_06_25/thread_1_seq_115.263.819032439 +FRA/ORCL/ARCHIVELOG/2013_06_25/thread_1_seq_116.264.819047121 +FRA/ORCL/ARCHIVELOG/2013_06_25/thread_1_seq_117.265.819064815 +FRA/ORCL/ARCHIVELOG/2013_06_26/thread_1_seq_118.266.819079417 ...