日本語PDF

5 Oracle ASMファイル、ディレクトリおよびテンプレートの管理

Oracle ASMの管理には、ファイル、ディレクトリおよびテンプレートの管理が含まれています。

この章では、Oracle Automatic Storage Management(Oracle ASM)のストレージ・オプションを使用する場合のファイル管理方法について説明します。

この章のトピックは、次のとおりです:

Oracle ASMでサポートされるファイルのタイプ

Oracle ASMでは、データベースに必要なほとんどのファイル・タイプがサポートされます。

表5-1に、Oracle ASMで直接サポートされるファイル・タイプと、ファイル作成用の属性を提供するシステム・デフォルト・テンプレートを示します。表に示したファイル・タイプの一部は特定の製品または機能に関連しており、このマニュアルでは説明していません。

表5-1 Oracle ASMによってサポートされるファイル・タイプ

ファイル・タイプ デフォルトのテンプレート

アーカイブ・ログ・ファイル

ARCHIVELOG

Oracle ASM永続初期化パラメータ・ファイル(SPFILE)

ASMPARAMETERFILE

Oracle ASM永続初期化パラメータ・ファイル(SPFILE)バックアップ

ASMPARAMETERFILEBACKUP

監査スピル・ファイル

AUDIT_SPILLFILES

自動生成制御ファイル・バックアップ

AUTOBACKUP

自動ログイン・ソフトウェア・キーストア

AUTOLOGIN_KEY_STORE

アーカイブ・ログ・バックアップ・ピース

BACKUPSET

データファイル・バックアップ・ピース

BACKUPSET

データファイル増分ピース

BACKUPSET

変更トラッキング・ファイル

CHANGETRACKING

制御ファイル

CONTROLFILE

データファイル・コピー

DATAFILE

データファイル

DATAFILE

Data Guard構成ファイル

DATAGUARDCONFIG

データ・ポンプ・ダンプセット

DUMPSET

フラッシュバック・ログ

FLASHBACK

フラッシュ・ファイル

FLASHFILE

クロスプラットフォーム・トランスポータブル・データファイル増分バックアップ

INCR XTRANSPORT BACKUPSET

ソフトウェア・キーストア

KEY_STORE

Oracle Cluster Registryファイル

OCRFILE

REDOログ・ファイル

ONLINELOG

永続初期化パラメータ・ファイル(SPFILE)

PARAMETERFILE

一時ファイル

TEMPFILE

投票ファイル

VOTINGFILE

クロスプラットフォーム・トランスポータブル・データファイル

XTRANSPORT

クロスプラットフォーム・トランスポータブル・データファイル・バックアップ

XTRANSPORT BACKUPSET

Oracle ASM Dynamic Volume Managerボリューム

該当なし

Oracle ASMでは、ディスク・グループに対する一部の管理ファイル・タイプを直接サポートできません。これらのファイルには、トレース・ファイル、監査ファイル、アラート・ログ、エクスポート・ファイル、tarファイルおよびコア・ファイルがあります。

ノート:

Oracle Automatic Storage Management Cluster File System (Oracle ACFS)およびOracle ASM Dynamic Volume Manager (Oracle ADVM)により、Oracle ASMでのサポートは、データベースおよびアプリケーションの実行可能ファイル、データベース・データファイル、データベース・トレース・ファイル、データベース・アラート・ログ、アプリケーション・レポート、BFILEおよび構成ファイルが含まれるように拡張されます。他にも、ビデオ、オーディオ、テキスト、イメージ、設計図、その他の汎用アプリケーションのファイル・データがサポートされます。

関連項目:

Oracle ASMファイル名について

Oracle ASMで作成されたすべてのファイルには、完全修飾ファイル名(またはシステム生成のファイル名)と呼ばれる、Oracle Managed Filesによって生成されたファイル名が付けられます。完全修飾ファイル名は、Oracle ASMファイル・システムにおける完全なパス名を表します。次に、完全修飾ファイル名の例を示します。

+data/orcl/controlfile/Current.256.541956473

ユーザーは、完全修飾ファイル名を使用してOracle ASMファイルを参照(読取りまたは取得)できます。また、他の短縮ファイル名形式(エイリアスOracle ASMファイル名など)を使用してOracle ASMファイルを参照することもできます。

Oracle ASMでは、ファイル作成のリクエスト時に完全修飾ファイル名が生成されます。作成リクエストでは完全修飾ファイル名は指定されません(指定できません)。かわりに、より簡単な構文を使用してファイルが指定されます(エイリアスやディスク・グループ名など)。Oracle ASMは、そのファイルを作成し、ファイル・タイプに従って正しいOracle ASMパスに配置してから、適切な完全修飾ファイル名を割り当てます。作成リクエストでエイリアスを指定した場合は、Oracle ASMにより完全修飾ファイル名を参照するようにエイリアスも作成されます。

Oracle ASMファイル作成リクエストは、単一ファイル作成リクエストまたは複数ファイル作成リクエストのいずれかです。

ノート:

  • 生成された名前は、Oracleファイル名を表示するデータベース・ビュー(V$DATAFILEV$LOGFILEなど)で見つけることができます。SQL文でOracle ASMファイルを参照する必要がある場合は、この名前を使用するか、この名前の短縮形を使用できます。他のOracle Databaseファイル名と同様に、Oracle ASMファイル名は制御ファイルおよびRMANカタログに保存されます。

  • REUSEキーワードを指定した場合は、完全修飾ファイル名と数値ファイル名を単一ファイル作成で使用できます(「SQL文でのOracle ASMファイル名の使用」を参照)。

  • ファイル名では、スラッシュ(/)とバックスラッシュ(\)は置換え可能です。ファイル名の大文字と小文字は区別されませんが、保持されます。

表5-2では、各ファイル名形式に有効な使用方法を示します。その形式がファイル作成に使用される場合、この表では、作成されるファイルがOracle Managed Files(OMF)かどうかを示します。

表5-2 Oracle ASMファイル名形式の有効な使用方法

ファイル名の形式 ファイル参照 単一ファイル作成 複数ファイル作成 OMFとして作成される

完全修飾ファイル名

はい

いいえ

いいえ

いいえ

エイリアス・ファイル名

はい

はい

いいえ

いいえ

テンプレート付きエイリアス・ファイル名

いいえ

はい

いいえ

いいえ

不完全なファイル名

いいえ

はい

はい

はい

テンプレート付きの不完全なファイル名

いいえ

はい

はい

はい

この項では、次の項目について説明します。

単一ファイル作成形式

単一ファイル作成形式は、単一ファイル(データファイルや制御ファイルなど)の作成に使用されます。このタイプのOracle ASMファイル名の形式は、+data/orcl/ctl.fなどのエイリアスか、プラス記号が先頭に付いたディスク・グループ名(+data)などの不完全なファイル名のいずれかです。CREATE TABLESPACECREATE CONTROLFILEなどのSQL文でファイル名がコールされる場合は、このエイリアスまたはディスク・グループ名を使用します。

複数ファイル作成形式

複数ファイル作成形式は、初期化パラメータDB_CREATE_FILE_DESTに値を割り当てる場合など、Oracle ASMファイルの作成のために複数回使用されます。また、CREATE TABLESPACE文を(ファイル名を指定せずに)複数回実行することもできます。そのたびに、Oracle ASMでは異なる一意のデータファイル名が作成されます。

複数ファイル作成形式を使用するときは、プラス記号が先頭に付いたディスク・グループ名(+data)などの不完全なファイル名形式を使用できます。この場合は、DB_CREATE_FILE_DESTを不完全なファイル名(たとえば、+data)に設定すると、DB_CREATE_FILE_DESTにデータベース・ファイルを作成する必要があるコマンドが実行されるたびに、指定されたディスク・グループにファイルが作成され、一意の完全修飾名が割り当てられます。他の*_DEST初期化パラメータでは、不完全なファイル名を使用できます。

完全修飾ファイル名形式

完全修飾形式は、Oracle ASM操作(ディスク・グループの作成を除く)で既存のOracle ASMファイルを参照する場合に使用できます。この形式は、Oracle ASMファイルの作成時にOracle ASMで自動的に生成されるOracle ASMファイル名です。

非マルチテナント環境では、完全修飾ファイル名の形式は次のとおりです。

+diskgroup/dbname/filetype/filetypetag.file.incarnation

マルチテナント・データベースでは、完全修飾ファイル名の形式は次のとおりです。

+diskgroup/cdb/pdb_guid/filetype/filetypetag.file.incarnation

完全修飾ファイル名のフィールドは次のとおりです。

  • +diskgroupは、プラス記号が先頭に付いたディスク・グループ名です。

    プラス記号(+)は、UNIXまたはLinuxコンピュータにおけるスラッシュ(/)と同様に、Oracle ASMファイル・システムのルート・ディレクトリとみなすことができます。

  • dbnameは、ファイルが属するデータベースのDB_UNIQUE_NAMEです。

  • filetypeはOracleファイル・タイプであり、表5-3に示したファイル・タイプのいずれかにすることができます。

  • filetypetagはファイルに関するタイプ固有の情報であり、表5-3に示したタグのいずれかにすることができます。

  • file.incarnationはファイル/インカネーションのペアであり、一意性の保証に使用されます。

  • cdbはCDBの名前です。

  • pdb_guidはPDBのGUID値です。

完全修飾されたOracle ASMファイル名の例を次に示します。

SQL> SELECT NAME FROM V$DATAFILE; 

NAME
---------------------------------------------------------------------------
+DATA/ORCL/DATAFILE/system.257.967544915
+DATA/ORCL/DATAFILE/sysaux.258.967544961
+DATA/ORCL/DATAFILE/undotbs1.259.967544985
+DATA/ORCL/64A52F53A7693286E053CDA9E80AED76/DATAFILE/system.267.967545119
+DATA/ORCL/64A52F53A7693286E053CDA9E80AED76/DATAFILE/sysaux.266.967545119
+DATA/ORCL/DATAFILE/users.260.967544987
...

表5-3 Oracleファイル・タイプとOracle ASMファイル・タイプ・タグ

Oracle ASMファイル・タイプ 説明 Oracle ASMファイル・タイプ・タグ 備考

CONTROLFILE

制御ファイルとバックアップ制御ファイル

現行

バックアップ

アーカイブ

バックアップ

DATAFILE

データファイルとデータファイル・コピー

tblspname

ファイルが追加される表領域の名前

ONLINELOG

オンライン・ログ

group_loggroup#

ARCHIVELOG

アーカイブ・ログ

thread_thread#_seq_sequence#

TEMPFILE

一時ファイル

tsname

ファイルが追加される表領域の名前

BACKUPSET

データファイルとアーカイブ・ログのバックアップ・ピース(データファイルの増分バックアップ・ピース)

spfile?_timestamp

spfile?では、2つの値のいずれかを使用できます。sは、バックアップ・セットにspfileが含まれていることを示します。nは、バックアップ・セットにspfileが含まれていないことを示します。

timestampは、バックアップの開始時刻です。

PARAMETERFILE

永続パラメータ・ファイル

spfile

SPFILEの名前

DATAGUARDCONFIG

Data Guard構成ファイル

db-unique-name

Data Guardでは、DB_UNIQUE_NAME初期化パラメータの値が使用されます。

FLASHBACK

フラッシュバック・ログ

log_flashbacklog#

CHANGETRACKING

ブロック・チェンジ・トラッキング・データ

ctf

増分バックアップ中に使用されます。

DUMPSET

データ・ポンプ・ダンプセット

user_obj#_file#

ダンプ・セット・ファイルは、ユーザー名、ダンプ・セットが作成されたジョブ番号およびファイル番号をタグの一部としてエンコードします。

XTRANSPORT

データファイル変換

tblspname

Oracle ASMメタデータが追加される表領域の名前

AUTOBACKUP

自動バックアップ・ファイル

spfile?_timestamp

spfile?では、2つの値のいずれかを使用できます。sは、バックアップ・セットにspfileが含まれていることを示します。nは、バックアップ・セットにspfileが含まれていないことを示します。

timestampは、バックアップの開始時刻です。

ASMPARAMETERFILE

Oracle ASM永続パラメータ・ファイル

spfile

Oracle ASM SPFILEの名前

OCRFILE

Oracle Clusterware Registryファイル

ocrfile

OCRファイルの名前

エイリアスOracle ASMファイル名形式

エイリアスOracle ASMファイル名は、既存のOracle ASMファイルの参照と新しいOracle ASMファイルの作成の両方に使用できます。エイリアス名は、プラス記号が先頭に付いたディスク・グループ名で始まり、その後に名前文字列を指定します。エイリアス・ファイル名は、階層ディレクトリ構造を使用して実装され、名前の構成要素はスラッシュ(/)または円記号(\)で区切られます。エイリアスは、Oracle Managed Filesで生成された(システム生成の)またはユーザー作成のOracle ASMディレクトリで作成できます。エイリアスにはディスク・グループ名を含める必要があります。ルート・レベル(+)ではエイリアスを作成できません。

エイリアス・ファイル名を使用してOracle ASMファイルを作成すると、そのファイルは完全修飾ファイル名で作成され、さらにエイリアス・ファイル名も作成されます。これにより、どちらの名前でもファイルにアクセスできるようになります。

エイリアスOracle ASMファイル名はドット区切りの数値ペアで終わっていないため、完全修飾ファイル名や数値ファイル名とは区別されます。USERS.259.685366091形式など、ドット区切りの数値ペアで終わるエイリアスを作成しようとすると、エラーが発生します。次に、Oracle ASMエイリアス・ファイル名の例を示します。

+data/orcl/control_file1
+fra/recover/second.dbf

Oracle Databaseは、エイリアスを使用してデータベース・ファイルを作成した場合にのみ、エイリアス・ファイル名でデータベース・ファイルを参照します。エイリアスを使用せずにデータベース・ファイルを作成し、後でエイリアスを追加した場合は、データベースは完全修飾ファイル名でファイルを参照します。次に、データベースによるエイリアス・ファイル名の使用方法の例を示します。

  • エイリアス・ファイル名はV$ビューに表示されます。たとえば、表領域を作成し、データファイルのエイリアス・ファイル名を使用した場合は、V$DATAFILEビューにエイリアス・ファイル名が表示されます。

  • 制御ファイルがデータファイルとオンラインREDOログ・ファイルを指定する場合、その制御ファイルではエイリアス・ファイル名を使用できます。

  • CONTROL_FILES初期化パラメータでは、制御ファイルのエイリアス・ファイル名を使用できます。Database Configuration Assistant (DBCA)は、エイリアス・ファイル名を使用して制御ファイルを作成します。

ノート:

エイリアス・ファイル名を使用して作成されたファイルは、Oracle Managed Filesとはみなされず、不要になった場合は手動による削除が必要になることがあります。

エイリアス・ファイル名の詳細は、Oracle ASMファイル名のエイリアス名の管理を参照してください。

Oracle ASMでの表領域の作成: エイリアス名でのデータファイルの使用

例5-1では、エイリアス名を持つデータファイルと、ユーザー定義テンプレートmy_undo_templateで設定される属性を使用してUNDO表領域が作成されます。この例は、エイリアス名を含めるディレクトリがdataディスク・グループに作成されていること、およびユーザー定義テンプレートが存在することを前提としています。

データファイルの作成時にはエイリアスが使用されるため、そのファイルはOracle Managed Files (OMF)ファイルではなく、表領域を削除しても自動的に削除されません。表領域の削除後に手動でファイルを削除するには、次のSQL文を使用します。

ALTER DISKGROUP data DROP FILE '+data/orcl/my_undo_ts';

例5-1 エイリアス名を使用した表領域の作成

CREATE UNDO TABLESPACE myundo 
     DATAFILE '+data(my_undo_template)/orcl/my_undo_ts' SIZE 200M; 

テンプレート付きのエイリアスOracle ASMファイル名形式

テンプレート付きのエイリアスOracle ASMファイル名は、Oracle ASMファイル作成操作にのみ使用されます。この形式は次のとおりです。

+diskgroup(templatename)/alias

テンプレート付きのエイリアス・ファイル名は、エイリアス・ファイル名と同じように機能します。ただし、テンプレート付きのエイリアス・ファイル名で作成されたファイルは、名前付きのテンプレートによって指定された属性を受け取ります。テンプレートは、ファイルが作成されるディスク・グループに属している必要があります。

次に、テンプレート付きエイリアスOracle ASMファイル名の例を示します。

+data(mytemplate)/config1

この例のようにテンプレート名を明示的に指定すると、作成されるファイルのタイプに対するシステム・デフォルト・テンプレートは無効になります。

ノート:

テンプレート付きエイリアス・ファイル名を使用して作成されたファイルは、Oracle Managed Filesとはみなされず、不要になった場合は手動による削除が必要になることがあります。

関連項目:

不完全なOracle ASMファイル名形式

不完全なOracle ASMファイル名は、ファイル作成操作にのみ使用され、単一ファイル作成と複数ファイル作成の両方に使用されます。このファイル名は、ディスク・グループ名のみで構成されます。Oracle ASMでは、システム・デフォルト・テンプレートを使用してOracle ASMファイルのミラー化およびストライプ化属性が決定されます。使用されるシステム・テンプレートは、作成されるファイル・タイプによって決まります。たとえば、表領域のデータファイルを作成する場合は、DATAFILEテンプレートが使用されます。

不完全なOracle ASMファイル名の使用例としては、たとえばDB_CREATE_FILE_DEST初期化パラメータを次のように設定します。

+data

この設定を使用すると、表領域を作成するたびにデータファイルがdataディスク・グループに作成され、各データファイルには異なる完全修飾名が割り当てられます。詳細は、ディスク・グループ指定にデフォルトのファイルの場所を使用したOracle ASMファイルの作成を参照してください。

テンプレート付きの不完全なOracle ASMファイル名形式

テンプレート付きの不完全なOracle ASMファイル名は、ファイル作成操作にのみ使用され、単一ファイル作成と複数ファイル作成の両方に使用されます。このファイル名は、ディスク・グループ名とそれに続くカッコで囲まれたテンプレート名で構成されます。ファイル名で明示的にテンプレートを指定すると、Oracle ASMはそのファイル・タイプのデフォルト・テンプレートではなく指定されたテンプレートを使用して、ファイルの属性を決定します。

テンプレート付きの不完全なOracle ASMファイル名の使用例としては、たとえばDB_CREATE_FILE_DEST初期化パラメータを次のように設定します。

+data(mytemplate)

データベースにおけるOracle ASMファイルの作成と参照

エイリアスを使用して作成していないかぎり、Oracle ASMファイルはOracle Managed Fileです。Oracle Managed Fileは、不要になると自動的に削除されます。

この項では、次の項目について説明します。

ディスク・グループ指定にデフォルトのファイルの場所を使用したOracle ASMファイルの作成

オペレーティング・システム・ファイルに対してOracle Managed Files機能を使用すると、データファイル、一時ファイル、REDOログ・ファイルおよび制御ファイルのデフォルトの作成場所としてディレクトリを指定できます。Oracle ASMに対してOracle Managed Files機能を使用すると、これらのファイルおよび他のタイプのファイル(アーカイブ・ログ・ファイルなど)のデフォルトの作成場所として、不完全なOracle ASMファイル名の形式でディスク・グループを指定できます。オペレーティング・システム・ファイルの場合と同様に、デフォルト・ディスク・グループの名前は初期化パラメータに格納され、ファイル作成時にファイル指定(たとえば、DATAFILE句)が明示的に行われていない場合は必ず使用されます。

次の初期化パラメータでは、複数ファイル作成コンテキスト形式のOracle ASMファイル名を宛先として使用できます。

  • DB_CREATE_FILE_DEST

    データファイルおよび一時ファイルを作成するデフォルト・ディスク・グループの場所を指定します。

  • DB_CREATE_ONLINE_LOG_DEST_n

    REDOログおよび制御ファイルを作成するデフォルト・ディスク・グループの場所を指定します。

  • DB_RECOVERY_FILE_DEST

    このパラメータが指定され、DB_CREATE_ONLINE_LOG_DEST_nおよびCONTROL_FILESが指定されていない場合は、制御ファイルおよびREDOログ・ファイルのコピーが含まれる、高速リカバリ領域用のデフォルト・ディスク・グループを指定します。

  • CONTROL_FILES

    制御ファイルを作成するディスク・グループを指定します。

次の初期化パラメータでは、複数ファイル作成コンテキスト形式のOracle ASMファイル名およびOracle ASMディレクトリ名を宛先として使用できます。

  • LOG_ARCHIVE_DEST_n

    REDOログ・ファイルのアーカイブ先としてデフォルト・ディスク・グループまたはOracle ASMディレクトリを指定します。

  • LOG_ARCHIVE_DEST

    REDOログ・ファイルのアーカイブ先としてデフォルト・ディスク・グループまたはOracle ASMディレクトリを指定するためのオプションのパラメータ。1つの宛先のみを指定する場合に使用します。

  • STANDBY_ARCHIVE_DEST

    スタンバイ・データベースにのみ関連します。プライマリ・データベースから受け取るアーカイブ・ログの場所となるデフォルト・ディスク・グループまたはOracle ASMディレクトリを指定します。このマニュアルでは説明していません。このパラメータは現在非推奨になっています。『Oracle Data Guard概要および管理』を参照してください。

次のCREATE TABLESPACE SQL文では、Oracle ASMファイル(この場合はデータファイル)がどのようにデフォルト・ディスク・グループに作成されるのかを示します。この例では、DB_CREATE_FILE_DEST初期化パラメータが+dataに設定されていることを前提としています。

SQL> CREATE TABLESPACE mytblspace;

Oracle ASMにより、dataディスク・グループ内のOracle ASMディスクではmytblspaceのデータファイルが自動的に作成されて管理されます。ファイル・エクステントは、データファイルのデフォルト・テンプレートで定義された属性を使用して格納されます。

関連項目:

SQL文でのOracle ASMファイル名の使用

Oracle ASMファイル名は、SQL文のファイル指定句で指定できます。初めてファイルを作成する場合は、Oracle ASMファイル名の作成形式を使用します。Oracle ASMファイルが存在する場合は、参照形式のファイル名を使用する必要があり、ファイルを再作成する場合は、領域が新しいファイルに再利用されるように、REUSEキーワードを追加する必要があります。たとえば、Oracle ASMでの制御ファイルの作成に示されているように、制御ファイルを再作成する場合は、このような使用方法が可能です。

参照形式をREUSEキーワードとともに使用し、ファイルが存在しない場合は、エラーが発生します。

例5-2に、SQL文でOracle ASMファイル名を指定する例を示します。この場合、ファイル作成形式で使用されます。

表領域mytblspaceが作成されます。この表領域は、ディスク・グループdataに含まれている、サイズが200MBの1つのデータファイルで構成されます。データファイルは自動拡張可能に設定され、最大サイズの制限もありません。AUTOEXTEND句を使用すると、このデフォルトを無効にすることができます。

SQL文でのOracle ASMファイル名の他の使用例は、「SQL*Plusを使用したOracle ASMでのデータベース・ファイルの作成」を参照してください。

例5-2 SQL文でのOracle ASMファイル名の使用

CREATE TABLESPACE mytblspace DATAFILE '+data' SIZE 200M AUTOEXTEND ON;

ALTER DATABASEを使用したディスク・グループ間のデータファイルの移動

ALTER DATABASE MOVE DATAFILE SQL文を使用して、データベースがオープンしていてユーザーがデータファイルにアクセスしている場合に、ディスク・グループ間でデータファイルを移動できます。

例5-3に、DATAディスク・グループからDATA2ディスク・グループにデータファイルを移動する方法を示します。

例5-3 ALTER DATABASE MOVE DATAFILEを使用したオンラインでのデータファイルの移動

/* Create a new disk group DATA2 using ASMCA, ASMCMD, or SQL */
/* Then create appropriate directories in the DATA2 disk group */

ALTER DISKGROUP data2 ADD DIRECTORY '+DATA2/ORCL';

ALTER DISKGROUP data2 ADD DIRECTORY '+DATA2/ORCL/DATAFILE';

/* Move the EXAMPLE data file in DATA to EXAMPLE_STORAGE in DATA2
ALTER DATABASE MOVE DATAFILE '+DATA/ORCL/DATAFILE/EXAMPLE.266.798707687' 
      TO '+DATA2/ORCL/DATAFILE/EXAMPLE_STORAGE';

SELECT SUBSTR(name,1,64) FROM V$DATAFILE;
 
SUBSTR(NAME,1,64)
----------------------------------------------------------------
+DATA/ORCL/DATAFILE/system.258.798707555
+DATA2/ORCL/DATAFILE/example_storage
+DATA/ORCL/DATAFILE/sysaux.257.798707491
+DATA/ORCL/DATAFILE/undotbs1.260.798707621
+DATA/ORCL/DATAFILE/users.259.798707621

関連項目:

Oracle ASMファイルのOracle Databaseファイル・マッピング

I/Oパフォーマンスについて理解するには、ファイルが格納されている記憶域の階層の詳細を知る必要があります。

Oracle Databaseには、ファイル、論理ボリュームの中間レイヤーおよび実際の物理デバイスのマッピング全体を表示する動的パフォーマンス・ビューが用意されています。これらの動的ビューを使用すると、ファイル・ブロックがあるディスクを正確に特定できます。

Oracle Databaseは、FMONと呼ばれるバックグラウンド・プロセスと通信し、マッピング情報を管理します。OracleにはPL/SQL DBMS_STORAGE_MAPパッケージが用意されており、これによりマッピング・ビューを移入するマッピング操作を起動します。

Oracle Databaseファイル・マッピングは、Oracle ASMファイルのマッピング時にサード・パーティ・ライブラリを必要としません。また、Oracle Databaseは、すべてのオペレーティング・システム・プラットフォームでOracle ASMファイルをサポートします。

この項のすべての例は、Oracle Databaseインスタンス上で実行されます。

この項では、次の項目について説明します。

関連項目:

Oracle ASMファイルを使用したファイル・マッピングの有効化

ファイル・マッピングを有効化するには、FILE_MAPPING初期化パラメータをTRUEに設定します。このパラメータを設定するためにデータベース・インスタンスを停止する必要はありません。パラメータは、次のALTER SYSTEM文を使用して設定できます。

SQL> ALTER SYSTEM SET FILE_MAPPING=TRUE;

適切なDBMS_STORAGE_MAPマッピング・プロシージャを実行します。

  • コールド・スタートの使用例では、Oracle Databaseが起動したのみで、まだマッピング操作は起動されていません。DBMS_STORAGE_MAP.MAP_ALLプロシージャを実行して、データベースに関連するI/Oサブシステム全体のマッピング情報を作成できます。

    たとえば、次のコマンドでは、マッピング情報が作成され、10000のエクステントが提供されます。

    SQL> EXECUTE DBMS_STORAGE_MAP.MAP_ALL(10000);
    
  • ウォーム・スタートの使用例では、マッピング情報はすでに作成されており、DBMS_STORAGE_MAP.MAP_SAVEプロシージャを起動してマッピング情報をデータ・ディクショナリに保存するかどうかをオプションで選択できます。

    このプロシージャは、デフォルトでDBMS_STORAGE_MAP.MAP_ALL()内で起動します。これにより、SGA内のすべてのマッピング情報がディスクに強制的にフラッシュされます。DBMS_STORAGE_MAP.MAP_SAVEプロシージャは、デフォルトでDBMS_STORAGE_MAP.MAP_ALL()内で起動します。

データベースの再起動後に、DBMS_STORAGE_MAP.RESTORE()を使用してマッピング情報をSGAにリストアします。必要な場合は、DBMS_STORAGE_MAP.MAP_ALL()をコールしてマッピング情報をリフレッシュできます。

Oracle ASMファイルを使用したファイル・マッピング・ビューの使用

DBMS_STORAGE_MAPパッケージにより生成されたマッピング情報は、動的パフォーマンス・ビューで取得されます。これらのビューには、V$MAP_COMP_LISTV$MAP_ELEMENTV$MAP_EXT_ELEMENTV$MAP_FILE、V$MAP_FILE_EXTENTV$MAP_FILE_IO_STACKV$MAP_LIBRARYおよびV$MAP_SUBELEMENTが含まれます。

たとえば、V$MAP_FILEを使用してファイル・マッピングを表示できます。

SQL> SELECT FILE_MAP_IDX, SUBSTR(FILE_NAME,1,45), FILE_TYPE, FILE_STRUCTURE FROM V$MAP_FILE;

FILE_MAP_IDX SUBSTR(FILE_NAME,1,45)                        FILE_TYPE   FILE_STRU
------------ --------------------------------------------- ----------- ---------
           0 +DATA/ORCL/DATAFILE/system.258.841314095      DATAFILE    ASMFILE
           1 +DATA/ORCL/DATAFILE/sysaux.257.841314021      DATAFILE    ASMFILE
           2 +DATA/ORCL/DATAFILE/undotbs1.260.841314161    DATAFILE    ASMFILE
           3 +DATA/ORCL/DATAFILE/example.266.841314219     DATAFILE    ASMFILE
           4 +DATA/ORCL/DATAFILE/users.259.841314161       DATAFILE    ASMFILE
           5 +DATA/ORCL/ONLINELOG/group_3.264.841314209    LOGFILE     ASMFILE
           6 +FRA/ORCL/ONLINELOG/group_3.259.841314211     LOGFILE     ASMFILE
           7 +DATA/ORCL/ONLINELOG/group_2.263.841314207    LOGFILE     ASMFILE
           8 +FRA/ORCL/ONLINELOG/group_2.258.841314207     LOGFILE     ASMFILE
           9 +DATA/ORCL/ONLINELOG/group_1.262.841314203    LOGFILE     ASMFILE
          10 +FRA/ORCL/ONLINELOG/group_1.257.841314203     LOGFILE     ASMFILE
          11 +DATA/ORCL/TEMPFILE/temp.265.841314217        TEMPFILE    ASMFILE
          12 +DATA/ORCL/CONTROLFILE/current.261.841314199  CONTROLFILE ASMFILE
          13 +FRA/ORCL/CONTROLFILE/current.256.841314201   CONTROLFILE ASMFILE

関連項目:

動的ビューの詳細は、『Oracle Databaseリファレンス』を参照してください

Oracle ASMファイルを使用したDBMS_STORAGE_MAPパッケージの使用

DBMS_STORAGE_MAP PL/SQLパッケージでプロシージャを使用して、マッピング操作を制御できます。たとえば、DBMS_STORAGE_MAP.MAP_OBJECTプロシージャを使用して、オブジェクト名、所有者およびタイプで指定されたデータベース・オブジェクトのマッピング情報を作成できます。DBMS_STORAGE_MAP.MAP_OBJECTプロシージャを実行した後、問合せを作成してMAP_OBJECTビューに含まれるマッピング情報を表示できます。

SQL> EXECUTE DBMS_STORAGE_MAP.MAP_OBJECT('EMPLOYEES','HR','TABLE');

SQL> SELECT io.OBJECT_NAME o_name, io.OBJECT_OWNER o_owner, io.OBJECT_TYPE o_type,
       mf.FILE_NAME, me.ELEM_NAME, io.DEPTH,
      (SUM(io.CU_SIZE * (io.NUM_CU - DECODE(io.PARITY_PERIOD, 0, 0, 
                         TRUNC(io.NUM_CU / io.PARITY_PERIOD)))) / 2) o_size
   FROM MAP_OBJECT io, V$MAP_ELEMENT me, V$MAP_FILE mf
   WHERE io.OBJECT_NAME =  'EMPLOYEES'
   AND   io.OBJECT_OWNER = 'HR'
   AND   io.OBJECT_TYPE =  'TABLE'
   AND   me.ELEM_IDX = io.ELEM_IDX
   AND   mf.FILE_MAP_IDX = io.FILE_MAP_IDX
   GROUP BY io.ELEM_IDX, io.FILE_MAP_IDX, me.ELEM_NAME, mf.FILE_NAME, io.DEPTH,
         io.OBJECT_NAME, io.OBJECT_OWNER, io.OBJECT_TYPE
   ORDER BY io.DEPTH;
 
O_NAME    O_OWNER O_TYPE FILE_NAME                                 ELEM_NAME        DEPTH O_SIZE
--------- ------- ------ ----------------------------------------- ---------------- ----- ------
EMPLOYEES HR      TABLE  +DATA/ORCL/DATAFILE/example.266.841314219 +/devices/diskd2     0     64
EMPLOYEES HR      TABLE  +DATA/ORCL/DATAFILE/example.266.841314219 +/devices/diske2     0     64

関連項目:

DBMS_STORAGE_MAPパッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

Oracle ASMファイル名のエイリアス名の管理

エイリアス名(またはエイリアス)は、システム生成のファイル名を使用するのではなく、Oracle ASMファイルをより簡単に参照するための手段です。

データベース内でファイルを作成するときにファイルのエイリアスを作成したり、ALTER DISKGROUP文のADD ALIAS句を使用して既存のファイルにエイリアスを追加したりできます。エイリアスは、システム生成またはユーザー作成のOracle ASMディレクトリで作成できます。エイリアスにはディスク・グループ名を含める必要があります。ルート・レベル(+)ではエイリアスを作成できません。

この項では、次の項について説明します。

関連項目:

Oracle ASMファイル名のエイリアス名の追加

ALTER DISKGROUP文のADD ALIAS句を使用して、Oracle ASMファイル名のエイリアス名を作成します。エイリアス名は、完全ディレクトリ・パスとエイリアス自体で構成されている必要があります。

例5-4では、システム生成のファイル名に新しいエイリアス名を追加します。

例5-4 Oracle ASMファイル名のエイリアス名の追加

ALTER DISKGROUP data ADD ALIAS '+data/orcl/second.dbf'
     FOR '+data/orcl/datafile/mytable.342.123456789';

Oracle ASMファイル名のエイリアス名の変更

ALTER DISKGROUP文の RENAME ALIAS句を使用して、Oracle ASMファイル名のエイリアス名を変更します。新旧のエイリアス名は、エイリアス名の完全ディレクトリ・パスで構成されている必要があります。

例5-5では、エイリアス名を変更します。

エイリアス名を変更しても、エイリアスに対するデータベース参照は更新されません。

例5-5 Oracle ASMファイル名のエイリアス名の変更

ALTER DISKGROUP data RENAME ALIAS '+data/orcl/datafile.dbf'
     TO '+data/payroll/compensation.dbf';

Oracle ASMファイル名のエイリアス名の削除

ALTER DISKGROUP文のDROP ALIAS句を使用して、Oracle ASMファイル名のエイリアスを削除します。エイリアス名は、完全ディレクトリ・パスとエイリアス自体で構成されている必要があります。エイリアスが参照する基礎となるファイルは変更されません。

例5-6では、エイリアスを削除します。

例5-7は、システム生成のファイル名を削除しようとしており、この構文は許可されないため、失敗します。

例5-6 Oracle ASMファイル名のエイリアス名の削除

ALTER DISKGROUP data DROP ALIAS '+data/payroll/compensation.dbf';

例5-7 Oracle ASMファイル名のエイリアス名の削除

ALTER DISKGROUP data 
     DROP ALIAS '+data/orcl/datafile/mytable.342.123456789';

ディスク・グループからのファイルおよび関連エイリアスの削除

ALTER DISKGROUP文のDROP FILE句を使用して、ディスク・グループからOracle ASMファイルおよび関連するエイリアスを削除できます。削除するファイルを指定する場合は、完全修飾ファイル名またはエイリアス名を使用する必要があります。エイリアスを削除しても、ファイル・システム上で基礎となるファイルは削除されません。

ファイルを削除する必要がある理由には、次のようなものがあります。

  • エイリアスを使用して作成されるファイルはOracle Managed Fileではありません。そのため、このファイルは自動的に削除されません。

  • データベースの特定の時間におけるリカバリにより、表領域が作成される前の時間にデータベースがリストアされる可能性があります。リストアによって表領域は削除されませんが、リストアされたデータベースでこの表領域(またはそのデータファイル)は参照されていません。このデータファイルは手動で削除できます。

例5-8では、ファイルとエイリアスの両方をディスク・グループから削除する際に、ファイルのエイリアス名を使用します。

例5-9では、ファイルおよび関連エイリアスを削除する際に、Oracle Managed Files(システム生成)のファイル名を使用します。

例5-8 エイリアス名を使用したファイルとエイリアスのディスク・グループからの削除

ALTER DISKGROUP data DROP FILE '+data/payroll/compensation.dbf';

例5-9 システム生成の名前を使用したファイルとエイリアスのディスク・グループからの削除

ALTER DISKGROUP data
     DROP FILE '+data/orcl/datafile/mytable.342.123456789';

ディスク・グループ・ディレクトリの管理

Oracle ASMディスク・グループには、Oracle ASMファイルを格納するためのシステム生成の階層ディレクトリ構造があります。Oracle ASMにより各ファイルに割り当てられるシステム生成のファイル名は、このディレクトリ階層内のパスを示します。次に、システム生成のファイル名の例を示します。

+data/orcl/CONTROLFILE/Current.256.541956473

プラス記号は、Oracle ASMファイル・システムのルートを示します。dataディレクトリは、ディスク・グループdata内のすべてのファイルの親ディレクトリです。orclディレクトリはorclデータベース内のすべてのファイルの親ディレクトリで、CONTROLFILEディレクトリにはorclデータベースのすべての制御ファイルが含まれます。

この階層には、作成するエイリアスを格納するための独自のディレクトリを作成できます。このため、Oracle ASMファイル用としてわかりやすいエイリアス名の他に、これらの名前に対してもわかりやすいパスを使用できます。

この項では、ALTER DISKGROUP文を使用してエイリアスのディレクトリ構造を作成する方法について説明します。また、ディレクトリ名の変更方法や、ディレクトリの削除方法についても説明します。この項では、次の項目について説明します。

ディレクトリの作成

ALTER DISKGROUP文のADD DIRECTORY句を使用して、Oracle ASMファイルのエイリアス名の階層ディレクトリ構造を作成します。スラッシュ文字(/)またはバックスラッシュ文字(\)を使用して、ディレクトリ・パスのコンポーネントを区切ります。ディレクトリ・パスは、先頭にプラス記号 (+)が付いたディスク・グループ名にする必要があり、その後に任意のサブディレクトリ名を指定できます。

ディレクトリ内でサブディレクトリまたはエイリアスを作成するには、その親ディレクトリが存在している必要があります。ディレクトリは、ディスク・グループ・レベルの下に作成する必要があります。

例5-10では、ディスク・グループdataの階層ディレクトリを作成し、このディレクトリには、+data/orcl/control_file1などのエイリアス名を含めることができます。

例5-11のSQL文は、+data/orclディレクトリの下にサブディレクトリがない場合、失敗します。

例5-10 新規ディレクトリの作成

ALTER DISKGROUP data ADD DIRECTORY '+data/orcl';

例5-11 新規サブディレクトリの作成

ALTER DISKGROUP data
     ADD DIRECTORY '+data/orcl/first_dir/second_dir';

ディレクトリ名の変更

ALTER DISKGROUP文のRENAME DIRECTORY句を使用して、ディレクトリ名を変更できます。システム生成のディレクトリ(システム生成の名前が含まれるディレクトリ)は、名前を変更できません。ルート・レベル(ディスク・グループ名)は、名前を変更できません。

例5-12では、ディレクトリ名を変更します。

例5-12 ディレクトリ名の変更

ALTER DISKGROUP data RENAME DIRECTORY '+data/mydir'
     TO '+data/yourdir';

ディレクトリの削除

ALTER DISKGROUP文のDROP DIRECTORY句を使用して、ディレクトリを削除できます。システム生成のディレクトリは削除できません。FORCE句も指定しないかぎり、エイリアス名を含むディレクトリは削除できません。

例5-13では、ディレクトリとその内容を削除します。

例5-13 ディレクトリの削除

ALTER DISKGROUP data DROP DIRECTORY '+data/yourdir' FORCE;

XML DB仮想フォルダによるOracle ASMファイルへのアクセス

Oracle ASMのファイルおよびディレクトリには、XML DBリポジトリ内の仮想フォルダからアクセスできます

仮想フォルダのリポジトリ・パスは/sys/asmです。実際にはフォルダの内容はリポジトリ内に存在しないため、フォルダは仮想です。フォルダの内容は、通常のOracle ASMファイルおよびディレクトリとして存在します。たとえば、/sys/asmは、プログラム的なAPI(DBMS_XDBパッケージなど)とXML DBプロトコル(FTPやHTTP/WebDAVなど)でOracle ASMファイルおよびディレクトリにアクセスして操作する手段を提供します。ASMCMD cpコマンドを使用してファイルをコピーすることもできます。

この機能の一般的な用途としては、/sys/asmをWebフォルダとしてグラフィカル・ユーザー・インタフェースに(WebDAVプロトコルで)表示し、次にデータ・ポンプ・ダンプセットをOracle ASMディスク・グループからオペレーティング・システムのファイル・システムにドラッグ・アンド・ドロップでコピーします。

SYS以外のユーザーとしてログインする必要があります。また、XML DBプロトコルで/sys/asmにアクセスするには、DBAロールが付与されている必要があります。

ノート:

セキュリティ上の理由で、FTPはデフォルトで無効になっています。IETF FTPプロトコルの仕様ではパスワードをクリアテキストで送信することが要求されているためです。無効化は、FTPサーバーのポートをゼロ(0)にすることで実現しています。FTPを有効にするには、ftp-portパラメータを使用するFTPポート(2100など)に設定します。

関連項目:

/sys/asm内

Oracle ASM仮想フォルダは、XML DBのインストール時にデフォルトで作成されます。データベースがOracle ASMを使用するよう構成されていない場合は、フォルダは空で、フォルダに関する操作は許可されません。

Oracle ASM仮想フォルダには、Oracle ASM完全修飾ファイル名の構造によって定義された階層に従っているフォルダとサブフォルダが含まれます。図5-1に、この階層の例を示します。簡単にするために、エイリアス用に作成されるディレクトリは除外されています。

/sys/asmフォルダには、マウントされたディスク・グループごとに1つのサブフォルダが含まれ、各ディスク・グループ・フォルダには、そのディスク・グループを使用するデータベースごとに1つのサブフォルダが含まれます。ディスク・グループ・フォルダには、管理者が作成したエイリアスに対応するファイルとフォルダが含まれていることもあります。さらにこの階層では、データベース・フォルダにファイル・タイプ・フォルダが含まれ、ファイル・タイプ・フォルダにOracle ASMファイルが含まれています。

図5-1 XML DBインストールにおけるOracle ASMフォルダの階層構造

図5-1の説明が続きます
「図5-1 XML DBインストールにおけるOracle ASMフォルダの階層構造」の説明

/sys/asmに関する使用上の制限事項を次に示します。

  • DBMS_XDB.LINKなどのAPIで既存のOracle ASMファイルまたはディレクトリに対するハード・リンクを作成することはできません。

  • Oracle ASMファイルを別のディスク・グループやOracle ASMの外部のディレクトリに名前変更(移動)することはできません。

ディスク・グループの名前を格納するためにディレクトリ/sys/asmを使用できます。このディレクトリにその他のファイルを格納することはできません。/sys/asmの下にあるディスク・グループ・ディレクトリ(/sys/asm/DATAなど)内で、これらのサブディレクトリにデータベース・ファイルのみを格納できます。これらのディレクトリにデータベース・ファイル以外のファイルを格納しようとすると、Oracle ASMで拒否されます。

Oracle ASM用のDBMS_FILE転送ユーティリティの使用

DBMS_FILE_TRANSFERパッケージには、データベース内でOracle ASMファイルをコピーしたり、Oracle ASMを使用するデータベース間でバイナリ・ファイルを転送したりするためのプロシージャが用意されています。DBMS_FILE_TRANSFERパッケージには次のプロシージャがあります。

  • COPY_FILE: ソース・ディレクトリからファイルを読み取り、宛先ディレクトリにファイルのコピーを作成します。ソース・ディレクトリと宛先ディレクトリはどちらもローカル・ファイル・システムまたはOracle ASMディスク・グループ内に含めることができます。移行メタデータまたはデータファイルを一時的にステージングするために使用されるCDBホスト上のファイル・システムの場所を指定します。

  • GET_FILE: リモート・データベースに接続してリモート・ファイルを読み取り、ローカル・ファイル・システムまたはOracle ASMディスク・グループにファイルのコピーを作成します。

  • PUT_FILE: ローカル・ファイルまたはOracle ASMディスク・グループを読み取り、リモート・データベースに接続してリモート・ファイル・システムにファイルのコピーを作成します。

関連項目:

DBMS_FILE_TRANSFERパッケージについては、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

ディスク・グループ・テンプレートの管理

テンプレートは、Oracle ASMディスク・グループで作成されるファイルの属性を設定するのに使用します。

ファイルが作成されると、明示的に名前が付けられたテンプレートや、ファイル・タイプのデフォルトのテンプレートであるシステム・テンプレートに基づいて、冗長性属性およびストライプ化属性が設定されます。

ディスク・グループが作成されると、Oracle ASMによりこのディスク・グループ用のデフォルトのテンプレート・セットが作成されます。このセットは、Oracle ASMでサポートされているファイル・タイプ(データファイル、制御ファイル、REDOログ・ファイルなど)ごとに1つのテンプレートで構成されています。たとえば、ONLINELOGという名前のテンプレートは、Oracle ASMディスクに書き込まれるすべてのREDOログ・ファイルに対してデフォルトのファイルの冗長性属性およびストライプ化属性を指定します。デフォルトのテンプレート設定は、ディスク・グループのタイプに応じて異なります。標準冗長性のディスク・グループ用として、データファイルのデフォルトのテンプレートに双方向ミラー化が設定されますが、これに対応する高冗長性のディスク・グループとしては、デフォルトのテンプレートに3方向ミラー化が設定されます。これらのデフォルトのテンプレートは変更できます。

たとえば、標準冗長性のディスク・グループにおけるオンラインREDOログ・ファイル(ONLINELOGテンプレート)のデフォルトの冗長性は、MIRRORです。つまり、例4-1では、REDOログ・ファイル・エクステントのコピーの1つが障害グループcontroller1のディスクに書き込まれる場合、そのファイル・エクステントのミラー化されたコピーが障害グループcontroller2のディスクに書き込まれます。標準冗長性のディスク・グループのデフォルトのミラー化をサポートするには、少なくとも2つの障害グループを定義する必要があります。

表5-6は、対応するファイルに関連付けられたデフォルトのテンプレートおよび属性のリストです。この表に示すように、デフォルトのテンプレートごとの冗長性の初期値は、テンプレートが属しているディスク・グループのタイプによって決まります。

ALTER DISKGROUP SQL文の句を使用すると、ディスク・グループへの新しいテンプレートの追加、既存のテンプレートの変更、またはテンプレートの削除が可能です。テンプレートを追加するのは、独自の要件を満たす属性の組合せを正しく作成するためです。これにより、ファイルの作成時にテンプレート名を参照し、ファイル・タイプではなく個別ファイルに基づいて目的の属性を割り当てることができるようになります。

この項では、ディスク・グループのテンプレートの管理方法について説明します。内容は次のとおりです。

関連項目:

テンプレート属性

表5-4に、使用可能なストライプ化属性値および割当て単位のサイズ・チャンクを示します。これらの値は、V$ASM_TEMPLATESTRIPE列に対応します。

表5-4 Oracle ASMテンプレートで使用可能なストライプ化属性値

ストライプ化属性値 説明

FINE

128KBのチャンクでのストライプ化

COARSE

1MBのチャンクでのストライプ化

表5-5に、Oracle ASMテンプレートで使用可能な冗長性値を示します。これらの値は、V$ASM_TEMPLATEREDUND列に対応します。

表5-5 Oracle ASMテンプレートで使用可能な冗長性属性値

冗長性属性値 標準冗長性のディスク・グループでのミラー化 高冗長性のディスク・グループでのミラー化 外部冗長性のディスク・グループでのミラー化

MIRROR

双方向ミラー化

3方向ミラー化

(使用不可)

HIGH

3方向ミラー化

3方向ミラー化

(使用不可)

UNPROTECTED

ミラー化なし

(使用不可)

ミラー化なし

表5-6に、一部のデフォルト・テンプレートの初期属性設定を示します。標準冗長性、高冗長性、外部冗長性のディスク・グループについてのミラー化の列に対応するミラー化のタイプは、表5-5で指定されています。たとえば、表5-6では、高冗長性のディスク・グループのミラー化の列はMIRRORとなっています。表5-5での高冗長性のディスク・グループのMIRROR値は、3方向ミラー化に対応しています。

表5-6 Oracle ASMのシステム・デフォルト・テンプレート属性設定

テンプレート名 ファイルのストライプ化 標準冗長性のディスク・グループでのミラー化 高冗長性のディスク・グループでのミラー化 外部冗長性のディスク・グループでのミラー化 プライマリ・リージョン ミラー・リージョン

ARCHIVELOG

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

ASMPARAMETERFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

AUDIT_SPILLFILES

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

AUTOBACKUP

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

BACKUPSET

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

CHANGETRACKING

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

CONTROLFILE

FINE

HIGH

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

DATAFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

DATAGUARDCONFIG

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

DUMPSET

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

FLASHBACK

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

FLASHFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

KEY_STORE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

OCRFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

ONLINELOG

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

PARAMETERFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

TEMPFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

VOTINGFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

XTRANSPORT

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

COLDおよびMIRRORCOLDはデフォルト値であり、PRIMARY_REGIONおよびMIRROR_REGION属性に対して許可されているのはこれらの値のみです。これらの値により、ディスク・ドライブ上で最も内側にある(スピンドルに最も近い)トラックの使用を指定します。

ディスク・グループへのテンプレートの追加

ディスク・グループにテンプレートを追加するには、ALTER DISKGROUP文のADD TEMPLATE句を使用します。

新しいテンプレートの名前が表5-6にない場合、データベース・ファイル・タイプのデフォルトのテンプレートとしては使用されません。そのテンプレートを使用するには、ファイルの作成時にその名前を参照する必要があります。

ディスク・グループにテンプレートを追加する場合、属性はオプションです。冗長性属性を指定しない場合、この値のデフォルト設定は、標準冗長性のディスク・グループの場合はMIRROR、高冗長性のディスク・グループの場合はHIGH、外部冗長性のディスク・グループの場合はUNPROTECTEDになります。ストライプ化属性を指定しない場合、この値はCOARSEにデフォルト設定されます。プライマリ・リージョンまたはミラー・リージョンの属性値を指定しない場合、その値はそれぞれCOLDMIRRORCOLDにデフォルト設定されます。

例5-14では、標準冗長性のディスク・グループdata用にreliableという名前の新しいテンプレートを作成します。

例5-15では、ファイルをUNPROTECTED(ミラー化しない)に指定するunreliableという名前の新しいテンプレートを作成します。

ノート:

Oracleでは、ハードウェアのミラー化を実装していないかぎり、保護されていないファイルは使用しないでください。前述の例は、テンプレートの属性の設定方法を詳細に説明するために示したものにすぎません。

例5-14 ディスク・グループへの高冗長性のテンプレートの追加

ALTER DISKGROUP data ADD TEMPLATE reliable ATTRIBUTES (HIGH FINE);

例5-15 ディスク・グループへの外部冗長性のテンプレートの追加

ALTER DISKGROUP data ADD TEMPLATE unreliable ATTRIBUTES (UNPROTECTED);

関連項目:

ALTER DISKGROUP...ADD TEMPLATEコマンドの詳細は、『Oracle Database SQL言語リファレンス』

ディスク・グループ・テンプレートの変更

ALTER DISKGROUP文のMODIFY TEMPLATE句を使用すると、既存のシステム・デフォルトのディスク・グループ・テンプレートやユーザー定義のディスク・グループ・テンプレートの属性指定を変更できます。変更されるのは、指定したテンプレートの属性のみです。指定していないプロパティは現行の値が維持されます。既存のテンプレートを変更すると、このテンプレートによって作成される新しいファイルにのみ属性の変更が適用されます。既存のファイルの属性は保持されます。

例5-16では、ディスク・グループdatareliableテンプレートのストライプ化属性指定を変更します。

例5-16 ディスク・グループ・テンプレートの変更

ALTER DISKGROUP data MODIFY TEMPLATE reliable 
     ATTRIBUTES (COARSE);

ディスク・グループからのテンプレートの削除

ALTER DISKGROUP文のDROP TEMPLATE句を使用して、ディスク・グループから1つ以上のテンプレートを削除します。削除できるのはユーザー定義のテンプレートのみです。システム・デフォルトのテンプレートは削除できません。

例5-17では、前に作成したテンプレートunreliabledataから削除します。

例5-17 ディスク・グループからのテンプレートの削除

ALTER DISKGROUP data DROP TEMPLATE unreliable;

Oracle ASMでの表領域の作成: テンプレートによる属性の指定

SQL ALTER SYSTEM文とCREATE TABLESPACE文を使用して、表領域を作成します。この表領域では、ユーザー定義のテンプレートを使用してデータファイルの属性を指定します。

例5-18では、テンプレート(mytemplate)が定義されていることを前提としています。

例5-18 ユーザー定義のテンプレートを使用した属性の指定

ALTER SYSTEM SET DB_CREATE_FILE_DEST = '+data(mytemplate)';

CREATE TABLESPACE mytblspace;