Oracle Managed Filesを使用すると、Oracle Databaseの管理が簡素化されます。Oracle Managed Filesによって、DBAは、Oracle Databaseが含まれているオペレーティング・システム・ファイルを直接管理せずに済みます。Oracle Managed Filesでは、データベース・オブジェクト・レベルでデータベースがファイルを自動的に作成、命名および管理するファイル・システム・ディレクトリを指定します。たとえば、指定する必要があるのは作成する表領域のみで、DATAFILE
句を使用して表領域のデータファイルの名前およびパスを指定する必要はありません。この機能は、論理ボリューム・マネージャ(LVM)とともに使用すると効果的です。
データベースでは内部的に標準ファイル・システム・インタフェースを使用し、必要に応じて、次のデータベース構造のファイルを作成および削除します。
表領域
REDOログ・ファイル
制御ファイル
アーカイブ・ログ
ブロック・チェンジ・トラッキング・ファイル
フラッシュバック・ログ
RMANバックアップ
初期化パラメータによって、特定のタイプのファイルに使用するファイル・システム・ディレクトリを指定します。これにより、一意のOracle Managed Filesが作成され、不要になると削除されます。
この機能は、トレース・ファイル、監査ファイル、アラート・ログおよびコア・ファイルなどの管理ファイルの作成および命名には影響を与えません。
関連項目: Oracle Managed Filesの機能を拡充するOracle Databaseの統合ファイル・システムおよびボリューム・マネージャであるOracle Automatic Storage Management(Oracle ASM)の詳細は、Oracle Automatic Storage Management管理者ガイドを参照してください。Oracle Managed Filesによって、ファイルは自動的に作成および管理されますが、Oracle ASMでは、ストライプ化、ソフトウェアのミラー化、動的な記憶域の構成などの追加機能を利用でき、サード・パーティ製の論理ボリューム・マネージャを購入する必要がありません。 |
Oracle Managed Filesは、次のタイプのデータベースに適しています。
次のものによってサポートされるデータベース
ストライプ化/RAIDおよび動的に拡張可能な論理ボリュームをサポートする論理ボリューム・マネージャ
サイズが大きく拡張可能なファイルを提供するファイル・システム
ローエンド・データベースまたはテスト・データベース
Oracle Managed Files機能の目的は、RAWディスクを使用したシステムの管理を容易にすることではありません。この機能は、ディスク領域割当てについて、オペレーティング・システム機能との統合を実現します。オペレーティング・システムはRAWディスクの割当てをサポートしていない(割当ては手動で行う)ので、この機能は利用できません。ただし、Oracle Managed Filesでは(RAWディスクではなく)オペレーティング・システムのファイル・システムを使用する必要があるため、ディスク上のファイルの配置方法を管理できず、一部のI/Oをチューニングできなくなります。
論理ボリューム・マネージャ(LVM)は、大部分のオペレーティング・システムに付属するソフトウェア・パッケージです。論理ディスク・マネージャ(LDM)と呼ばれることもあります。これを使用すると、複数の物理ディスクの断片を単一の連続するアドレス空間に結合し、ソフトウェアの上位レイヤーに対して1つのディスクとして表示できます。LVMを使用することで、基礎となるどの物理ディスクよりも、論理ボリュームに優れた容量、パフォーマンス、信頼性および可用性の特性を持たせることができます。これらの特性を実装するために、ミラーリング、ストライピング、連結およびRAID 5などの技術が使用されています。
LVMの中には、論理ボリュームを作成後、そのボリュームの使用中に特性を変更できるものがあります。ボリュームはサイズ変更やミラー化できるだけでなく、別の物理ディスクに再配置することもできます。
ファイル・システムとは、連続するディスク・アドレス空間内に構築されたデータ構造です。ファイル・マネージャ(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では、SQLスクリプト内でオペレーティング・システム固有のファイル名を指定する必要がありません。
次の表に、Oracle Managed Filesの使用を有効化する初期化パラメータを示します。
これらのパラメータによって指定するファイル・システム・ディレクトリはすでに存在している必要があり、データベースによって作成されません。また、ディレクトリには、データベースによるファイルの作成権限が必要です。
ファイル作成操作で場所を明示的に指定しなかった場合は、必ずデフォルトの場所が使用されます。ファイル名はデータベースが作成するため、作成されたファイルはOracle Managed Filesになります。
これら2つの初期化パラメータはどちらも動的であり、ALTER SYSTEM
またはALTER SESSION
文を使用して設定できます。
初期化パラメータ・ファイルにDB_CREATE_FILE_DEST
初期化パラメータを設定して、データベースが次のファイルを作成するデフォルトの場所を識別できるようにします。
データファイル
一時ファイル
REDOログ・ファイル
制御ファイル
ブロック・チェンジ・トラッキング・ファイル
ファイル・システム・ディレクトリの名前を指定して、これらに対するオペレーティング・システム・ファイルを作成するためのデフォルトの場所にします。次の例では、Oracle Managed Filesを作成する際に使用するデフォルトのディレクトリとして、/u01/app/oracle/oradata
を設定しています。
DB_CREATE_FILE_DEST = '/u01/app/oracle/oradata'
初期化パラメータ・ファイルにDB_RECOVERY_FILE_DEST
およびDB_RECOVERY_FILE_DEST_SIZE
パラメータを設定して、高速リカバリ領域のデフォルトの場所を識別できるようにします。高速リカバリ領域には、次が格納されます。
REDOログ・ファイルまたはその多重コピー
制御ファイルまたはその多重コピー
RMANバックアップ(データファイルのコピー、制御ファイルのコピー、バックアップ・ピース、制御ファイルの自動バックアップ)
アーカイブ・ログ
フラッシュバック・ログ
ファイル・システム・ディレクトリの名前を指定して、これらに対するオペレーティング・システム・ファイルを作成するためのデフォルトの場所にします。次に例を示します。
DB_RECOVERY_FILE_DEST = '/u01/app/oracle/fast_recovery_area' DB_RECOVERY_FILE_DEST_SIZE = 20G
初期化パラメータ・ファイルにDB_CREATE_ONLINE_LOG_DEST_
n
初期化パラメータを設定して、データベースが次のファイルを作成するデフォルトの場所を識別できるようにします。
REDOログ・ファイル
制御ファイル
ファイル・システム・ディレクトリまたはOracle 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_RECOVERY_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 Automatic Storage Management(Oracle ASM)ディスク・グループで作成されたファイルの命名方式の詳細は、Oracle Automatic Storage Management管理者ガイドを参照してください。 |
Oracle Managed Filesのファイル名は、ファイル命名に関するOptimal Flexible Architecture(OFA)標準に準拠しています。割り当てられた名前は、次の要件を満たしています。
データベース・ファイルが他のすべてのファイルと容易に区別できます。
1つのデータベース・タイプのファイルが、他のデータベース・タイプのファイルと容易に区別できます。
ファイルはファイル・タイプ固有の重要な属性に明確に関連付けられます。たとえば、データファイルの表領域への関連付けを容易にするためにデータファイル名に表領域名を含めたり、アーカイブ・ログ名にスレッド、順序および作成日を含めることが可能です。
同じ名前を持つOracle Managed Filesは1つもありません。Oracle Managed Filesの作成に使用される名前は、次の3つのソースから構成されます。
デフォルトの作成場所。
ファイルのタイプに基づいて選択されたファイル名テンプレート。テンプレートは、オペレーティング・システムのプラットフォームや、Oracle Automatic Storage Managementを使用しているかどうかによって異なります。
Oracle Databaseまたはオペレーティング・システムによって作成された一意の文字列。これにより、ファイル作成によって既存のファイルが破損しないこと、および誤って他のファイルが選択されないことが保証されます。
特定の例として、Solarisファイル・システムにおけるOracle Managed Filesのファイル名の書式を次に示します。
destination_prefix/o1_mf_%t_%u_.dbf
説明:
destination_prefix
はdestination_location
/db_unique_name
/datafile
です。
説明:
destination_location
は、DB_CREATE_FILE_DEST
に指定した場所です。
db_unique_name
は、ターゲット・データベースのグローバルな一意の名前(DB_UNIQUE_NAME
初期化パラメータ)です。DB_UNIQUE_NAME
パラメータがない場合は、DB_NAME
初期化パラメータ値が使用されます。
%tは表領域の名前を表します。
%uは一意性を保証する8文字の文字列を表します。
たとえば、次のようなパラメータ設定を考えてみます。
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の名前は変更しないでください。Oracle Managed Filesは名前に基づいて識別されます。ファイル名を変更すると、データベースではOracle Managed Filesとして認識できなくなり、ファイルは適切に管理されません。 |
ここでは、Oracle Managed Files使用時のCREATE DATABASE
文の処理について説明します。
注意: この項で説明するルールとデフォルトは、Database Configuration Assistant(DBCA)によるデータベースの作成にも適用されます。DBCAでは、グラフィカル・インタフェースを使用してOracle Managed Filesを有効化し、この項で説明する初期化パラメータに対応するファイルの場所を指定できます。 |
関連項目: CREATE DATABASE文の詳細は、『Oracle Database SQL言語リファレンス』 を参照してください。 |
データベース作成時には、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です。
オプションで、Oracle Managed FilesのREDOログ・ファイルを作成し、LOGFILE
句を含めながらファイル名を省略することにより、デフォルト属性を上書きできます。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
文の例を示します。
CREATE DATABASE: 例1 この例では、次のOracle Managed Filesを含むデータベースが作成されます。
ディレクトリ/u01/app/oracle/oradata
のSYSTEM
表領域用データファイル。サイズは無制限に自動拡張可能です。
ディレクトリ/u01/app/oracle/oradata
のSYSAUX
表領域用データファイル。サイズは無制限に自動拡張可能です。表領域は、自動セグメント領域管理によってローカルに管理されます。
それぞれ100MBのメンバーを2つ含む2つのオンライン・ログ・グループ。/u02/oradata
と/u03/oradata
に1つずつ作成されます。
自動UNDO管理モードが使用可能の場合(デフォルト)は、ディレクトリ/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プロンプトから次の文を発行します。
CREATE DATABASE sample;
ローカル管理されるSYSTEM
表領域を持つデータベースを作成するには、EXTENT
MANAGEMENT
LOCAL
句を追加します。
CREATE DATABASE sample EXTENT MANAGEMENT LOCAL;
この句を使用しない場合は、SYSTEM
表領域はディクショナリ管理されます。ローカル管理のSYSTEM
表領域を作成することをお薦めします。
CREATE DATABASE: 例2 この例では、次の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
初期化パラメータは指定されていません。
自動UNDO管理モードは使用可能になっています。
SQLプロンプトから次の文を発行します。
ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/app/oracle/oradata'; CREATE DATABASE sample2 EXTENT MANAGEMENT LOCAL;
このデータベース構成は、本番データベースにはお薦めしません。この例は、非常にローエンドのデータベースか、単純なテスト・データベースを簡単に作成する方法を示しています。このデータベースの耐障害性を高めるには、制御ファイルを少なくとももう1つ作成し、REDOログを多重化する必要があります。
CREATE DATABASE: 例3 この例では、デフォルト一時表領域およびUNDO表領域用のOracle Managed Filesのファイル・サイズを指定しています。次のOracle Managed Filesを持つデータベースが作成されます。
ディレクトリ/u01/app/oracle/oradata
のSYSTEM
表領域用データファイル(400MB)。SIZE
が指定されているため、このファイルは自動拡張可能ではありません。
ディレクトリ/u01/app/oracle/oradata
のSYSAUX
表領域用データファイル(200MB)。SIZE
が指定されているため、このファイルは自動拡張可能ではありません。表領域は、自動セグメント領域管理によってローカルに管理されます。
それぞれ100MBのメンバーを2つ含む2つのREDOログ・グループ。ディレクトリ/u02/oradata
と/u03/oradata
に1つずつ作成されます。
デフォルト一時表領域dflt_ts
に対して、ディレクトリ/u01/app/oracle/oradata
の一時ファイル(10MB)。SIZE
が指定されているため、このファイルは自動拡張可能ではありません。
UNDO表領域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プロンプトから次の文を発行します。
CREATE DATABASE sample3 EXTENT MANAGEMENT LOCAL DATAFILE SIZE 400M SYSAUX DATAFILE SIZE 200M DEFAULT TEMPORARY TABLESPACE dflt_ts TEMPFILE SIZE 10M UNDO TABLESPACE undo_ts DATAFILE SIZE 100M;
ここでは、データファイルを作成する次の文について説明します。
CREATE
TABLESPACE
CREATE
UNDO
TABLESPACE
ALTER
TABLESPACE
... ADD
DATAFILE
表領域を作成するときは、永続表領域と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を持つ表領域の作成例をいくつか示します。
関連項目: CREATE TABLESPACE文の詳細は、『Oracle Database SQL言語リファレンス』 を参照してください。 |
CREATE TABLESPACE: 例1 次の例では、データファイルを作成するデフォルトの場所を/u01/oradata
に設定してから、その場所のデータファイルを含む表領域tbs_1
を作成します。データファイルは100MBで、無制限に自動拡張可能です。
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/oradata'; SQL> CREATE TABLESPACE tbs_1;
CREATE TABLESPACE: 例2 この例では、ディレクトリ/u01/oradata
上のデータファイルを含む表領域tbs_2
を作成しています。データファイルの初期サイズは400 MBで、SIZE句が指定されているため自動拡張可能ではありません。
初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_CREATE_FILE_DEST = '/u01/oradata'
SQLプロンプトから次の文を発行します。
SQL> CREATE TABLESPACE tbs_2 DATAFILE SIZE 400M;
CREATE TABLESPACE: 例3 この例では、ディレクトリ/u01/oradata
上のデータファイルを含む表領域tbs_3
を作成しています。作成されるデータファイルは初期サイズが100MB、最大サイズが800MBで自動拡張可能です。
初期化パラメータ・ファイルで、次のパラメータを設定します。
DB_CREATE_FILE_DEST = '/u01/oradata'
SQLプロンプトから次の文を発行します。
SQL> CREATE TABLESPACE tbs_3 DATAFILE AUTOEXTEND ON MAXSIZE 800M;
CREATE TABLESPACE: 例4 次の例では、データファイルを作成するデフォルトの場所を/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;
関連項目: CREATE UNDO TABLESPACE文の詳細は、『Oracle Database SQL言語リファレンス』 を参照してください。 |
この例では、自動拡張可能な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;
関連項目: ALTER TABLESPACE文の詳細は、『Oracle Database SQL言語リファレンス』 を参照してください。 |
CREATE
TEMPORARY
TABLESPACE
ALTER
TABLESPACE
... ADD
TEMPFILE
一時表領域を作成する場合、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;
関連項目: CREATE TABLESPACE文の詳細は、『Oracle Database SQL言語リファレンス』 を参照してください。 |
次の例では、データファイルを作成するデフォルトの場所を/u03/oradata
に設定してから、デフォルトの場所のtemptbs_1
という表領域に一時ファイルを追加しています。一時ファイルの初期サイズは100MBです。これは無制限に自動拡張可能です。
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u03/oradata'; SQL> ALTER TABLESPACE TBS_1 ADD TEMPFILE;
関連項目: ALTER TABLESPACE文の詳細は、『Oracle Database SQL言語リファレンス』 を参照してください。 |
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
ALTER
DATABASE
OPEN
RESETLOGS
関連項目: ALTER DATABASE文の詳細は、『Oracle Database SQL言語リファレンス』 を参照してください。 |
ALTER DATABASE ADD LOGFILE
文を使用すると、現行のREDOログ・ファイルに後から新しいグループを追加できます。Oracle Managed Filesを使用している場合、ADD LOGFILE
句のファイル名はオプションです。ファイル名を省略した場合は、ログ・ファイルのデフォルトの保存先にREDOログ・ファイルが作成されます。デフォルトの保存先は、「データベース作成時のREDOログ・ファイルの指定」に記載されている優先度によって決まります。
ファイル名を指定せず、Oracle Managed Filesの作成に必要な初期化パラメータが1つも指定されていない場合は、文はエラーを戻します。
Oracle Managed Filesのログ・ファイルのデフォルト・サイズは100MBです。
完全ファイル名を指定すると、REDOログ・ファイルのメンバーを引き続き追加および削除できます。
新しい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 ARCHIVE LOG CURRENT
文が発行された場合。
たとえば、次のパラメータ設定が初期化パラメータ・ファイルに含まれているとします。
DB_RECOVERY_FILE_DEST_SIZE = 20G DB_RECOVERY_FILE_DEST = '/u01/oradata' LOG_ARCHIVE_DEST_1 = 'LOCATION=USE_DB_RECOVERY_FILE_DEST'
Oracle Managed Filesのファイル名は、既存のファイルを識別するためにファイル名が使用される場合ならいつでもSQL文で使用可能です。これらのファイル名は、他のファイル名と同様に制御ファイルと、またバックアップおよびリカバリにRecovery Manager (RMAN)を使用している場合はRMANカタログに格納されます。これらは、データファイルおよび一時ファイルの監視に使用される通常の固定および動的パフォーマンス・ビューで参照可能です(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を削除する文は、次のとおりです。
DROP
TABLESPACE
ALTER
DATABASE
TEMPFILE
... DROP
これらの文を使用して、いつでもOracle Managed Filesあるいはそれ以外のファイルを削除することもできます。
ALTER
TABLESPACE
... DROP
DATAFILE
ALTER
TABLESPACE
... DROP
TEMPFILE
Oracle Managed FilesのREDOログ・ファイルを削除すると、そのOracle Managed Filesが削除されます。削除するグループまたはメンバーを指定します。次の文は、REDOログ・ファイルを削除します。
ALTER
DATABASE
DROP
LOGFILE
ALTER
DATABASE
DROP
LOGFILE
MEMBER
ALTER
DATABASE
RENAME
FILE
ALTER
TABLESPACE
... RENAME
DATAFILE
これらの文は、実際にはオペレーティング・システム上のファイルの名前を変更しませんが、そのかわりに制御ファイル内の名前が変更されます。変更前のファイルが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
初期化パラメータが設定されていないため、UNDOTBS
という名前のデフォルトUNDO表領域がDB_CREATE_FILE_DEST
によって指定されたディレクトリに作成されます。データファイルは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ログの管理
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;
ログ・ファイルのメンバーは、完全なファイル名を指定することにより、追加および削除できます。
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情報のアーカイブ
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ログ・ファイルを多重化するデータベースを作成します。アーカイブ・ログとRMANによるバックアップは、高速リカバリ領域に作成されます。このデータベースの作成とメンテナンスに関するタスクは、次のとおりです。
初期化パラメータの設定
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ログおよびRMANによるバックアップのデフォルトのファイル・システム・ディレクトリを設定します。
LOG_ARCHIVE_DEST_1
構成の'LOCATION=USE_DB_RECOVERY_FILE_DEST
'は、アーカイブ・ログをDB_RECOVERY_FILE_DEST
の場所にリダイレクトします。
DB_CREATE_FILE_DEST
パラメータとDB_RECOVERY_FILE_DEST
パラメータは、ログ・ファイルおよび制御ファイル作成用のデフォルトのディレクトリを設定します。REDOログ・ファイルと制御ファイルは、2つのディレクトリの間で多重化されます。
データベースの作成
制御ファイルの管理
REDOログの管理
タスク2、3、4と5は使用例1と同じです。ただし、制御ファイルとREDOログは、DB_CREATE_FILE_DEST
とDB_RECOVERY_FILE_DEST
の場所の間で多重化されます。
REDOログ情報のアーカイブ
オンライン・ログのアーカイブは、Oracle Managed FilesとOracle Managed Files以外のファイルの間には違いはありません。DB_RECOVERY_FILE_DEST
で作成されるアーカイブ・ログは、Oracle Managed Filesです。
バックアップ、リストアおよびリカバリ
Oracle Managed Filesは標準オペレーティング・システム・ファイルと互換性があるため、オペレーティング・システム・ユーティリティを使用してバックアップまたはリストアを実行できます。データベースのバックアップ、リストアおよびリカバリを実行する既存の方法はすべて、Oracle Managed Filesに対しても機能します。フォーマット・オプションが指定されていない場合、RMANによるすべてのディスクのバックアップは、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
表領域を削除すると、データファイルが自動的に削除されます。