| Oracle Database 管理者ガイド 11gリリース1(11.1) E05760-03 |
|
この章の内容は次のとおりです。
Oracle Managed Filesを使用すると、Oracle Databaseの管理が容易になります。Oracle Databaseを構成するオペレーティング・システム・ファイルをデータベース管理者(DBA)が直接管理する必要はありません。Oracle Managed Filesを使用して、ファイル・システム・ディレクトリを指定します。これらのディレクトリでは、データベースによって、ファイルがデータベース・オブジェクト・レベルで自動的に作成、命名および管理されます。たとえば、指定する必要があるのは表領域の作成のみで、DATAFILE句で表領域のデータファイルの名前とパスを指定する必要はありません。この機能では、論理ボリューム・マネージャ(LVM)が効果的に使用されます。
データベースでは内部的に標準ファイル・システム・インタフェースを使用し、必要に応じて、次のデータベース構造のファイルを作成および削除します。
初期化パラメータによって、特定のタイプのファイルに使用するファイル・システム・ディレクトリを指定します。これにより、一意のOracle Managed Filesが作成され、不要になると削除されます。
この機能は、トレース・ファイル、監査ファイル、アラート・ログおよびコア・ファイルなどの管理ファイルの作成および命名には影響を与えません。
Oracle Managed Filesは、次のタイプのデータベースに適しています。
Oracle Managed Files機能の目的は、RAWディスクを使用したシステムの管理を容易にすることではありません。この機能は、ディスク領域割当てについて、オペレーティング・システム機能との統合を実現します。オペレーティング・システムはRAWディスクの割当てをサポートしていない(割当ては手動で行う)ので、この機能は利用できません。その一方で、Oracle Managed Filesでは(RAWディスクではなく)必ずオペレーティング・システムのファイル・システムを使用する必要があるため、ディスク上のファイルの配置方法をDBAが管理できず、一部のI/Oをチューニングできなくなります。
LVMは、ほとんどのオペレーティング・システムで利用できるソフトウェア・パッケージです。論理ディスク・マネージャ(LDM)と呼ばれることもあります。LVMを使用すると、複数の物理ディスクの断片を、ソフトウェアの高層部で1つのディスクとして表される、連続した単一のアドレス空間に結合できます。LVMでは、基盤となるどの物理ディスクよりも、容量、パフォーマンス、信頼性および可用性の特性に優れた論理ボリュームを作成できます。LVMは、ミラー化、ストライプ化、連結およびRAID5などの手法を使用して、これらの特性を実装します。
LVMの中には、論理ボリュームを作成後、そのボリュームの使用中に特性を変更できるものがあります。ボリュームはサイズ変更やミラー化できるだけでなく、別の物理ディスクに再配置することもできます。
ファイル・システムとは、連続するディスク・アドレス空間内に構築されたデータ構造です。ファイル・マネージャ(FM)は、ファイル・システムを操作するソフトウェア・パッケージですが、これがファイル・システムと呼ばれる場合もあります。オペレーティング・システムには必ずFMが組み込まれています。FMの主要なタスクは、ファイル・システム内のファイルにディスク領域への割当てまたは割当て解除です。
ファイル・システムを使用すると、多数のファイルにディスク領域を割り当てることができます。各ファイルは、Oracle Databaseなどのアプリケーションに連続するアドレス空間を提供するために作成されます。実際には、ファイル・システムのディスク領域の中でファイルは連続していない場合があります。ファイルは、作成、読取り、書込み、サイズ変更および削除ができます。各ファイルには対応する名前があり、ファイルを参照する際に使用します。
ファイル・システムは通常、LVMが作成する論理ボリュームの最上部に構築されます。したがって、特定のファイル・システム内にあるファイルはすべて、基盤となる論理ボリュームから継承された同じパフォーマンス、信頼性および可用性の特性を持ちます。ファイル・システムは、その中のすべてのファイルによって共有される、単一の記憶域のプールです。ファイル・システムの領域がなくなると、そのファイル・システム内にあるファイルを増やすことはできません。1つのファイル・システムで使用可能な領域が、他のファイル・システムの領域に影響を及ぼすことはありません。ただし、LVMとFMの組合せによっては、ファイル・システムの領域を追加または削除できます。
オペレーティング・システムは、複数のファイル・システムをサポートできます。別々のファイルに異なる記憶特性を与える場合や、使用可能なディスク領域を分割して互いに影響を及ぼさないプールを作成する場合に、複数のファイル・システムが作成されます。
Oracle Managed Filesを使用すると、次のような利点があります。
ファイル名を考えて、特定の記憶域要件を定義する必要はありません。一貫性のある一連のルールに基づいて、すべての関連ファイルが命名されます。記憶域の特性と記憶域を割り当てるプールは、ファイル・システムによって定義されます。
Oracle Managed Filesとファイル名はすべて一意です。一般的によくある間違いは、2つの異なるデータベースで同じファイルを使用することであり、これが長時間にわたるシステム・ダウンを引き起こし、コミット済トランザクションが失われる原因となります。1つのファイルを参照するために2つの異なる名前を使用することは、重大な破損の原因となるもう1つの間違いです。
Oracle Databaseでは、Oracle Managed Filesが不要になったとき、古いファイルが自動的に削除されます。大規模なシステムでは、特定のファイルがまだ必要かどうか誰も確信できないという理由だけで、大量のディスク領域が浪費されています。Oracle Managed Filesの削除機能は、ディスク上の不要ファイルの削除という管理タスクを容易にし、ファイルを誤って削除することを防止します。
ファイル構造と命名について検討する時間を最小限にとどめることができ、実行するファイル管理タスクも従来より少なくて済みます。これにより、テスト・データベースまたは開発データベースの実際の要件を満たす作業に集中できます。
Oracle Managed Filesでは、SQLスクリプト内でオペレーティング・システム固有のファイル名を指定する必要がありません。
Oracle Managed Filesを使用しても、既存の機能が不要になるわけではありません。既存データベースは、常に従来どおり操作できます。古いファイルはそれまでの方法で管理し、その一方で新しいファイルは管理ファイルとして作成できます。したがって、データベースにはOracle Managed Filesとそれ以外のファイルがともに存在する状態になります。
次の表に、Oracle Managed Filesの使用を有効化する初期化パラメータを示します。
これらのパラメータで指定したファイル・システム・ディレクトリは、すでに存在している必要があります。データベースはディレクトリを作成しません。ディレクトリには、データベースによるファイル作成を可能にする権限が必要です。
ファイル作成操作で場所を明示的に指定しなかった場合は、必ずデフォルトの場所が使用されます。ファイル名はデータベースが作成するため、作成されたファイルはOracle Managed Filesになります。
これら2つの初期化パラメータはどちらも動的であり、ALTER SYSTEMまたはALTER SESSION文を使用して設定できます。
初期化パラメータ・ファイルにDB_CREATE_FILE_DEST初期化パラメータを設定して、データベースが次のファイルを作成するデフォルトの場所を識別できるようにします。
ファイル・システム・ディレクトリの名前を指定して、これらに対するオペレーティング・システム・ファイルを作成するためのデフォルトの場所にします。 次の例では、Oracle Managed Filesを作成する際に使用するデフォルトのディレクトリとして、/u01/app/oracle/oradataを設定しています。
DB_CREATE_FILE_DEST = '/u01/app/oracle/oradata'
初期化パラメータ・ファイルにDB_RECOVERY_FILE_DESTおよびDB_RECOVERY_FILE_DEST_SIZEパラメータを設定して、フラッシュ・リカバリ領域のデフォルトの場所を識別できるようにします。 フラッシュ・リカバリ領域には、次が格納されます。
ファイル・システム・ディレクトリの名前を指定して、これらに対するオペレーティング・システム・ファイルを作成するためのデフォルトの場所にします。次に例を示します。
DB_RECOVERY_FILE_DEST = '/u01/app/oracle/flash_recovery_area' DB_RECOVERY_FILE_DEST_SIZE = 20G
初期化パラメータ・ファイルにDB_CREATE_ONLINE_LOG_DEST_n初期化パラメータを設定して、データベースが次のファイルを作成するデフォルトの場所を識別できるようにします。
ファイル・システム・ディレクトリまたはASMディスク・グループの名前を指定して、これらに対するファイルを作成するためのデフォルトの場所にします。多重コピーを配置する場所は最大5つまで指定できます。
REDOログ・ファイルおよび制御ファイルを作成する場合のみ、このパラメータは、DB_CREATE_FILE_DESTおよびDB_RECOVERY_FILE_DEST初期化パラメータで指定されているデフォルトの場所を上書きします。DB_CREATE_FILE_DESTパラメータを指定せず、DB_CREATE_ONLINE_LOG_DEST_nパラメータのみを指定している場合は、REDOログ・ファイルと制御ファイルのみがOracle Managed Filesとして作成されます。
少なくとも2つのパラメータを指定することをお薦めします。次に例を示します。
DB_CREATE_ONLINE_LOG_DEST_1 = '/u02/oradata' DB_CREATE_ONLINE_LOG_DEST_2 = '/u03/oradata'
これによって、ファイルを多重化できるため、REDOログ・ファイルまたは制御ファイルの保存先のどちらかで障害が発生した場合のフォルト・トレランスが向上します。
次の条件のいずれかを満たしている場合で、作成操作でファイル仕様を指定しなかったときに、必要に応じてOracle DatabaseによってOracle Managed Filesが作成されます。
DB_CREATE_FILE_DEST、DB_REDOVERY_FILE_DESTまたはDB_CREATE_ONLINE_LOG_DEST_n初期化パラメータのいずれかを指定している場合
DB_RECOVERY_FILE_DEST、DB_CREATE_FILE_DESTまたはDB_CREATE_ONLINE_LOG_DEST_n初期化パラメータのいずれかを動的に設定するために、ALTER SYSTEM文を発行した場合
DB_CREATE_FILE_DEST、DB_RECOVERY_FILE_DESTまたはDB_CREATE_ONLINE_LOG_DEST_n初期化パラメータのいずれかを動的に設定するために、ALTER SESSION文を発行した場合
Oracle Managed Filesを作成する文がエラーを検出した場合、またはなんらかの障害のために完了しなかった場合は、その文によって作成されたOracle Managed Filesはすべて、エラーまたは障害のリカバリの一部として自動的に削除されます。ただし、ファイル・システムやストレージ・サブシステムで発生する多数の潜在的なエラーが原因で、オペレーティング・システムのコマンドを使用した手動でのファイル削除が必要になる場合があります。
この項の内容は、次のとおりです。
Oracle Managed Filesのファイル名は、ファイル命名に関するOptimal Flexible Architecture(OFA)標準に準拠しています。割り当てられた名前は、次の要件を満たしています。
同じ名前を持つOracle Managed Filesは1つもありません。Oracle Managed Filesの作成に使用される名前は、次の3つのソースから構成されます。
特定の例として、Solarisファイル・システムにおけるOracle Managed Filesのファイル名の書式を次に示します。
<destination_prefix>/o1_mf_%t_%u_.dbf
各項目の意味は次のとおりです。
destination_prefix>は<destination_location>/<db_unique_name>/<datafile>です。各項目の意味は次のとおりです。
たとえば、次のようなパラメータ設定を考えてみます。
DB_CREATE_FILE_DEST = /u01/app/oracle/oradata DB_UNIQUE_NAME = PAYROLL
この例のデータファイル名は次のようになります。
/u01/app/oracle/oradata/PAYROLL/datafile/o1_mf_tbs1_2ixh90q_.dbf
他のファイル・タイプの名前もほぼ同じです。他のプラットフォームでもファイル名はほぼ同じですが、各プラットフォームのネーミング規則の制約を受けます。
後続の例では、Solarisファイル・システムでOMFアーカイブ先として表示されるOracle Managed Filesの名前を使用します。
ここでは、Oracle Managed Files使用時のCREATE DATABASE文の処理について説明します。
データベース作成時には、CONTROL_FILES初期化パラメータによって指定されたファイルで、制御ファイルが作成されます。CONTROL_FILESパラメータが設定されておらず、Oracle Managed Filesの作成に必要な初期化パラメータが少なくとも1つ設定されている場合は、制御ファイルのデフォルトの保存先にOracle Managed Filesの制御ファイルが作成されます。デフォルトの保存先は、次の優先度に従って定義されます。
DB_CREATE_ONLINE_LOG_DEST_n初期化パラメータで指定されている1つ以上の制御ファイル。最初のディレクトリに作成されたファイルが主制御ファイルになります。DB_CREATE_ONLINE_LOG_DEST_nが指定されている場合、DB_CREATE_FILE_DESTまたはDB_RECOVERY_FILE_DEST(フラッシュ・リカバリ領域)に制御ファイルは作成されません。
DB_CREATE_ONLINE_LOG_DEST_nに値が指定されていない場合で、DB_CREATE_FILE_DESTおよびDB_RECOVERY_FILE_DESTの両方に値が設定されている場合は、それぞれの場所に1つの制御ファイルが作成されます。DB_CREATE_FILE_DESTに指定された場所が主制御ファイルの場所になります。
DB_CREATE_FILE_DESTに対してのみ値が指定されている場合は、その場所に1つの制御ファイルが作成されます。
DB_RECOVERY_FILE_DESTに対してのみ値が指定されている場合は、その場所に1つの制御ファイルが作成されます。
CONTROL_FILESパラメータが設定されておらず、前述の初期化パラメータがいずれも設定されていない場合、Oracle Databaseのデフォルトの処理はオペレーティング・システムによって異なります。少なくとも1つの制御ファイルのコピーが、オペレーティング・システム固有のデフォルトの場所に作成されます。この方法で作成された制御ファイルのコピーはOracle Managed Filesではありません。そのため、初期化パラメータ・ファイルにCONTROL_FILES初期化パラメータを追加する必要があります。
Oracle Managed Filesの制御ファイルが作成された場合で、サーバー・パラメータ・ファイルが存在するときは、サーバー・パラメータ・ファイルにCONTROL_FILES初期化パラメータのエントリが追加されます。サーバー・パラメータ・ファイルが存在しない場合は、CONTROL_FILES初期化パラメータのエントリをテキスト形式の初期化パラメータ・ファイルに手動で追加する必要があります。
CREATE DATABASE文でLOGFILE句は必須でなく、単純にこれを省略するとOracle Managed FilesのREDOログ・ファイルが作成されます。LOGFILE句を省略すると、デフォルトのREDOログ・ファイルの保存先にREDOログ・ファイルが作成されます。デフォルトの保存先は、次の優先度に従って定義されます。
DB_CREATE_ONLINE_LOG_DEST_nが設定されている場合は、指定された各ディレクトリにログ・ファイルのメンバーが作成されます。最大数はMAXLOGMEMBERS初期化パラメータの値です。
DB_CREATE_ONLINE_LOG_DEST_nパラメータが設定されていない場合で、DB_CREATE_FILE_DESTおよびDB_RECOVERY_FILE_DEST初期化パラメータの両方が設定されているときは、それぞれの場所に1つのOracle Managed Filesのログ・ファイルのメンバーが作成されます。DB_CREATE_FILE_DESTアーカイブ先のログ・ファイルが最初のメンバーです。
DB_CREATE_FILE_DEST初期化パラメータのみが指定されている場合は、その場所にログ・ファイルのメンバーが作成されます。
DB_RECOVERY_FILE_DEST初期化パラメータのみが指定されている場合は、その場所にログ・ファイルのメンバーが作成されます。
Oracle Managed FilesのREDOログ・ファイルのデフォルト・サイズは100MBです。
必要に応じて、ファイル名を省略したLOGFILE句を指定することにより、デフォルトの属性を変更したOracle Managed FilesのREDOログ・ファイルを作成できます。REDOログ・ファイルは同じ方法で作成されますが、次のような例外があります。CREATE DATABASE文のLOGFILE句にファイル名を指定せず、Oracle Managed Filesの作成に必要な初期化パラメータが1つも設定されていない場合は、CREATE DATABASE文が失敗します。
CREATE DATABASE文でDATAFILE句またはSYSAUX DATAFILE句は必須でなく、単純にこれを省略するとSYSTEM表領域およびSYSAUX表領域用のOracle Managed Filesのデータファイルが作成されます。DATAFILE句を省略すると、次の処理のいずれかが実行されます。
DB_CREATE_FILE_DESTが設定されている場合は、SYSTEM表領域用およびSYSAUX表領域用のOracle Managed FilesのデータファイルがDB_CREATE_FILE_DESTディレクトリに1つずつ作成されます。
DB_CREATE_FILE_DESTが設定されていない場合は、オペレーティング・システム固有の名前とサイズで、SYSTEM表領域のデータファイルおよびSYSAUX表領域のデータファイルが1つずつ作成されます。この方法で作成されたSYSTEM表領域のデータファイルまたはSYSAUX表領域のデータファイルはOracle Managed Filesではありません。
デフォルトでは、SYSTEMおよびSYSAUX表領域用を含めてOracle Managed Filesのデータファイルは100MBで、自動拡張可能です。自動拡張が必要な場合、データファイルは既存サイズまたは100MB単位(いずれか小さい方)で拡張されます。データファイルの指定時(CREATE操作またはALTER TABLESPACE操作時)に、STORAGE句のNEXTパラメータを使用して、自動拡張可能単位を明示的に指定することもできます。
必要に応じて、SYSTEM表領域用またはSYSAUX表領域用のOracle Managed Filesのデータファイルを作成し、デフォルトの属性を上書きできます。そのためには、ファイル名を省略し、上書きする属性を指定して、DATAFILE句を指定します。ファイル名を指定せずに、DB_CREATE_FILE_DESTパラメータを設定すると、SYSTEM表領域用またはSYSAUX表領域用のOracle Managed FilesのデータファイルがDB_CREATE_FILE_DESTディレクトリに作成され、指定した属性が上書きされます。ただし、ファイル名を指定せず、DB_CREATE_FILE_DESTパラメータを設定しないと、CREATE DATABASE文が失敗します。
Oracle Managed Filesのデフォルト属性を上書きするときに、SIZE値を指定してもAUTOEXTEND句を指定しない場合、データファイルは自動拡張可能になりません。
UNDO TABLESPACE句のDATAFILE副次句は必須でなく、ファイル仕様に必ずしもファイル名を指定する必要はありません。ファイル名を指定せず、DB_CREATE_FILE_DESTが設定されている場合は、Oracle Managed FilesのデータファイルがDB_CREATE_FILE_DESTディレクトリに作成されます。DB_CREATE_FILE_DESTが設定されていない場合は、構文エラーで文が失敗します。
UNDO TABLESPACE句自体は、CREATE DATABASE文のオプションです。 この句を指定せず、自動UNDO管理モードが使用可能な場合(デフォルト)は、次のルールに従って、SYS_UNDOTSという名前のデフォルトのUNDO表領域が作成され、自動拡張可能な20MBのデータファイルが割り当てられます。
DB_CREATE_FILE_DESTが設定されている場合は、指定されたディレクトリにOracle Managed Filesのデータファイルが作成されます。
DB_CREATE_FILE_DESTが設定されていない場合は、オペレーティング・システム固有のデフォルトの場所にデータファイルが作成されます。DEFAULT TEMPORARY TABLESPACE句のTEMPFILE副次句は必須でなく、ファイル仕様に必ずしもファイル名を指定する必要はありません。ファイル名を指定せず、DB_CREATE_FILE_DESTが設定されている場合は、Oracle Managed Filesの一時ファイルがDB_CREATE_FILE_DESTディレクトリに作成されます。DB_CREATE_FILE_DESTが設定されていない場合は、構文エラーでCREATE DATABASE文が失敗します。
DEFAULT TEMPORARY TABLESPACE句自体はオプションです。この句を指定していない場合、デフォルト一時表領域は作成されません。
Oracle Managed Filesの一時ファイルのデフォルト・サイズは100MBです。このファイルは自動的に拡張可能で、最大サイズに制限はありません。
ここでは、Oracle Managed Files機能を使用したCREATE DATABASE文の例を示します。
この例では、次のOracle Managed Filesを含むデータベースが作成されます。
/u01/app/oracle/oradataのSYSTEM表領域用データファイル。サイズは無制限に自動拡張可能です。
/u01/app/oracle/oradataのSYSAUX表領域用データファイル。サイズは無制限に自動拡張可能です。この表領域は、自動セグメント領域管理を使用してローカル管理されます。
/u02/oradataと/u03/oradataに1つずつ作成されます。
/u01/app/oracle/oradataのUNDO表領域用データファイル。サイズは20MBで、無制限に自動拡張可能です。 SYS_UNDOTSという名前のUNDO表領域が作成されます。
CONTROL_FILES初期化パラメータが指定されていない場合は、2つの制御ファイルが/u02/oradataと/u03/oradataに1つずつ作成されます。/u02/oradataの制御ファイルが主制御ファイルになります。
Oracle Managed Filesに関連する初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_CREATE_FILE_DEST = '/u01/app/oracle/oradata' DB_CREATE_ONLINE_LOG_DEST_1 = '/u02/oradata' DB_CREATE_ONLINE_LOG_DEST_2 = '/u03/oradata'
SQLプロンプトから次の文を発行します。
SQL> CREATE DATABASE sample;
この例では、次のOracle Managed Filesを含むデータベースが作成されます。
/u01/app/oracle/oradataのSYSTEM表領域用データファイル。サイズは無制限に自動拡張可能です。
/u01/app/oracle/oradataのSYSAUX表領域用データファイル。サイズは無制限に自動拡張可能です。この表領域は、自動セグメント領域管理を使用してローカル管理されます。
/u01/app/oracle/oradataの2つのREDOログ・ファイル(各100MB)。これらのファイルは多重化されていません。
/u01/app/oracle/oradataのUNDO表領域用データファイル。サイズは20MBで、無制限に自動拡張可能です。 SYS_UNDOTSという名前のUNDO表領域が作成されます。
/u01/app/oracle/oradataの1つの制御ファイル。
この例では、次のように想定されています。
DB_CREATE_ONLINE_LOG_DEST_n初期化パラメータは1つも指定されていません。
CONTROL_FILES初期化パラメータは指定されていません。
SQLプロンプトから次の文を発行します。
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/app/oracle/oradata'; SQL> CREATE DATABASE sample2;
このデータベース構成は、本番データベースにはお薦めしません。この例は、非常にローエンドのデータベースか、単純なテスト・データベースを簡単に作成する方法を示しています。このデータベースの耐障害性を高めるには、制御ファイルを少なくとももう1つ作成し、REDOログを多重化する必要があります。
この例では、デフォルト一時表領域およびUNDO表領域用のOracle Managed Filesのファイル・サイズを指定しています。次のOracle Managed Filesを持つデータベースが作成されます。
/u01/app/oracle/oradataのSYSTEM表領域用データファイル(400MB)。SIZEが指定されているため、このファイルは自動拡張可能ではありません。
/u01/app/oracle/oradataのSYSAUX表領域用データファイル(200MB)。SIZEが指定されているため、このファイルは自動拡張可能ではありません。この表領域は、自動セグメント領域管理を使用してローカル管理されます。
/u02/oradataと/u03/oradataに1つずつ作成されます。
dflt_tsに対して、ディレクトリ/u01/app/oracle/oradataの一時ファイル(10MB)。SIZEが指定されているため、このファイルは自動拡張可能ではありません。
undo_tsに対して、ディレクトリ/u01/app/oracle/oradataのデータファイル(100MB)。 SIZEが指定されているため、このファイルは自動拡張可能ではありません。
CONTROL_FILES初期化パラメータが指定されていない場合は、2つの制御ファイルがディレクトリ/u02/oradataと/u03/oradataに1つずつ作成されます。/u02/oradataの制御ファイルが主制御ファイルになります。
初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_CREATE_FILE_DEST = '/u01/app/oracle/oradata' DB_CREATE_ONLINE_LOG_DEST_1 = '/u02/oradata' DB_CREATE_ONLINE_LOG_DEST_2 = '/u03/oradata'
SQLプロンプトから次の文を発行します。
SQL> CREATE DATABASE sample3 DATAFILE SIZE 400M 2> SYSAUX DATAFILE SIZE 200M 3> DEFAULT TEMPORARY TABLESPACE dflt_ts TEMPFILE SIZE 10M 4> UNDO TABLESPACE undo_ts DATAFILE SIZE 100M;
ここでは、データファイルを作成する次の文について説明します。
表領域を作成するときは、永続表領域とUNDO表領域のいずれの場合も、DATAFILE句はオプションです。DATAFILE句を指定する場合、ファイル名はオプションです。DATAFILE句またはファイル名を省略すると、次のルールが適用されます。
DB_CREATE_FILE_DEST初期化パラメータが設定されている場合は、パラメータで指定された場所にOracle Managed Filesのデータファイルが作成されます。
DB_CREATE_FILE_DEST初期化パラメータが設定されていない場合は、データファイルを作成する文が失敗します。
ALTER TABLESPACE...ADD DATAFILE文で表領域にデータファイルを追加する場合、ファイル名はオプションです。ファイル名を省略すると、前の段落で説明したのと同じルールが適用されます。
デフォルトでは、永続表領域用のOracle Managed Filesのデータファイルのサイズは100MBです。このファイルは自動的に拡張可能で、最大サイズに制限はありません。ただし、DATAFILE句でSIZE値を指定して(AUTOEXTEND句を指定せずに)これらのデフォルトを変更すると、データファイルは自動拡張可能になりません。
ここでは、Oracle Managed Filesを持つ表領域の作成例をいくつか示します。
次の例では、データファイルを作成するデフォルトの場所を/u01/oradataに設定してから、そのディレクトリ上のデータファイルを含む表領域tbs_1を作成しています。データファイルは100MBで、無制限に自動拡張可能です。
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/oradata'; SQL> CREATE TABLESPACE tbs_1;
この例では、ディレクトリ/u01/oradata上のデータファイルを含む表領域tbs_2を作成しています。このデータファイルの初期サイズは400MBで、SIZE句が指定されているため自動拡張可能ではありません。
初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_CREATE_FILE_DEST = '/u01/oradata'
SQLプロンプトから次の文を発行します。
SQL> CREATE TABLESPACE tbs_2 DATAFILE SIZE 400M;
この例では、ディレクトリ/u01/oradata上のデータファイルを含む表領域tbs_3を作成しています。作成されるデータファイルは初期サイズが100MB、最大サイズが800MBで自動拡張可能です。
初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_CREATE_FILE_DEST = '/u01/oradata'
SQLプロンプトから次の文を発行します。
SQL> CREATE TABLESPACE tbs_3 DATAFILE AUTOEXTEND ON MAXSIZE 800M;
次の例では、データファイルを作成するデフォルトの場所を/u01/oradataに設定してから、そのディレクトリ上の2つのデータファイルを含む表領域tbs_4を作成しています。どちらのデータファイルも初期サイズは200MBで、SIZE値が指定されているため自動拡張可能ではありません。
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/oradata'; SQL> CREATE TABLESPACE tbs_4 DATAFILE SIZE 200M SIZE 200M;
次の例では、ディレクトリ/u01/oradata上のデータファイルを含むUNDO表領域undotbs_1を作成しています。UNDO表領域用のデータファイルは100MBで、無制限に自動拡張可能です。
初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_CREATE_FILE_DEST = '/u01/oradata'
SQLプロンプトから次の文を発行します。
SQL> CREATE UNDO TABLESPACE undotbs_1;
この例では、自動拡張可能なOracle Managed Filesのデータファイルをtbs_1表領域に追加しています。デフォルトの初期サイズは100MBで、最大サイズは800MBです。
初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_CREATE_FILE_DEST = '/u01/oradata'
SQLプロンプトから次の文を入力します。
SQL> ALTER TABLESPACE tbs_1 ADD DATAFILE AUTOEXTEND ON MAXSIZE 800M;
ここでは、一時ファイルを作成する次の文について説明します。
一時表領域を作成する場合、TEMPFILE句はオプションです。TEMPFILE句を指定する場合、ファイル名はオプションです。TEMPFILE句またはファイル名を省略すると、次のルールが適用されます。
DB_CREATE_FILE_DEST初期化パラメータが設定されている場合は、パラメータで指定された場所にOracle Managed Filesの一時ファイルが作成されます。
DB_CREATE_FILE_DEST初期化パラメータが設定されていない場合は、一時ファイルを作成する文が失敗します。
ALTER TABLESPACE...ADD TEMPFILE文で表領域に一時ファイルを追加する場合、ファイル名はオプションです。ファイル名を省略すると、前の段落で説明したのと同じルールが適用されます。
Oracle Managed Filesのデフォルト属性を上書きするときに、SIZE値を指定してもAUTOEXTEND句を指定しない場合、データファイルは自動拡張可能になりません。
次の例では、データファイルを作成するデフォルトの場所を/u01/oradataに設定してから、そのディレクトリ上の一時ファイルを含む表領域temptbs_1を作成しています。一時ファイルは100MBで、無制限に自動拡張可能です。
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/oradata'; SQL> CREATE TEMPORARY TABLESPACE temptbs_1;
次の例では、データファイルを作成するデフォルトの場所を/u03/oradataに設定してから、デフォルトの場所にある一時ファイルを表領域temptbs_1に追加しています。一時ファイルの初期サイズは100MBです。このファイルは自動的に拡張可能で、最大サイズに制限はありません。
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u03/oradata'; SQL> ALTER TABLESPACE TBS_1 ADD TEMPFILE;
CREATE CONTROLFILE文を発行すると、CONTROL_FILES初期化パラメータによって指定されたファイルで、制御ファイルが作成(REUSEを指定した場合は再利用)されます。CONTROL_FILESパラメータが設定されていない場合は、制御ファイルのデフォルトの保存先に制御ファイルが作成されます。デフォルトの保存先は、「データベース作成時の制御ファイルの指定」に記載されている優先度によって決定します。
Oracle DatabaseによってOracle Managed Filesの制御ファイルが作成された場合で、サーバー・パラメータ・ファイルが存在するときは、サーバー・パラメータ・ファイルにCONTROL_FILES初期化パラメータが作成されます。サーバー・パラメータ・ファイルが存在しない場合は、CONTROL_FILES初期化パラメータを手動で作成して、初期化パラメータ・ファイルに追加する必要があります。
データベースのデータファイルがOracle Managed Filesの場合は、文のDATAFILE句に、そのファイルのデータベース生成ファイル名を指定する必要があります。
REDOログ・ファイルがOracle Managed Filesの場合は、NORESETLOGSまたはRESETLOGSキーワードによって、LOGFILE句に指定できるパラメータが決まります。
NORESETLOGSキーワードを使用する場合は、Oracle Managed FilesのREDOログ・ファイル用に生成されるファイル名をLOGFILE句に指定する必要があります。
RESETLOGSキーワードを使用する場合は、REDOログ・ファイル名をCREATE DATABASE文の場合と同様に指定できます。「データベース作成時のREDOログ・ファイルの指定」を参照してください。
Oracle Managed Filesを使用したCREATE CONTROLFILE文の使用例については、次の項を参照してください。
次のCREATE CONTROLFILE文は、Oracle Managed FilesのデータファイルおよびREDOログ・ファイルを含むデータベースでALTER DATABASE BACKUP CONTROLFILE TO TRACE文を発行したときに生成されます。
CREATE CONTROLFILE DATABASE sample LOGFILE GROUP 1 ('/u01/oradata/SAMPLE/onlinelog/o1_mf_1_o220rtt9_.log', '/u02/oradata/SAMPLE/onlinelog/o1_mf_1_v2o0b2i3_.log') SIZE 100M, GROUP 2 ('/u01/oradata/SAMPLE/onlinelog/o1_mf_2_p22056iw_.log', '/u02/oradata/SAMPLE/onlinelog/o1_mf_2_p02rcyg3_.log') SIZE 100M NORESETLOGS DATAFILE '/u01/oradata/SAMPLE/datafile/o1_mf_system_xu34ybm2_.dbf' SIZE 100M, '/u01/oradata/SAMPLE/datafile/o1_mf_sysaux_aawbmz51_.dbf' SIZE 100M, '/u01/oradata/SAMPLE/datafile/o1_mf_sys_undo_apqbmz51_.dbf' SIZE 100M MAXLOGFILES 5 MAXLOGHISTORY 100 MAXDATAFILES 10 MAXINSTANCES 2 ARCHIVELOG;
次の文は、RESETLOGSオプションを指定したCREATE CONTROLFILE文の例です。DB_CREATE_FILE_DEST、DB_RECOVERY_FILE_DESTおよびDB_CREATE_ONLINE_LOG_DEST_nを組み合せて設定する必要があります。
CREATE CONTROLFILE DATABASE sample RESETLOGS DATAFILE '/u01/oradata/SAMPLE/datafile/o1_mf_system_aawbmz51_.dbf', '/u01/oradata/SAMPLE/datafile/o1_mf_sysaux_axybmz51_.dbf', '/u01/oradata/SAMPLE/datafile/o1_mf_sys_undo_azzbmz51_.dbf' SIZE 100M MAXLOGFILES 5 MAXLOGHISTORY 100 MAXDATAFILES 10 MAXINSTANCES 2 ARCHIVELOG;
後で、ALTER DATABASE OPEN RESETLOGS文を発行して、REDOログ・ファイルを再作成する必要があります。この操作については、「ALTER DATABASE OPEN RESETLOGS文の使用」を参照してください。使用していたログ・ファイルがOracle Managed Filesである場合、そのファイルは削除されません。
REDOログ・ファイルはデータベース作成時に作成されます。また、次の文のどちらかを発行したときにも作成できます。
ALTER DATABASE ADD LOGFILE文を使用すると、現行のREDOログ・ファイルに後から新しいグループを追加できます。Oracle Managed Filesを使用している場合、ADD LOGFILE句のファイル名はオプションです。ファイル名を省略した場合は、ログ・ファイルのデフォルトの保存先にREDOログ・ファイルが作成されます。 デフォルトの保存先は、「データベース作成時のREDOログ・ファイルの指定」に記載されている優先度によって決まります。
ファイル名を指定せず、Oracle Managed Filesの作成に必要な初期化パラメータが1つも指定されていない場合は、文はエラーを戻します。
Oracle Managed Filesのログ・ファイルのデフォルト・サイズは100MBです。
完全ファイル名を指定すると、REDOログ・ファイルのメンバーを引き続き追加および削除できます。
次の例では、一方のメンバーがディレクトリ/u01/oradata、もう一方のメンバーが/u02/oradataに存在するログ・グループを作成します。各ログ・ファイルのサイズは100MBです。
初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_CREATE_ONLINE_LOG_DEST_1 = '/u01/oradata' DB_CREATE_ONLINE_LOG_DEST_2 = '/u02/oradata'
SQLプロンプトから次の文を発行します。
SQL> ALTER DATABASE ADD LOGFILE;
前にRESETLOGSを指定して制御ファイルを作成しており、その際、ファイル名を指定しなかった場合、または存在しないファイル名を指定した場合は、ALTER DATABASE OPEN RESETLOGS文を発行したときに、REDOログ・ファイルが作成されます。 制御ファイル内に何も指定されていない場合に、REDOログ・ファイルの格納ディレクトリを決めるルールは、「データベース作成時のREDOログ・ファイルの指定」に記載されているルールと同じです。
アーカイブ・ログは、次の場合にDB_RECOVERY_FILE_DESTの場所に作成されます。
ARCバックグラウンド・プロセスまたはLGWRバックグラウンド・プロセスがオンラインREDOログをアーカイブする場合。または、
ALTER SYSTEM ARHIVE LOG CURRENT文が発行された場合。
たとえば、次のパラメータ設定が初期化パラメータ・ファイルに含まれているとします。
DB_RECOVERY_FILE_DEST_SIZE = 20G DB_RECOVERY_FILE_DEST = '/u01/oradata' LOG_ARCHIVE_DEST_1 = 'LOCATION=USE_DB_RECOVERY_FILE_DEST'
ファイル名を使用して既存ファイルを識別するSQL文では、Oracle Managed Filesのファイル名が受け入れられます。これらのファイル名は他のファイル名と同様に、制御ファイルに格納されています。また、バックアップとリカバリ用にRecovery Managerを使用している場合は、Recovery Managerカタログに格納されています。これらのファイル名を表示するには、データファイルと一時ファイルの監視に使用できる通常の固定パフォーマンス・ビューまたは動的パフォーマンス・ビュー(たとえば、V$DATAFILEやDBA_DATA_FILESなど)のいずれかを使用します。
次に、データベース生成ファイル名を使用した文の例を示します。
SQL> ALTER DATABASE 2> RENAME FILE '/u01/oradata/mydb/datafile/o1_mf_tbs01_ziw3bopb_.dbf' 3> TO '/u01/oradata/mydb/tbs0101.dbf'; SQL> ALTER DATABASE 2> DROP LOGFILE '/u01/oradata/mydb/onlinelog/o1_mf_1_wo94n2xi_.log'; SQL> ALTER TABLE emp 2> ALLOCATE EXTENT 3> (DATAFILE '/u01/oradata/mydb/datafile/o1_mf_tbs1_2ixfh90q_.dbf');
Oracle Managed Filesのデータファイル、一時ファイルおよび制御ファイルは、Oracle Managed Files以外の対応するファイルと同様にバックアップおよびリストアを実行できます。データベース生成ファイル名を使用しても、エクスポート・ファイルなどの論理バックアップ・ファイルの使用には影響しません。これは特に、表領域のPoint-in-Timeリカバリ(TSPITR)およびトランスポータブル表領域のエクスポート・ファイルにとって重要です。
Oracle Managed Filesの動作がOracle Managed Files以外のファイルと異なる場合があります。次の項では、それらの場合について説明します。
データベース管理ではないファイルとは異なり、Oracle Managed Filesのデータファイルまたは一時ファイルを削除すると、制御ファイルからファイル名が削除されて、ファイル・システムからファイルが自動的に削除されます。Oracle Managed Filesを削除する文は、次のとおりです。
これらの文を使用して、いつでもOracle Managed Filesあるいはそれ以外のファイルを削除することもできます。
Oracle Managed FilesのREDOログ・ファイルを削除すると、そのOracle Managed Filesが削除されます。削除するグループまたはメンバーを指定します。次の文は、REDOログ・ファイルを削除します。
ファイルの名前を変更するには、次の文が使用されます。
これらの文は、実際にはオペレーティング・システム上のファイルの名前を変更しませんが、そのかわりに制御ファイル内の名前が変更されます。変更前のファイルがOracle Managed Filesで、そのファイルが存在している場合は削除されます。この文を発行するときは、オペレーティング・システムのファイル名の規則を使用して各ファイルを指定する必要があります。
スタンバイ・データベースのデータファイル、制御ファイルおよびREDOログ・ファイルは、データベースで管理できます。プライマリ・データベースでOracle Managed Filesが使用されているかどうかは関係ありません。
スタンバイ・データベースのリカバリでデータファイルを作成するREDOを検出したとき、そのデータファイルがOracle Managed Filesの場合は、リカバリ・プロセスによって、ローカル・ファイル・システムのデフォルトの場所に空のファイルが作成されます。これにより、管理者が操作することなく、新しいファイルのREDOが即時に適用されます。
スタンバイ・データベースのリカバリで表領域を削除するREDOを検出した場合は、ローカル・ファイル・システム内にあるOracle Managed Filesのデータファイルがすべて削除されます。プライマリ・データベースでINCLUDING DATAFILESオプションを発行したかどうかは関係ありません。
ここでは、使用例を示して、Oracle Managed Filesの使用方法をさらに詳しく説明します。
この使用例では、DBAが、データファイルとREDOログ・ファイルが異なるディレクトリに存在するデータベースを作成します。REDOログ・ファイルと制御ファイルは多重化されています。データベースはUNDO表領域を使用し、デフォルト一時表領域を持っています。このデータベースの作成とメンテナンスに関するタスクは、次のとおりです。
DBAは、データベースを作成する前に、初期化パラメータ・ファイルに3つの汎用的なファイル作成デフォルトを設定します。 自動UNDO管理モード(デフォルト)も使用可能にします。
DB_CREATE_FILE_DEST = '/u01/oradata' DB_CREATE_ONLINE_LOG_DEST_1 = '/u02/oradata' DB_CREATE_ONLINE_LOG_DEST_2 = '/u03/oradata' UNDO_MANAGEMENT = AUTO
DB_CREATE_FILE_DESTパラメータは、データファイルと一時ファイルのデフォルトのファイル・システム・ディレクトリを設定します。
DB_CREATE_ONLINE_LOG_DEST_1およびDB_CREATE_ONLINE_LOG_DEST_2パラメータは、REDOログ・ファイルと制御ファイルを作成するためのデフォルトのファイル・システム・ディレクトリを設定します。REDOログ・ファイルと制御ファイルは、2つのディレクトリの間で多重化されます。
初期化パラメータの設定が完了すると、次の文でデータベースを作成できます。
SQL> CREATE DATABASE sample 2> DEFAULT TEMPORARY TABLESPACE dflttmp;
DATAFILE句が指定されておらず、DB_CREATE_FILE_DEST初期化パラメータが設定されているため、SYSTEM表領域のデータファイルはデフォルトのファイル・システム(この使用例では/u01/oradata)に作成されます。ファイル名は、データベースによって一意に生成されます。データファイルは初期サイズが100MBで、無制限に自動拡張可能です。このファイルはOracle Managed Filesです。SYSAUX表領域についても同様のデータファイルが作成されます。
LOGFILE句が指定されていないため、2つのREDOログ・グループが作成されます。各グループにはそれぞれ2つのメンバーがあり、一方のメンバーはDB_CREATE_ONLINE_LOG_DEST_1、もう一方のメンバーはDB_CREATE_ONLINE_LOG_DEST_2に作成されます。ファイル名は、データベースによって一意に生成されます。ログ・ファイルのサイズは100MBです。ログ・ファイルのメンバーはOracle Managed Filesです。
同様に、CONTROL_FILES初期化パラメータが設定されておらず、2つのDB_CREATE_ONLINE_LOG_DEST_n初期化パラメータが設定されているので、2つの制御ファイルが作成されます。DB_CREATE_ONLINE_LOG_DEST_1に配置された制御ファイルが主制御ファイルになります。DB_CREATE_ONLINE_LOG_DEST_2に配置された制御ファイルは多重コピーです。ファイル名は、データベースによって一意に生成されます。これらのファイルはOracle Managed Filesです。サーバー・パラメータ・ファイルが存在する場合は、CONTROL_FILES初期化パラメータが生成されます。
自動UNDO管理モードが設定されていますが、UNDO表領域が指定されておらず、DB_CREATE_FILE_DEST初期化パラメータが設定されているため、DB_CREATE_FILE_DESTで指定されたディレクトリに、UNDOTBSという名前のデフォルトUNDO表領域が作成されます。 データファイルは20MBで、自動拡張可能です。このファイルはOracle Managed Filesです。
最後に、dflttmpという名前のデフォルト一時表領域が指定されています。パラメータ・ファイルにDB_CREATE_FILE_DESTが設定されているため、このパラメータで指定されたディレクトリにdflttmpの一時ファイルが作成されます。一時ファイルは100MBで、無制限に自動拡張可能です。このファイルはOracle Managed Filesです。
作成されたファイルを、生成ファイル名によるファイル・ツリーで表現すると次のようになります。
/u01 /oradata /SAMPLE /datafile /o1_mf_system_cmr7t30p_.dbf /o1_mf_sysaux_cmr7t88p_.dbf /o1_mf_sys_undo_2ixfh90q_.dbf /o1_mf_dflttmp_157se6ff_.tmp /u02 /oradata /SAMPLE /onlinelog /o1_mf_1_0orrm31z_.log /o1_mf_2_2xyz16am_.log /controlfile /o1_mf_cmr7t30p_.ctl /u03 /oradata /SAMPLE /onlinelog /o1_mf_1_ixfvm8w9_.log /o1_mf_2_q89tmp28_.log /controlfile /o1_mf_x1sr8t36_.ctl
内部的に生成されたファイル名は、通常のビューを選択して表示できます。次に例を示します。
SQL> SELECT NAME FROM V$DATAFILE; NAME ---------------------------------------------------- /u01/oradata/SAMPLE/datafile/o1_mf_system_cmr7t30p_.dbf /u01/oradata/SAMPLE/datafile/o1_mf_sysaux_cmr7t88p_.dbf /u01/oradata/SAMPLE/datafile/o1_mf_sys_undo_2ixfh90q_.dbf 3 rows selected
データベースの作成時に制御ファイルが作成され、パラメータ・ファイルにCONTROL_FILES初期化パラメータが追加されました。必要に応じて、DBAはCREATE CONTROLFILE文を使用して、データベース用の制御ファイルを再作成したり、新しい制御ファイルを作成できます。
DATAFILE句およびLOGFILE句には、正しいOracle Managed Filesのファイル名を指定する必要があります。ALTER DATABASE BACKUP CONTROLFILE TO TRACE文は、正しいファイル名を含むスクリプトを生成します。また、ファイル名は、V$DATAFILE、V$TEMPFILEおよびV$LOGFILEビューを選択して確認することもできます。次の例では、サンプル・データベースの制御ファイルを再作成しています。
CREATE CONTROLFILE REUSE DATABASE sample LOGFILE GROUP 1('/u02/oradata/SAMPLE/onlinelog/o1_mf_1_0orrm31z_.log', '/u03/oradata/SAMPLE/onlinelog/o1_mf_1_ixfvm8w9_.log'), GROUP 2('/u02/oradata/SAMPLE/onlinelog/o1_mf_2_2xyz16am_.log', '/u03/oradata/SAMPLE/onlinelog/o1_mf_2_q89tmp28_.log') NORESETLOGS DATAFILE '/u01/oradata/SAMPLE/datafile/o1_mf_system_cmr7t30p_.dbf', '/u01/oradata/SAMPLE/datafile/o1_mf_sysaux_cmr7t88p_.dbf', '/u01/oradata/SAMPLE/datafile/o1_mf_sys_undo_2ixfh90q_.dbf', '/u01/oradata/SAMPLE/datafile/o1_mf_dflttmp_157se6ff_.tmp' MAXLOGFILES 5 MAXLOGHISTORY 100 MAXDATAFILES 10 MAXINSTANCES 2 ARCHIVELOG;
この文で作成される制御ファイルは、データベースを作成したときに生成されたCONTROL_FILES初期化パラメータの指定どおりに配置されます。REUSE句が指定されているので、既存のファイルがすべて上書きされます。
REDOログ・ファイルの新しいグループを作成するには、DBAがALTER DATABASE ADD LOGFILE文を使用します。次の文は、DB_CREATE_ONLINE_LOG_DEST_1とDB_CREATE_ONLINE_LOG_DEST_2にメンバーを持つログ・ファイルを追加します。これらのファイルはOracle Managed Filesです。
SQL> ALTER DATABASE ADD LOGFILE;
オンラインREDOログ・ファイルのメンバーは、完全なファイル名を指定することにより、追加および削除できます。
GROUP句を使用して、ログ・グループを削除できます。次の例では、Oracle Managed Filesのログ・ファイルの各メンバーに対応するオペレーティング・システム・ファイルが自動的に削除されます。
SQL> ALTER DATABASE DROP LOGFILE GROUP 3;
sampleデータベースで今後表領域を作成する際、すべてのデータファイルがデフォルトで配置される記憶域は、DB_CREATE_FILE_DEST初期化パラメータで指定された場所(この使用例では/u01/oradata)です。ファイル名を指定せずにデータファイルを作成すると、そのファイルは初期化パラメータDB_CREATE_FILE_DESTで指定されたファイル・システムに配置されます。次に例を示します。
SQL> CREATE TABLESPACE tbs_1;
この文は、/u01/oradataを記憶域とする表領域を作成します。作成されるデータファイルは初期サイズが100MBで、無制限に自動拡張可能です。このデータファイルはOracle Managed Filesです。
表領域を削除すると、その表領域に対応するOracle Managed Filesも自動的に削除されます。次の文は、表領域とその格納に使用されているすべてのOracle Managed Filesを削除します。
SQL> DROP TABLESPACE tbs_1;
最初のデータファイルがいっぱいになっても、新しいデータファイルは自動的に作成されません。別のOracle Managed Filesのデータファイルを追加することによって、表領域を拡張できます。次の文は、DB_CREATE_FILE_DESTで指定された場所に別のデータファイルを追加します。
SQL> ALTER TABLESPACE tbs_1 ADD DATAFILE;
デフォルトのファイル・システムは、初期化パラメータを変更することによって変更できます。これを行っても、既存のデータベースは変更されません。今後の作成にのみ影響を与えます。次の文を使用すると、初期化パラメータを動的に変更できます。
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='/u04/oradata';
REDOログ・ファイルのアーカイブは、Oracle Managed FilesとOracle Managed Files以外のファイルの間で違いはありません。アーカイブするログ・ファイルのファイル・システム上のアーカイブ先は、LOG_ARCHIVE_DEST_n初期化パラメータで指定できます。ファイル名は、LOG_ARCHIVE_FORMATパラメータまたはそのデフォルトに基づいて生成されます。アーカイブ・ログはOracle Managed Filesではありません。
Oracle Managed Filesは標準オペレーティング・システム・ファイルと互換性があるため、オペレーティング・システム・ユーティリティを使用してバックアップまたはリストアを実行できます。データベースのバックアップ、リストアおよびリカバリを実行する既存の方法はすべて、Oracle Managed Filesに対しても機能します。
この使用例では、DBAが、制御ファイルおよびREDOログ・ファイルを多重化するデータベースを作成します。アーカイブ・ログとRecovery Managerによるバックアップは、フラッシュ・リカバリ領域に作成されます。このデータベースの作成とメンテナンスに関するタスクは、次のとおりです。
DBAは、次の汎用的なファイル作成デフォルトを設定します。
DB_CREATE_FILE_DEST = '/u01/oradata' DB_RECOVERY_FILE_DEST_SIZE = 10G DB_RECOVERY_FILE_DEST = '/u02/oradata' LOG_ARCHIVE_DEST_1 = 'LOCATION = USE_DB_RECOVERY_FILE_DEST'
DB_CREATE_FILE_DESTパラメータは、データファイル、一時ファイル、制御ファイルおよびREDOログのデフォルトのファイル・システム・ディレクトリを設定します。
DB_RECOVERY_FILE_DESTパラメータは、制御ファイル、REDOログおよびRecovery Managerによるバックアップのデフォルトのファイル・システム・ディレクトリを設定します。
LOG_ARCHIVE_DEST_1構成の'LOCATION=USE_DB_RECOVERY_FILE_DEST'は、アーカイブ・ログをDB_RECOVERY_FILE_DESTの場所にリダイレクトします。
DB_CREATE_FILE_DESTパラメータとDB_RECOVERY_FILE_DESTパラメータは、ログ・ファイルおよび制御ファイル作成用のデフォルトのディレクトリを設定します。REDOログ・ファイルと制御ファイルは、2つのディレクトリの間で多重化されます。
タスク2、3、4と5は使用例1と同じです。ただし、制御ファイルとREDOログは、DB_CREATE_FILE_DESTとDB_RECOVERY_FILE_DESTの場所の間で多重化されます。
オンライン・ログのアーカイブは、Oracle Managed FilesとOracle Managed Files以外のファイルの間には違いはありません。DB_RECOVERY_FILE_DESTで作成されるアーカイブ・ログは、Oracle Managed Filesです。
Oracle Managed Filesは標準オペレーティング・システム・ファイルと互換性があるため、オペレーティング・システム・ユーティリティを使用してバックアップまたはリストアを実行できます。データベースのバックアップ、リストアおよびリカバリを実行する既存の方法はすべて、Oracle Managed Filesに対しても機能します。フォーマット・オプションが指定されていない場合、Recovery Managerによるすべてのディスクのバックアップは、DB_RECOVERY_FILE_DESTの場所に作成されます。バックアップはOracle Managed Filesです。
この例では、Oracle Managed Filesが含まれていない既存のデータベースに対して、DBAがOracle Managed Filesを含む新しい表領域を作成し、/u03/oradataディレクトリにその表領域を配置しようとしていると想定しています。
データファイルの自動作成を可能にするために、DB_CREATE_FILE_DEST初期化パラメータを、データファイルを作成するファイル・システム・ディレクトリに設定します。これは、次のように動的に実行できます。
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u03/oradata';
DB_CREATE_FILE_DESTの設定が完了すると、CREATE TABLESPACE文からDATAFILE句を省略できます。データファイルは、DB_CREATE_FILE_DESTで指定された場所にデフォルトで作成されます。次に例を示します。
SQL> CREATE TABLESPACE tbs_2;
tbs_2表領域を削除すると、データファイルが自動的に削除されます。