この章では、Oracle自動ストレージ管理(Oracle ASM)のストレージ・オプションを使用する場合のファイル管理方法について説明します。
この章の内容は次のとおりです。
Oracle ASMでは、データベースに必要なほとんどのファイル・タイプがサポートされます。表7-1に、Oracle ASMで直接サポートされるファイル・タイプと、ファイル作成用の属性を提供するシステム・デフォルト・テンプレートを示します。表に示したファイル・タイプの一部は特定の製品または機能に関連しており、このマニュアルでは説明していません。
表7-1 Oracle ASMによってサポートされるファイル・タイプ
ファイル・タイプ | デフォルト・テンプレート |
---|---|
制御ファイル |
|
データファイル |
|
REDOログ・ファイル |
|
アーカイブ・ログ・ファイル |
|
一時ファイル |
|
データファイル・バックアップ・ピース |
|
データファイル増分ピース |
|
アーカイブ・ログ・バックアップ・ピース |
|
データファイル・コピー |
|
永続初期化パラメータ・ファイル(SPFILE) |
|
フラッシュバック・ログ |
|
変更トラッキング・ファイル |
|
データ・ポンプ・ダンプセット |
|
自動生成制御ファイル・バックアップ |
|
クロスプラットフォーム・トランスポータブル・データファイル |
|
フラッシュ・ファイル |
|
Oracle ASM永続初期化パラメータ・ファイル(SPFILE) |
|
Oracle ASM永続初期化パラメータ・ファイル(SPFILE)バックアップ |
|
Oracle Cluster Registryファイル |
|
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 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ファイル作成リクエストは、単一ファイル作成リクエストまたは複数ファイル作成リクエストのいずれかです。
注意:
|
この項の内容は次のとおりです。
表7-2では、各ファイル名形式に有効な使用方法を示します。その形式がファイル作成に使用される場合、この表では、作成されるファイルがOracle Managed Files(OMF)かどうかを示します。
表7-2 Oracle ASMファイル名形式の有効な使用方法
ファイル名の形式 | ファイル参照 | 単一ファイル作成 | 複数ファイル作成 | OMFとして作成される |
---|---|---|---|---|
完全修飾ファイル名 |
はい |
いいえ |
いいえ |
いいえ |
エイリアス・ファイル名 |
はい |
はい |
いいえ |
いいえ |
テンプレート付きエイリアス・ファイル名 |
いいえ |
はい |
いいえ |
いいえ |
不完全なファイル名 |
いいえ |
はい |
はい |
はい |
テンプレート付きの不完全なファイル名 |
いいえ |
はい |
はい |
はい |
単一ファイル作成形式は、単一ファイル(データファイルや制御ファイルなど)の作成に使用されます。このタイプのOracle ASMファイル名の形式は、+data/orcl/ctl.f
などのエイリアスか、プラス記号が先頭に付いたディスク・グループ名(+data
)などの不完全なファイル名のいずれかです。CREATE
TABLESPACE
やCREATE
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ファイル・タイプ・タグ | コメント |
---|---|---|---|
|
制御ファイルおよびバックアップ制御ファイル |
現行 バックアップ |
アーカイブ バックアップ |
|
データファイルおよびデータファイル・コピー |
|
ファイルが追加される表領域の名前 |
|
オンライン・ログ |
|
|
|
アーカイブ・ログ |
|
|
|
一時ファイル |
|
ファイルが追加される表領域の名前 |
|
データファイルおよびアーカイブ・ログ・バックアップ・ピース、データファイル増分バックアップ・ピース |
|
|
|
永続パラメータ・ファイル |
|
SPFILEの名前 |
|
Data Guard構成ファイル |
|
Data Guardでは、 |
|
フラッシュバック・ログ |
|
|
|
ブロック変更トラッキング・データ |
|
増分バックアップ時に使用されます。 |
|
データ・ポンプ・ダンプセット |
|
ダンプ・セット・ファイルでは、ユーザー名、ダンプ・セットを作成したジョブ番号、およびファイル番号が、タグの一部としてエンコードされます。 |
|
データファイル変換 |
|
Oracle ASMメタデータが追加される表領域の名前 |
|
自動バックアップ・ファイル |
|
|
|
Oracle ASM永続パラメータ・ファイル |
|
Oracle ASM SPFILEの名前 |
|
Oracle Clusterware Registryファイル |
|
OCRファイルの名前 |
エイリアス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ファイル名のエイリアス名の管理」を参照してください。
例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ファイル作成操作にのみ使用されます。この形式は次のとおりです。
+diskgroup(templatename)/alias
テンプレート付きのエイリアス・ファイル名は、エイリアス・ファイル名と同じように機能します。ただし、テンプレート付きのエイリアス・ファイル名で作成されたファイルは、名前付きのテンプレートによって指定された属性を受け取ります。テンプレートは、ファイルが作成されるディスク・グループに属している必要があります。例7-1を参照してください。
Oracle ASMテンプレートの作成およびメンテナンスについては、「ディスク・グループ・テンプレートの管理」を参照してください。
テンプレート付きエイリアスOracle ASMファイル名の例を次に示します。
+data(mytemplate)/config1
この例のようにテンプレート名を明示的に指定すると、作成されるファイルのタイプに対するシステム・デフォルト・テンプレートは無効になります。
注意: テンプレート付きエイリアス・ファイル名を使用して作成されたファイルは、Oracle Managed Filesとはみなされず、不要になった場合は手動による削除が必要になることがあります。 |
不完全なOracle ASMファイル名は、ファイル作成操作にのみ使用され、単一ファイル作成と複数ファイル作成の両方に使用されます。このファイル名は、ディスク・グループ名のみで構成されます。Oracle ASMでは、システム・デフォルト・テンプレートを使用してOracle ASMファイルのミラー化およびストライプ化属性が決定されます。使用されるシステム・テンプレートは、作成されるファイル・タイプによって決まります。たとえば、表領域のデータファイルを作成する場合は、DATAFILE
テンプレートが使用されます。
不完全なOracle ASMファイル名の使用例としては、たとえばDB_CREATE_FILE_DEST
初期化パラメータを次のように設定します。
+data
この設定を使用すると、表領域を作成するたびにデータファイルがdata
ディスク・グループに作成され、各データファイルには異なる完全修飾名が割り当てられます。詳細は、「ディスク・グループ指定にデフォルトのファイルの場所を使用したOracle ASMファイルの作成」を参照してください。
テンプレート付きの不完全なOracle ASMファイル名は、ファイル作成操作にのみ使用され、単一ファイル作成と複数ファイル作成の両方に使用されます。このファイル名は、ディスク・グループ名とそれに続くカッコで囲まれたテンプレート名で構成されます。ファイル名で明示的にテンプレートを指定すると、そのファイル・タイプのデフォルト・テンプレートではなく指定されたテンプレートを使用して、ファイルの属性が決定されます。
テンプレート付きの不完全なOracle ASMファイル名の使用例としては、たとえばDB_CREATE_FILE_DEST
初期化パラメータを次のように設定します。
+data(mytemplate)
エイリアスを使用して作成していないかぎり、Oracle ASMファイルはOracle Managed Fileです。Oracle Managed Fileは、不要になると自動的に削除されます。
この項の内容は次のとおりです。
オペレーティング・システム・ファイルに対して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 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ファイルをより簡単に参照するための手段です。
データベース内でファイルを作成するときにファイルのエイリアスを作成したり、ALTER DISKGROUP
文のADD ALIAS
句を使用して既存のファイルにエイリアスを追加したりできます。エイリアスは、システム生成またはユーザー作成のOracle ASMディレクトリで作成できます。エイリアスにはディスク・グループ名を含める必要があります。ルート・レベル (+
)ではエイリアスを作成できません。
ASMCMDを使用したエイリアスの作成の詳細は、「mkalias」を参照してください。
この項の内容は次のとおりです。
ALTER DISKGROUP
文のADD
ALIAS
句を使用して、Oracle ASMファイル名のエイリアス名を作成します。エイリアス名は、完全ディレクトリ・パスとエイリアス自体で構成されている必要があります。
例7-3では、システム生成のファイル名に新しいエイリアス名を追加します。
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';
エイリアス名を変更しても、エイリアスに対するデータベース参照は更新されません。
ALTER DISKGROUP
文のDROP ALIAS
句を使用して、Oracle ASMファイル名のエイリアスを削除します。エイリアス名は、完全ディレクトリ・パスとエイリアス自体で構成されている必要があります。エイリアスが参照する基礎となるファイルは変更されません。
例7-5では、エイリアスを削除します。
例7-6は、システム生成のファイル名を削除しようとしており、この構文は許可されないため、失敗します。
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(システム生成)のファイル名を使用してファイルおよび関連エイリアスを削除します。
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-10のSQL文は、+data/orcl
ディレクトリの下にサブディレクトリがない場合、失敗します。
ALTER DISKGROUP
文のRENAME DIRECTORY
句を使用して、ディレクトリ名を変更できます。システム生成のディレクトリ(システム生成の名前が含まれるディレクトリ)は、名前を変更できません。ルート・レベル(ディスク・グループ名)は、名前を変更できません。
例7-11では、ディレクトリ名を変更します。
ALTER DISKGROUP
文のDROP DIRECTORY
句を使用して、ディレクトリを削除できます。システム生成のディレクトリは削除できません。FORCE
句も指定しないかぎり、エイリアス名を含むディレクトリは削除できません。
例7-12では、ディレクトリとその内容を削除します。
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 ASM仮想フォルダは、XML DBのインストール時にデフォルトで作成されます。Oracle ASMを使用するようにデータベースを構成していない場合は、フォルダは空であり、このフォルダに対する操作は許可されません。
Oracle ASM仮想フォルダには、Oracle ASM完全修飾ファイル名の構造によって定義された階層に従っているフォルダとサブフォルダが含まれます。図7-1に、この階層の例を示します。簡単にするために、エイリアス用に作成されるディレクトリは除外されています。
/sys/asm
フォルダには、マウントされたディスク・グループごとに1つのサブフォルダが含まれ、各ディスク・グループ・フォルダには、そのディスク・グループを使用するデータベースごとに1つのサブフォルダが含まれます。ディスク・グループ・フォルダには、管理者が作成したエイリアスに対応するファイルとフォルダが含まれていることもあります。さらにこの階層では、データベース・フォルダにファイル・タイプ・フォルダが含まれ、ファイル・タイプ・フォルダにOracle ASMファイルが含まれています。
/sys/asm
に関する使用上の制限事項を次に示します。
DBMS_XDB.LINK
などのAPIで既存のOracle ASMファイルまたはディレクトリに対するハード・リンクを作成することはできません。
Oracle ASMファイルを別のディスク・グループやOracle ASMの外部のディレクトリに名前変更(移動)することはできません。
ディスク・グループの名前を格納するためにディレクトリ/sys/asm
を使用できます。このディレクトリにその他のファイルを格納することはできません。/sys/asm
の下にあるディスク・グループ・ディレクトリ(/sys/asm/DATA
など)内で、これらのサブディレクトリにデータベース・ファイルのみを格納できます。これらのディレクトリにデータベース・ファイル以外のファイルを格納しようとすると、Oracle ASMで拒否されます。
DBMS_FILE_TRANSFER
パッケージには、データベース内でOracle ASMファイルをコピーしたり、Oracle ASMを使用するデータベース間でバイナリ・ファイルを転送したりするためのプロシージャが用意されています。DBMS_FILE_TRANSFER
パッケージには次のプロシージャがあります。
COPY_FILE
: ソース・ディレクトリからファイルを読み取り、宛先ディレクトリにファイルのコピーを作成します。ソース・ディレクトリと宛先ディレクトリはどちらもローカル・ファイルシステムまたはOracle ASMディスク・グループ内に含めることができます。また、このプロシージャを使用して、ローカル・ファイルシステムとOracle ASMディスク・グループ間でコピーすることができます。コピー操作は両方向で有効です。
GET_FILE
: リモート・データベースに接続してリモート・ファイルを読み取り、ローカル・ファイルシステムまたはOracle ASMディスク・グループにファイルのコピーを作成します。
PUT_FILE
: ローカル・ファイルまたはOracle ASMディスク・グループを読み取り、リモート・データベースに接続してリモート・ファイルシステムにファイルのコピーを作成します。
関連項目: 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_TEMPLATE
のSTRIPE
列に対応します。
表7-5に、Oracle ASMテンプレートで使用可能な冗長性値を示します。これらの値は、V$ASM_TEMPLATE
のREDUND
列に対応します。
表7-5 Oracle ASMテンプレートで使用可能な冗長性属性値
冗長性属性値 | 標準冗長性のディスク・グループでのミラー化 | 高冗長性のディスク・グループでのミラー化 | 外部冗長性のディスク・グループでのミラー化 |
---|---|---|---|
|
双方向ミラー化 |
3方向ミラー化 |
(使用不可) |
|
3方向ミラー化 |
3方向ミラー化 |
(使用不可) |
|
ミラー化なし |
(使用不可) |
ミラー化なし |
表7-6に、デフォルト・テンプレートの初期属性設定を示します。標準冗長性、高冗長性、外部冗長性のディスク・グループについてのミラー化の列に対応するミラー化のタイプは、表7-5で指定されています。たとえば、表7-6では、高冗長性のディスク・グループのミラー化の列はMIRROR
となっています。表7-5での高冗長性のディスク・グループのMIRROR
値は、3方向
ミラー化
に対応しています。
表7-6 Oracle ASMのシステム・デフォルト・テンプレート属性設定
テンプレート名 | ファイルのストライプ化 | 標準冗長性のディスク・グループでのミラー化 | 高冗長性のディスク・グループでのミラー化 | 外部冗長性のディスク・グループでのミラー化 | プライマリ・リージョン | ミラー・リージョン |
---|---|---|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表7-7に、Oracle ASMテンプレートで使用可能なプライマリおよびミラー・リージョン値を示します。これらの値は、V$ASM_TEMPLATE
のPRIMARY_REGION
およびMIRROR_REGION
列に対応しています。ディスク・リージョンの詳細は、「インテリジェント・データ配置」を参照してください。
ディスク・グループにテンプレートを追加するには、ALTER DISKGROUP
文のADD TEMPLATE
句を使用します。
新しいテンプレートの名前が表7-6にない場合、データベース・ファイル・タイプのデフォルトのテンプレートとしては使用されません。そのテンプレートを使用するには、ファイルの作成時にその名前を参照する必要があります。
ディスク・グループにテンプレートを追加する場合、属性はオプションです。冗長性属性を指定しない場合、この値のデフォルト設定は、標準冗長性のディスク・グループの場合はMIRROR
、高冗長性のディスク・グループの場合はHIGH
、外部冗長性のディスク・グループの場合はUNPROTECTED
になります。ストライプ化属性を指定しない場合、この値はCOARSE
にデフォルト設定されます。プライマリ・リージョンまたはミラー・リージョンの属性値を指定しない場合、その値はそれぞれCOLD
とMIRRORCOLD
にデフォルト設定されます。
例7-13では、標準冗長性のディスク・グループdata
用にreliable
という名前の新しいテンプレートを作成します。
例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では、ディスク・グループdata
のreliable
テンプレートのストライプ化属性指定を変更します。
ALTER DISKGROUP
文のDROP TEMPLATE
句を使用して、ディスク・グループから1つ以上のテンプレートを削除します。削除できるのはユーザー定義のテンプレートのみです。システム・デフォルトのテンプレートは削除できません。
例7-16では、前に作成したテンプレートunreliable
をdata
から削除します。
SQL ALTER
SYSTEM
文とCREATE
TABLESPACE
文を使用して、表領域を作成します。この表領域では、ユーザー定義のテンプレートを使用してデータファイルの属性を指定します。
例7-17では、テンプレート(mytemplate
)が定義されていることを前提としています。