ヘッダーをスキップ
Oracle® Automatic Storage Management管理者ガイド
11gリリース2 (11.2)
B61035-04
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

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

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

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

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

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

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

制御ファイル

CONTROLFILE

データファイル

DATAFILE

REDOログ・ファイル

ONLINELOG

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

ARCHIVELOG

一時ファイル

TEMPFILE

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

BACKUPSET

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

BACKUPSET

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

BACKUPSET

データファイル・コピー

DATAFILE

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

PARAMETERFILE

フラッシュバック・ログ

FLASHBACK

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

CHANGETRACKING

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

DUMPSET

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

AUTOBACKUP

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

XTRANSPORT

フラッシュ・ファイル

FLASHFILE

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

ASMPARAMETERFILE

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

ASMPARAMETERFILEBACKUP

Oracle Cluster Registryファイル

OCRFILE

Oracle ASM Dynamic Volume Managerボリューム

該当なし


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


注意:

Oracle自動ストレージ管理クラスタ・ファイルシステム(Oracle ACFS)およびOracle ASM Dynamic Volume Manager(Oracle ADVM)により、Oracle ASMでのサポートは、データベースおよびアプリケーションの実行可能ファイル、データベース・トレース・ファイル、データベース・アラート・ログ、アプリケーション・レポート、BFILEおよび構成ファイルが含まれるように拡張されます。サポートされるその他のファイルは、ビデオ、オーディオ、テキスト、イメージ、設計図およびその他の汎用アプリケーション・ファイル・データです。第5章「Oracle ACFSの概要」を参照してください。


関連項目:

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

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ファイル名の使用」を参照)。

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


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

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

表7-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は、プラス記号が先頭に付いたディスク・グループ名です。

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

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

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

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

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

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

+data/orcl/controlfile/Current.256.541956473

表7-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での表領域の作成: エイリアス名でのデータファイルの使用

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

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

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

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

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

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

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

+diskgroup(templatename)/alias

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

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

テンプレート付きエイリアス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ファイル名の使用例としては、たとえば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のデータファイルが自動的に作成されて管理されます。ファイル・エクステントは、データファイルのデフォルト・テンプレートで定義された属性を使用して格納されます。


関連項目:

  • 初期化パラメータについては、『Oracle Databaseリファレンス』を参照してください。

  • 初期化パラメータ・ファイルについては、『Oracle Database管理者ガイド』を参照してください。


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

例7-9 新規ディレクトリの作成

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

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

例7-10 新規サブディレクトリの作成

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

ディレクトリ名の変更

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

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

例7-11 ディレクトリ名の変更

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

ディレクトリの削除

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

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

例7-12 ディレクトリの削除

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コマンドを使用してファイルをコピーすることもできます。「cp」を参照してください。

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

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


注意:

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


関連項目:

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

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


/sys/asm内

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

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

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

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

図7-1の説明が続きます
「図7-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パッケージには次のプロシージャがあります。


関連項目:

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

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

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

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

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

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

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

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

V$ASM_TEMPLATEビューには、Oracle ASMインスタンスで認識されているすべてのテンプレートの一覧が表示されます。V$ASM_TEMPLATEビューに表示される情報の例は、例6-10を参照してください。

テンプレート属性

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

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

ストライプ化属性値 説明

FINE

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

COARSE

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


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

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

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

MIRROR

双方向ミラー化

3方向ミラー化

(使用不可)

HIGH

3方向ミラー化

3方向ミラー化

(使用不可)

UNPROTECTED

ミラー化なし

(使用不可)

ミラー化なし


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

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

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

CONTROLFILE

FINE

HIGH

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

DATAFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

ONLINELOG

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

ARCHIVELOG

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

TEMPFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

BACKUPSET

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

PARAMETERFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

DATAGUARDCONFIG

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

FLASHBACK

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

CHANGETRACKING

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

DUMPSET

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

XTRANSPORT

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

AUTOBACKUP

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

ASMPARAMETERFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD

OCRFILE

COARSE

MIRROR

MIRROR

UNPROTECTED

COLD

MIRRORCOLD


表7-7に、Oracle ASMテンプレートで使用可能なプライマリおよびミラー・リージョン値を示します。これらの値は、V$ASM_TEMPLATEPRIMARY_REGIONおよびMIRROR_REGION列に対応しています。ディスク・リージョンの詳細は、「インテリジェント・データ配置」を参照してください。

表7-7 Oracle ASMテンプレートで使用可能なプライマリおよびミラー・リージョン属性の値

プライマリおよびミラー・リージョン属性値 説明

COLDMIRRORCOLD

ディスク・ドライブ上の最も内側(スピンドルに最も近い)トラックを使用します。

HOTMIRRORHOT

より高速でバンド幅がより広い最も外側のトラックを使用します。


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

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

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

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

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

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

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

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

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

ALTER DISKGROUP data ADD TEMPLATE unreliable ATTRIBUTES (UNPROTECTED);

注意:

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


関連項目:

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

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

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

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

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

ALTER DISKGROUP data MODIFY TEMPLATE reliable 
     ATTRIBUTES (COARSE);

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

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

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

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

ALTER DISKGROUP data DROP TEMPLATE unreliable;

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

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

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

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

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

CREATE TABLESPACE mytblspace;