ヘッダーをスキップ
Oracle Databaseストレージ管理者ガイド
11gリリース1(11.1)
E05783-04
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

A SQL*PlusによるASMのデプロイ

この付録では、次のトピックに基づいてSQL*Plusによる自動ストレージ管理(ASM)のデプロイ方法について説明します。

ASMを使用するデータベースの作成

推奨されるデータベースの作成方法は、Database Configuration Assistant(DBCA)を使用することです。ただし、CREATE DATABASE文を使用して手動でデータベースを作成する場合、ASMでは、データベースとその基礎となるファイルのすべてを最小限の入力で作成できます。

次の項ではCREATE DATABASE文の使用例を示します。この例では、ASMによって自動的にデータベース・ファイルが作成され、管理されます。

ASMを使用するデータベースの作成: 例

この例では、次のASMファイルを使用してデータベースが作成されます。

  • dgroup1ディスク・グループ内のSYSTEM表領域データファイル。

  • dgroup1ディスク・グループ内のSYSAUX表領域データファイル。表領域は、自動セグメント領域管理によってローカルに管理されます。

  • 多重オンラインREDOログは、2つのオンライン・ログ・グループで作成されます。それぞれのメンバーは、dgroup1およびdgroup2(フラッシュ・リカバリ領域)に含まれます。

  • 自動UNDO管理モードが有効な場合は、dgroup1ディレクトリ内のUNDO表領域データファイル。

  • CONTROL_FILES初期化パラメータの値が指定されていない場合は、2つの制御ファイル。1つはdrgoup1、もう1つはdgroup2(フラッシュ・リカバリ領域)に含まれます。dgroup1内の制御ファイルはプライマリ制御ファイルです。

初期化パラメータ・ファイルには、次の初期化パラメータ設定が含まれます。

DB_CREATE_FILE_DEST = '+dgroup1'
DB_RECOVERY_FILE_DEST = '+dgroup2'
DB_RECOVERY_FILE_DEST_SIZE = 10G

SQLプロンプトでは次の文が発行されます。

CREATE DATABASE sample;

ASMでの表領域の作成

ASMで永続表領域のデータファイル(または一時表領域の一時ファイル)を作成すると、そのデータファイルは自動拡張可能に設定され、最大サイズは無制限、デフォルト・サイズは100MBになります。AUTOEXTEND句を使用すると、このデフォルトの拡張性を上書きできます。また、SIZE句を使用すると、デフォルト・サイズを上書きできます。

ASMでは、データファイルのシステム・デフォルト・テンプレート(「ディスク・グループ・テンプレートの管理」を参照)で指定したとおりに、属性がデータファイルに適用されます。独自のテンプレートを作成して指定することもできます。

表領域内のファイルは、表領域履歴の結果としてASMファイルと非ASMファイルの両方に含まれることがあります。RMANコマンドを使用すると、非ASMファイルをASMディスク・グループに再配置し、ASMファイルを非ASMファイルとして再配置できます。

たとえば、dgroup3というディスク・グループがある場合、次のSQL文を使用すると、そのディスク・グループ内に表領域tblspace3を作成できます。

CREATE TABLESPACE tblspace3 DATAFILE '+DGROUP3';

ASMでの表領域の作成: すぐに使用可能な例

この例では、ASMをすぐに使用する方法を示します。Oracleが提供するデフォルト(ほとんどの状況に適している)を使用して、ASMで表領域データファイルの作成と管理を行います。

次の初期化パラメータ設定になっていることを前提とします。

DB_CREATE_FILE_DEST = '+dgroup2'

次の文では、表領域とデータファイルが作成されます。

CREATE TABLESPACE tspace2;

ASMでのREDOログの作成

オンラインREDOログは、複数のディスク・グループ内に作成できます。これは、初期化パラメータ・ファイルによって暗黙的に作成するか、またはALTER DATABASE...ADD LOGFILE文で明示的に作成できます。各オンライン・ログには、複数のディスク・グループに1つずつログ・メンバーを持たせるのが適切です。ログ・ファイル・メンバーのファイル名は自動的に生成されます。システム・エラーが原因で一部分しか作成されなかったREDOログ・ファイルは、すべて自動的に削除されます。

たとえば、dgroup3およびdgroup4というディスク・グループがある場合、次のSQL文を使用すると、それぞれのディスク・グループに1つずつメンバーを持つログ・ファイルを作成できます。

ALTER DATABASE ADD LOGFILE ('+DGROUP3','+DGROUP4');

新しいREDOログ・ファイルの追加: 例

次に示すのは、ディスク・グループdgroup1およびdgroup2内にメンバーを持つログ・ファイルを作成する場合の例です。このパラメータ設定は、初期化パラメータ・ファイル内に含まれています。

DB_CREATE_ONLINE_LOG_DEST_1 = '+dgroup1'
DB_CREATE_ONLINE_LOG_DEST_2 = '+dgroup2'

SQLプロンプトでは次の文が発行されます。

ALTER DATABASE ADD LOGFILE;

ASMでの制御ファイルの作成

制御ファイルは、複数のディスク・グループ内に明示的に作成できます。制御ファイルのファイル名は自動的に生成されます。制御ファイルの作成が失敗した場合、不完全に作成された制御ファイルは自動的に削除されます。

制御ファイルを名前で指定する必要がある場合は、ASMファイルを参照するエイリアスをファイル名として使用できます。これにより、ファイルをわかりやすい名前で扱うことができます。制御ファイルをエイリアスによる指定で作成すると、後で制御ファイルを参照する際に、意味のある名前で参照することができます。また、エイリアスはCONTROL_FILES初期化パラメータ内での制御ファイル名の指定にも使用できます。エイリアスを使用せずに制御ファイルを作成した場合でも、ALTER DISKGROUP...CREATE ALIAS文を使用して、後からエイリアス名を指定することができます。

制御ファイルを作成する際には、特定のASMディスク・グループに格納されているデータファイルとログ・ファイルをCREATE CONTROLFILEコマンドに渡す必要があります。これは、ASMファイル名のファイル参照コンテキスト形式を使用して行います。ただし、RESETLOGSオプションを使用する場合は、ファイル作成コンテキスト形式でログ・ファイルを指定する必要があります。

データベース作成の前にCONTROL_FILESパラメータの一部としてディスク・グループ名(または任意のASMファイル作成コンテキスト)を指定すれば、ASMによって管理される制御ファイルを作成できます。

ASMでの制御ファイルの作成: 例1

次のCREATE CONTROLFILE文は、データファイルとログ・ファイルがディスク・グループdgroup1およびdgroup2で作成されているデータベースのALTER DATABASE BACKUP CONTROLFILE TO TRACEコマンドによって生成されます。

CREATE CONTROLFILE REUSE DATABASE "SAMPLE" NORESETLOGS ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 2
    MAXDATAFILES 30
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 (
    '+DGROUP1/db/onlinelog/group_1.258.541956457',
    '+DGROUP2/db/onlinelog/group_1.256.541956473'
  ) SIZE 100M,
  GROUP 2 (
    '+DGROUP1/db/onlinelog/group_2.257.541956477',
    '+DGROUP2/db/onlinelog/group_2.258.541956487'
  ) SIZE 100M
DATAFILE
  '+DGROUP1/db/datafile/system.260.541956497',
  '+DGROUP1/db/datafile/sysaux.259.541956511'
CHARACTER SET US7ASCII
;

ASMでの制御ファイルの作成: 例2

この例は、データファイルを備えたデータベースに対するCREATE CONTROLFILE文ですが、RESETLOGS句を使用しているため、ログ・ファイルの作成コンテキスト形式を使用しています。

CREATE CONTROLFILE REUSE DATABASE "SAMPLE" RESETLOGS ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 2
    MAXDATAFILES 30
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 (
    '+DGROUP1',
    '+DGROUP2'
  ) SIZE 100M,
  GROUP 2 (
    '+DGROUP1',
    '+DGROUP2'
  ) SIZE 100M
DATAFILE
  '+DGROUP1/db/datafile/system.260.541956497',
  '+DGROUP1/db/datafile/sysaux.259.541956511'
CHARACTER SET US7ASCII
;

ASMでのアーカイブ・ログ・ファイルの作成

LOG_ARCHIVE_DESTおよびLOG_ARCHIVE_DEST_n初期化パラメータでは、ディスク・グループをアーカイブ・ログの宛先として指定できます。この方法で宛先を指定すると、アーカイブ・ログ・ファイル名は、たとえ2回アーカイブされても一意になります。システム・エラーの結果として部分的に作成されたアーカイブ・ファイルは、自動的に削除されます。

LOG_ARCHIVE_DESTをディスク・グループ名に設定した場合は、LOG_ARCHIVE_FORMATは無視されます。アーカイブ・ログに対する一意のファイル名は、Oracleデータベースによって自動的に作成されます。LOG_ARCHIVE_DESTをディスク・グループ内のディレクトリに設定した場合は、LOG_ARCHIVE_FORMATのセマンティクスは通常どおりとなります。

次のサンプル・アーカイブ・ログ名は、DB_RECOVERY_FILE_DEST+dgroup2に設定すると生成できます。SAMPLEは、DB_UNIQUE_NAMEパラメータの値です。

+DGROUP2/SAMPLE/ARCHIVELOG/2003_09_23/thread_1_seq_38.614.541956473
+DGROUP2/SAMPLE/ARCHIVELOG/2003_09_23/thread_4_seq_35.609.541956477
+DGROUP2/SAMPLE/ARCHIVELOG/2003_09_23/thread_2_seq_34.603.541956487
+DGROUP2/SAMPLE/ARCHIVELOG/2003_09_25/thread_3_seq_100.621.541956497
+DGROUP2/SAMPLE/ARCHIVELOG/2003_09_25/thread_1_seq_38.614.541956511