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

戻る
戻る
 
次へ
次へ
 

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

この章では、自動ストレージ管理(ASM)のストレージ・オプションを使用する場合のファイル管理方法について説明します。この付録の内容は次のとおりです。

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

ASMでは、データベースに必要なほとんどのファイル・タイプがサポートされます。ただし、ASMディスク・グループに格納することができない管理ファイル・タイプもあります。これらのファイルとしては、トレース・ファイル、監査ファイル、アラート・ログ、エクスポート・ファイル、tarファイルおよびコア・ファイルがあります。

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

表5-1 自動ストレージ管理によってサポートされるファイル・タイプ

ファイル・タイプ サポート対象 デフォルト・テンプレート

制御ファイル

CONTROLFILE

データファイル

DATAFILE

REDOログ・ファイル

ONLINELOG

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

ARCHIVELOG

トレース・ファイル

×

N/A

一時ファイル

TEMPFILE

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

BACKUPSET

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

BACKUPSET

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

BACKUPSET

データファイル・コピー

DATAFILE

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

PARAMETERFILE

障害時リカバリ構成

DATAGUARDCONFIG

フラッシュバック・ログ

FLASHBACK

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

CHANGETRACKING

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

DUMPSET

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

AUTOBACKUP

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

XTRANSPORT

オペレーティング・システム・ファイル

×

N/A



関連項目:

システム・デフォルト・テンプレートについては、「ディスク・グループ・テンプレートの管理」を参照してください。

ASMファイル名について

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

+dgroup2/sample/controlfile/Current.256.541956473

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

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

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


注意:

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


注意:

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

この項の内容は次のとおりです。

表5-2では、各ファイル名形式の有効なコンテキスト、その形式をファイル作成に使用できるかどうか、および作成されるファイルがOracle Managed Files(OMF)かどうかを示します。

表5-2 ASMファイル名形式の有効なコンテキスト

ファイル名の形式 有効なコンテキスト OMF
参照 単一ファイル作成 複数ファイル作成 OMFとして作成される

完全修飾ファイル名

×

×


数値ファイル名

×

×


エイリアス・ファイル名

×

×

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

×

×

×

不完全なファイル名

×

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

×


単一ファイル作成リクエスト

単一ファイル作成リクエストは、単一ファイル(データファイルや制御ファイルなど)の作成リクエストです。このタイプのリクエストにおけるASMファイル名の形式は、エイリアス(たとえば、+dgroup2/control/ctl.f)、またはプラス記号を前に付けたディスク・グループ名です。CREATE TABLESPACECREATE CONTROLFILEなどの文でファイル名が必要になる場合は、このエイリアスまたはディスク・グループ名を使用します。


注意:

ファイル名では、'/'と'\'は置換え可能です。ファイル名の大文字と小文字は区別されませんが、保持されます。

複数ファイル作成リクエスト

複数ファイル作成リクエストは、ASMファイルの作成のために複数回行うことができるリクエストです。たとえば、DB_CREATE_FILE_DEST初期化パラメータに値を割り当てた場合は、CREATE TABLESPACE文を(ファイル名の指定なしに)複数回発行できます。そのたびに、ASMでは異なる一意のデータファイル名が作成されます。

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

完全修飾ASMファイル名

この形式のASMファイル名は、既存のASMファイルを参照する場合に使用できます。これは、ASMファイルの作成時にASMで常に自動的に生成されるファイル名です。

完全修飾ファイル名の形式は次のとおりです。

+group/dbname/file_type/file_type_tag.file.incarnation

説明:

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

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

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

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

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

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

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

+dgroup2/sample/controlfile/Current.256.541956473

表5-3 Oracleファイル・タイプと自動ストレージ管理ファイル・タイプ・タグ

自動ストレージ管理のfile_type 説明 自動ストレージ管理のfile_type_tag コメント

CONTROLFILE

制御ファイルおよびバックアップ制御ファイル

現行

バックアップ

--

DATAFILE

データファイルおよびデータファイル・コピー

tsname

ファイルが追加される表領域。

ONLINELOG

オンライン・ログ

group_group#

--

ARCHIVELOG

アーカイブ・ログ

thread_thread#_seq_sequence#

--

TEMPFILE

一時ファイル

tsname

ファイルが追加される表領域。

BACKUPSET

データファイルおよびアーカイブ・ログ・バックアップ・ピース、データファイル増分バックアップ・ピース

hasspfile_timestamp

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

PARAMETERFILE

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

spfile


DAATAGUARDCONFIG

Data Guard構成ファイル

db_unique_name

Data Guardでは、サービス・プロバイダ名が設定されていれば、その名前の使用が試されます。それ以外の場合は、タグはデフォルトでDRCnameになります。

FLASHBACK

フラッシュバック・ログ

log_log#

--

CHANGETRACKING

ブロック変更トラッキング・データ

ctf

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

DUMPSET

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

user_obj#_file#

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

XTRANSPORT

データファイル変換

tsname

--

AUTOBACKUP

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

hasspfile_timestamp

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


数値ASMファイル名

数値ASMファイル名は、既存のASMファイルを参照する場合に使用できます。このファイル名は、完全修飾ASMファイル名から導出され、次の形式を取ります。

+group.file.incarnation

数値ASMファイル名は、既存のファイル名を必要とする任意のインタフェースで使用できます。

数値ASMファイル名の例を次に示します。

+dgroup2.257.541956473

エイリアスASMファイル名

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

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

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


+dgroup1/myfiles/control_file1
+dgroup2/mydir/second.dbf

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

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

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

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


注意:

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

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

次の文では、エイリアス名を持つデータファイルと、ユーザー定義テンプレートmy_undo_templateで設定される属性を使用してUNDO表領域が作成されます。この例は、エイリアス名を含めるディレクトリがdgroup3ディスク・グループに作成されていること、およびユーザー定義テンプレートが存在することを前提としています。データファイルの作成にはエイリアスが使用されるため、そのファイルはOracle Managed Files(OMF)ファイルではなく、表領域を削除しても自動的に削除されません。

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

次の文では、表領域の削除後に手動でファイルが削除されます。

ALTER DISKGROUP dgroup3 DROP FILE '+dgroup3/myfiles/my_undo_ts';

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

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

+dgroup(template_name)/alias

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

ASMテンプレートの作成およびメンテナンスについては、「ディスク・グループ・テンプレートの管理」を参照してください。

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

+dgroup1(my_template)/config1

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


注意:

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

不完全なASMファイル名

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

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

+dgroup1

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

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

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

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

+dgroup1(my_template)

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

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

この項の内容は次のとおりです。

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

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

表5-4の初期化パラメータは、複数ファイル作成コンテキスト形式のASMファイル名を宛先として受け入れます。

表5-4 マルチファイルASMファイル名初期化パラメータ

初期化パラメータ 説明

DB_CREATE_FILE_DEST

次のファイルを作成するデフォルト・ディスク・グループの場所を指定します。

  • データファイル

  • 一時ファイル

DB_CREATE_ONLINE_LOG_DEST_nが指定されていない場合は、次のファイルのデフォルト・ディスク・グループも指定します。

  • REDOログ・ファイル

  • 制御ファイル

DB_CREATE_ONLINE_LOG_DEST_n

次のファイルを作成するデフォルト・ディスク・グループの場所を指定します。

  • REDOログ・ファイル

  • 制御ファイル

DB_RECOVERY_FILE_DEST

このパラメータが指定されていて、DB_CREATE_ONLINE_LOG_DEST_nおよびCONTROL_FILESが指定されていない場合は、このパラメータにより、次のファイルのコピーが含まれているフラッシュ・リカバリ領域のデフォルト・ディスク・グループが指定されます。

  • 制御ファイル

  • REDOログ・ファイル

ローカル・アーカイブの宛先が指定されていない場合は、このパラメータにより、LOG_ARCHIVE_DEST_10USE_DB_RECOVERY_FILE_DEST値に暗黙的に設定されます。

CONTROL_FILES

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


表5-5の初期化パラメータは、複数ファイル作成コンテキスト形式のASMファイル名とASMディレクトリ名を宛先として受け入れます。

表5-5 マルチファイルASMファイル名およびディレクトリ名の初期化パラメータ

初期化パラメータ 説明

LOG_ARCHIVE_DEST_n

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

LOG_ARCHIVE_DEST

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

STANDBY_ARCHIVE_DEST

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


次の例では、ASMファイル(この場合はデータファイル)がどのようにデフォルト・ディスク・グループに作成されるのかを示します。

デフォルト・ディスク・グループを使用したデータファイルの作成: 例

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

DB_CREATE_FILE_DEST = '+dgroup1'

次の文では、表領域tspace1が作成されます。

CREATE TABLESPACE tspace1;

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

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

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

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

システム・エラーの結果として部分的に作成されたファイルは、自動的に削除されます。

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

SQL文でASMファイル名を指定する例を次に示します。この場合、ASMファイル名はファイル作成コンテキストで使用されます。

CREATE TABLESPACE  tspace2 DATAFILE '+dgroup2' SIZE 200M AUTOEXTEND ON;

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

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

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

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

ASMCMDを使用したエイリアスの作成の詳細は、「mkaliasコマンド」を参照してください。

この項の内容は次のとおりです。

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

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

例1: ASMファイル名のエイリアス名の追加

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

ALTER DISKGROUP dgroup1 ADD ALIAS '+dgroup1/mydir/second.dbf'
     FOR '+dgroup1/sample/datafile/mytable.342.3';

例2: ASMファイル名のエイリアス名の追加

この文は、エイリアスを作成するASMファイル名を指定するもう1つの方法を示しています。ここでは、数値形式のASMファイル名を使用しています。これは、システム生成のファイル名から派生した省略形式です。

ALTER DISKGROUP dgroup1 ADD ALIAS '+dgroup1/mydir/second.dbf'
     FOR '+dgroup1.342.3';

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

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

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

次の文では、エイリアス名を変更します。

ALTER DISKGROUP dgroup1 RENAME ALIAS '+dgroup1/mydir/datafile.dbf'
     TO '+dgroup1/payroll/compensation.dbf';

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

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

例1: ASMファイル名のエイリアス名の削除

次の文では、エイリアスを削除します。

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

例2: ASMファイル名のエイリアス名の削除

次の文は、システム生成のファイル名を削除しようとしているため、失敗します。この処理は実行できません。

ALTER DISKGROUP dgroup1
     DROP ALIAS '+dgroup1/sample/datafile/mytable.342.3';

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

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

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

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

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

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

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

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

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

次の例では、システム生成のファイル名を使用してファイルおよび関連エイリアスを削除します。

ALTER DISKGROUP dgroup1
     DROP FILE '+dgroup1/sample/datafile/mytable.342.372642';

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

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

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

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


注意:

新規XML DBインストールの場合、FTPプロトコルは初期状態で無効になっています。これを有効にするには、FTPポートをゼロ以外の値に設定する必要があります。これを行う最も簡単な方法は、catxdbdbca.sqlスクリプトを使用することです。このスクリプトは2つの引数を取ります。最初の引数はFTPポート番号、2番目の引数はHTTP/WebDAVポート番号です。次の例では、FTPポート番号を7787、HTTP/WebDAVポート番号を8080に設定しています。

SQL> @?/rdbms/admin/catxdbdbca.sql 7787 8080

もう1つの方法として、これらのポート番号はEnterprise Managerの「XDB構成」ページでも設定できます。



関連項目:

  • Oracle XML DBについては(XML DBプロトコル・サーバーのポート番号を構成する他の方法など)、『Oracle XML DB開発者ガイド』を参照してください。

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


/sys/asm内

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

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

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

図5-1 ASMフォルダの階層構造

図5-1の説明が続きます
「図5-1 ASMフォルダの階層構造」の説明

制限事項

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

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

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

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

FTPセッションの例

次のFTPセッションの例では、ディスク・グループはDATAおよびRECOVERY、データベース名はMFGdbsはエイリアス用に作成されたディレクトリです。/sys/asm内のファイルはすべてバイナリです。


ftp> open myhost 7777
ftp> user system
ftp> passwd dba
ftp> cd /sys/asm
ftp> ls
DATA
RECOVERY
ftp> cd DATA
ftp> ls
dbs
MFG
ftp> cd dbs
ftp> ls
t_dbl.f
t_axl.f
ftp> binary
ftp> get t_dbl.f t_axl.f
ftp> put t_db2.f

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

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


関連項目:

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

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

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

+dgroup2/sample/CONTROLFILE/Current.256.541956473

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

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

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

新規ディレクトリの作成

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

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

例1: 新規ディレクトリの作成

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

ALTER DISKGROUP dgroup1 ADD DIRECTORY '+dgroup1/mydir';

例2: 新規ディレクトリの作成

+dgoup1/mydirディレクトリの下位にサブディレクトリがない場合、次の文は失敗します。

ALTER DISKGROUP dgroup1
     ADD DIRECTORY '+dgroup1/mydir/first_dir/second_dir';

ディレクトリ名の変更

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

例: ディレクトリ名の変更

次の文では、ディレクトリ名を変更します。

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

ディレクトリの削除

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

例: ディレクトリの削除

この文では、ディレクトリとその内容を削除します。

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

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

この項では、次のトピックに基づいてディスク・グループのテンプレートの管理方法について説明します。

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

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

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

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


注意:

テンプレートのストライプ化属性は、ディスク・グループのすべてのタイプに適用されます。これには、標準冗長性、高冗長性および外部冗長性のディスク・グループ・タイプが含まれます。ただし、テンプレートのミラー化属性は、標準冗長性のディスク・グループにのみ適用され、すべてのファイルが常に3方向でミラー化される高冗長性のディスク・グループでは無視されます。また、ASMによってミラー化されるファイルがない外部冗長性のディスク・グループでも無視されます。それでもなお、ディスク・グループの各タイプにはテンプレートの完全セットが割り当てられ、各テンプレートの冗長性値は、常にディスク・グループ・タイプに適したデフォルト値に設定されます。

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

テンプレート属性

表5-6は使用可能なストライプ化属性値を示し、表5-7はASMテンプレートで使用可能な冗長性属性値を示しています。これらの値は、V$ASM_TEMPLATESTRIPEおよびREDUND列に対応しています。

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

ストライプ化属性値 説明

FINE

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

COARSE

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


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

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

MIRROR

双方向ミラー化

3方向ミラー化

(使用不可)

HIGH

3方向ミラー化

3方向ミラー化

(使用不可)

UNPROTECTED

ミラー化なし

(使用不可)

ミラー化なし


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

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

CONTROLFILE

FINE

HIGH

HIGH

UNPROTECTED

DATAFILE

COARSE

MIRROR

HIGH

UNPROTECTED

ONLINELOG

FINE

MIRROR

HIGH

UNPROTECTED

ARCHIVELOG

COARSE

MIRROR

HIGH

UNPROTECTED

TEMPFILE

COARSE

MIRROR

HIGH

UNPROTECTED

BACKUPSET

COARSE

MIRROR

HIGH

UNPROTECTED

PARAMETERFILE

COARSE

MIRROR

HIGH

UNPROTECTED

DATAGUARDCONFIG

COARSE

MIRROR

HIGH

UNPROTECTED

FLASHBACK

FINE

MIRROR

HIGH

UNPROTECTED

CHANGETRACKING

COARSE

MIRROR

HIGH

UNPROTECTED

DUMPSET

COARSE

MIRROR

HIGH

UNPROTECTED

XTRANSPORT

COARSE

MIRROR

HIGH

UNPROTECTED

AUTOBACKUP

COARSE

MIRROR

HIGH

UNPROTECTED


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

ディスク・グループにテンプレートを追加するには、ALTER DISKGROUP文のADD TEMPLATE句を使用します。テンプレートの名前、冗長性属性およびストライプ化属性を指定します。


注意:

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

テンプレートを追加するためのALTER DISKGROUPコマンドの構文は、次のとおりです。

ALTER DISKGROUP disk_group_name ADD TEMPLATE template_name
  ATTRIBUTES ([{MIRROR|HIGH|UNPROTECTED}] [{FINE|COARSE}]);

属性のタイプは両方ともオプションです。冗長性属性を指定しない場合、この値のデフォルト設定は、標準冗長性のディスク・グループの場合はMIRROR、高冗長性のディスク・グループの場合はHIGH、外部冗長性のディスク・グループの場合はUNPROTECTEDになります。ストライプ化属性を指定しない場合、この値はCOARSEにデフォルト設定されます。

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

次の文では、標準冗長性のディスク・グループdgroup2に対してreliableという名前の新しいテンプレートを作成しています。

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

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

次の文では、ファイルを保護しない(ミラー化しない)ことを指定するunreliableという名前の新しいテンプレートを作成しています。

ALTER DISKGROUP dgroup2 ADD TEMPLATE unreliable ATTRIBUTES (UNPROTECTED);

注意:

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


関連項目:

ALTER DISKGROUP...ADD TEMPLATEコマンドの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

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

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

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

次の例では、ディスク・グループdgroup2reliableテンプレートのストライプ化属性仕様を変更します。

ALTER DISKGROUP dgroup2 MODIFY TEMPLATE reliable
     ATTRIBUTES (COARSE);

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

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

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

次の例では、前に作成したunreliableテンプレートをdgroup2から削除しています。

ALTER DISKGROUP dgroup2 DROP TEMPLATE unreliable;

ASMでの表領域の作成: テンプレートによる冗長性とストライプ化の指定

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

例: ユーザー定義のテンプレートを使用した冗長性とストライプ化の指定

次の例では、テンプレート(my_template)が定義されていることが前提です。

ALTER SYSTEM SET DB_CREATE_FILE_DEST = '+dgroup1(my_template)';

CREATE TABLESPACE tspace3;