Oracle Database 概要 11gリリース1(11.1) E05765-03 |
|
この章では、Oracleデータベースの主要な論理データベース構造である表領域と、それぞれの表領域に対応する物理データファイルについて説明します。
この章の内容は、次のとおりです。
Oracle Databaseでは、表領域にデータを論理的に格納し、対応する表領域に関連付けられたデータファイルにデータを物理的に格納します。図3-1に、この関係を示します。
データベース、表領域およびデータファイルは、それぞれ密接に関連し合っていますが、次のような重要な相違があります。
SYSTEM
およびSYSAUX
表領域は必須であり、TEMP
という3番目の表領域はオプションです。
この項の内容は、次のとおりです。
Oracle Managed Filesにより、データベース管理者は、Oracleデータベースを構成するオペレーティング・システム・ファイルを直接管理する必要がなくなります。操作を指定するときには、ファイル名ではなくデータベース・オブジェクトを使用します。Oracle Databaseでは、標準ファイル・システム・インタフェースを内部で使用して、次のデータベース構造のファイルを必要に応じて作成および削除します。
初期化パラメータを介して、特定タイプのファイルに使用するファイル・システム・ディレクトリを指定します。Oracle Databaseでは、一意のファイルであるOracle Managed Fileが作成され、不要になると削除されます。
表領域のサイズは、表領域を構成するデータファイルのサイズです。データベースのサイズは、データベースを構成する表領域の合計サイズです。
データベースのサイズを拡張するには、次の3つの方法があります。
既存の表領域にデータファイルを追加すると、その表領域に割り当てられているディスク領域の容量を増やすことになります。図3-2は、このようにして領域を拡大する方法を示しています。
別の方法として、新しい表領域を作成し(少なくとも1つのデータファイルを作成)、データベースのサイズを大きくすることもできます。図3-3は、この方法を示しています。
3番目の方法として、データファイルのサイズを変更するか、必要領域の増加に応じて既存の表領域のデータファイルが動的に拡張するように指定できます。そのためには、既存のファイルを変更するか、動的拡張プロパティを持つデータファイルを追加します。図3-4は、この方法を示しています。
データベースは、表領域と呼ばれる1つ以上の論理記憶単位に分割されます。表領域はセグメントと呼ばれる論理記憶単位に分けられ、セグメントはさらにエクステントに分けられています。エクステントは連続するブロックのコレクションです。
この項で表領域に関して取り上げる項目は、次のとおりです。
関連項目
Oracle Databaseでは、大型ファイル表領域を作成できます。これにより、Oracle Databaseでは、多数の小型ファイルではなく単一の大型ファイルで構成された表領域を格納できます。この表領域により、Oracle Databaseでは、64ビット・システムの機能を利用して超大規模ファイルを作成および管理できます。この結果、Oracle Databaseは800万TBまでサイズを拡張できるようになりました。
Oracle Managed Filesでは、大型ファイル表領域によりデータファイルがユーザーに対して完全に透過的になります。つまり、基礎となるデータファイルではなく表領域に対する操作を実行できます。大型ファイル表領域では、表領域はディスク領域の管理、バックアップおよびリカバリなどの主要単位となります。また、大型ファイル表領域により、新規データファイルを追加したり複数ファイルを取り扱う必要がなくなり、Oracle Managed Filesと自動ストレージ管理によるデータファイル管理が簡素化されます。
システム・デフォルトでは、従来型のOracle Database表領域である小型ファイル表領域が作成されます。SYSTEM
およびSYSAUX
表領域タイプは、常にシステム・デフォルトのタイプを使用して作成されます。
大型ファイル表領域がサポートされるのは、自動セグメント領域管理を使用するローカル管理表領域の場合のみです。ただし、これには2つの例外があり、ローカル管理のUNDO表領域と一時表領域は、セグメントが手動管理される場合にも大型ファイル表領域として使用できます。
Oracleデータベースには、大型ファイル表領域と小型ファイル表領域の両方を含めることができます。各種の表領域は、データファイルを明示的に参照しないSQL文の実行時には区別できません。
ユーザーが複数の表領域の一時領域を消費できるように、一時表領域のグループを作成できます。表領域グループは、データベースのデフォルト一時表領域としても指定できます。これは、ソート操作用の一時表領域が多数必要になる可能性がある大型ファイル表領域を使用する際に役立ちます。
この項の内容は、次のとおりです。
Oracle Databaseには、データベースの作成時に自動的に作成されるSYSTEM
という表領域が含まれています。SYSTEM
表領域は、データベースのオープン中は常にオンラインになっています。
ローカル管理表領域の利点を活用するには、ローカル管理のSYSTEM
表領域を作成する方法と、既存のディクショナリ管理のSYSTEM
表領域をローカル管理形式に移行する方法があります。
ローカル管理のSYSTEM
表領域を持つデータベースには、ディクショナリ管理表領域を作成できません。トランスポータブル機能を使用するとディクショナリ管理表領域をプラグインできますが、書込み可能にすることはできません。
この項の内容は、次のとおりです。
SYSTEM
表領域には、データベース全体のデータ・ディクショナリ表が必ず含まれます。
ストアドPL/SQLプログラム・ユニット(プロシージャ、ファンクション、パッケージおよびトリガー)のために格納されるデータは、すべてSYSTEM
表領域にあります。データベースにこれらのプログラム・ユニットの多くを含める場合、データベース管理者は必要なスペースをSYSTEM
表領域に確保する必要があります。
関連項目
|
SYSAUX
表領域は、SYSTEM
表領域の補助表領域です。多数のデータベース・コンポーネントでは、デフォルトのデータ格納場所としてSYSAUX
表領域が使用されます。そのため、データベースの作成時またはアップグレード時には、必ずSYSAUX
表領域が作成されます。
SYSAUX
表領域は、SYSTEM
表領域に常駐しないデータベース・メタデータの集中格納場所となります。これにより、シード・データベースとユーザー定義データベースの両方で、デフォルトで作成される表領域の数が減少します。
Oracle Databaseでは、通常のデータベース操作中にはSYSAUX
表領域の削除や名前変更は許可されません。SYSAUX
用のトランスポータブル表領域はサポートされません。
UNDO表領域は、ロールバック情報の格納にのみ使用する特別な表領域です。UNDO表領域に、タイプの異なるセグメント(表や索引など)を作成することはできません。UNDO表領域は、データベースが自動UNDO管理モード(デフォルト)の場合にのみ使用されます。データベースに複数のUNDO表領域を含めることができますが、使用中となるのは常に1つのUNDO表領域のみです。UNDOデータは、データベースにより自動的に作成および維持されるUNDOセグメントを使用して、UNDO表領域内で管理されます。
トランザクション内で最初のDML操作が実行されると、そのトランザクションは、現在のUNDO表領域内のUNDOセグメント(トランザクション表)にバインド(割当て)されます。インスタンスに対し専用のUNDO表領域が割り当てられていない場合は、トランザクションがシステムUNDOセグメントにバインドされます。
各UNDO表領域には一連のデータファイルが含まれ、ローカルで管理されます。他の表領域と同様、UNDOブロックはエクステントの中でグループ化され、各エクステントの状態がビットマップで表示されます。任意の時点で、エクステントはトランザクション表に割り当てられ(て使用され)るか、または解放されます。
大型ファイルUNDO表領域を作成できます。
UNDO表領域は、Oracle Databaseの各新規インストールで自動的に作成されます。Oracle Databaseの旧リリースには、UNDO表領域が含まれておらず、かわりにロールバック・セグメントが使用されていました。これは、手動UNDO管理モードと呼ばれます。Oracle Database 11gにアップグレードすると、UNDO表領域を作成して自動UNDO管理モードを有効化することで自動UNDO管理に移行できます。詳細は、『Oracle Databaseアップグレード・ガイド』を参照してください。
SYSTEM
表領域がローカル管理の場合は、データベースの作成時にデフォルトの一時表領域を1つ以上定義する必要があります。ローカル管理のSYSTEM
表領域は、デフォルトの一時記憶域として使用できません。
SYSTEM
がディクショナリ管理されており、データベースの作成時にデフォルトの一時表領域を定義しない場合は、デフォルトの一時記憶域に引き続きSYSTEM
が使用されます。ただし、デフォルトの一時表領域が推奨され、今後のリリースでは必須となることを伝える警告をALERT
.LOG
で受け取ります。
データベース作成の際は、CREATE DATABASE
文に対するDEFAULT TEMPORARY TABLESPACE
拡張機能を使用して、デフォルトの一時表領域を指定します。
大型ファイル一時表領域を作成できます。この種の表領域では、すべての一時表領域と同様に、データファイルではなく一時ファイルが使用されます。
小規模なデータベースでは、SYSTEM
表領域のみで十分な場合があります。ただし、ユーザー・データをデータ・ディクショナリ情報と切り離して格納するために、追加の表領域を少なくとも1つ作成することをお薦めします。これによって、各種のデータベース管理操作がより柔軟性に富んだものとなり、ディクショナリ・オブジェクトとスキーマ・オブジェクトに同一のデータファイルからアクセスすることに伴う競合を減らすこともできます。
複数の表領域を使用すると、次のタスクを実行できます。
データベース管理者は、次のことを実行できます。
表領域では、領域がエクステント単位で割り当てられます。表領域では、次の2つの方法で空き領域と使用済領域を追跡できます。
表領域の作成時に、この2つの領域管理方法からどちらかを選択できます。選択した管理方法は、後でDBMS_SPACE_ADMIN
PL/SQLパッケージを使用して変更できます。
この項の内容は、次のとおりです。
自身のエクステントを管理する表領域では、各データファイルのビットマップが保持され、そのデータファイル内のブロックの解放または使用状態が追跡されます。ビットマップ内の各ビットは、1ブロックまたは1ブロック・グループに対応します。エクステントが割り当てられるか、再利用のために解放されると、Oracle Databaseでは、新しいブロックの状態を表すためにビットマップの値が変更されます。
ローカル管理表領域には、ディクショナリ管理表領域に比べて次のような長所があります。
ローカルに管理されるエクステントのサイズは、システムにより自動的に決定されます。また、ローカル管理表領域内では、すべてのエクステントを同じサイズにすることもでき、さらにオブジェクト記憶域オプションがオーバーライドされます。
ローカル管理の永続表領域または一時表領域をそれぞれ作成するには、CREATE TABLESPACE
またはCREATE TEMPORARY TABLESPACE
文のLOCAL
句を指定します。
CREATE TABLESPACE
文を使用したローカル管理表領域の作成では、SEGMENT SPACE MANAGEMENT
句により、セグメント内の空き領域および使用領域の管理方法を指定します。次のいずれかを選択します。
AUTO
このキーワードを指定すると、Oracle Databaseで、セグメント内の空き領域の管理にビットマップが使用されます。この場合のビットマップは、行の挿入に使用できるブロックの領域に対応するセグメント内の各データ・ブロックの状態を示すマップです。データ・ブロックに、ある程度の空き領域ができると、新しい状態がビットマップに反映されます。Oracle Databaseでは、ビットマップを使用することで、空き領域の管理がさらに自動化されます。そのため、このような領域管理は、自動セグメント領域管理と呼ばれます。
自動セグメント領域管理を使用するローカル管理表領域は、小型ファイル表領域(従来型)または大型ファイル表領域として作成できます。AUTO
がデフォルトです。
MANUAL
このキーワードを指定すると、Oracle Databaseでは、セグメント内の空き領域の管理に空きリストが使用されます。空きリストとは、行の挿入に使用できる領域が確保されたデータ・ブロックのリストです。
関連項目
|
Oracle9iでデータベースを作成した場合は、ディクショナリ管理表領域を使用できます。表領域で、エクステントの管理にデータ・ディクショナリを使用する場合、Oracle Databaseでは、エクステントが割り当てられたり再利用のために解放されるたびにデータ・ディクショナリ内の適切な表が更新されます。また、Oracle Databaseでは、ディクショナリ表の更新ごとに、ロールバック情報が格納されます。ディクショナリ表とロールバック・セグメントはデータベースの一部であるため、これらが占める領域は、他のすべてのデータと同じ領域管理操作の対象となります。
Oracle Databaseは、マルチ・ブロック・サイズをデータベースでサポートします。SYSTEM
表領域には、標準ブロック・サイズが使用されます。標準ブロック・サイズは、データベースが作成されたときに設定され、任意の有効サイズに設定可能です。初期化パラメータDB_BLOCK_SIZE
を設定して、標準ブロック・サイズを指定します。指定できる値は2K〜32Kです。
初期化パラメータ・ファイルまたはサーバー・パラメータ・ファイルで、これらのブロック・サイズごとにバッファ・キャッシュ内のサブキャッシュを構成できます。インスタンスの実行中にサブキャッシュも構成できます。任意のブロック・サイズの表領域を作成できます。標準ブロック・サイズは、SYSTEM表領域および他の多くの表領域で使用されます。
マルチ・ブロック・サイズが主に役立つのは、表領域をOLTPデータベースから企業のデータ・ウェアハウスへ移動する場合です。これにより、ブロック・サイズが異なるデータベース間での移動が容易になります。
データベース管理者は、Oracleデータベースがオープンされているときはいつでも、その表領域(SYSTEM
表領域を除く)をオンライン(アクセス可能)またはオフライン(アクセス不能)にできます。Oracle Databaseが常にデータ・ディクショナリにアクセスできるようにするため、SYSTEM
表領域は、データベースのオープン中は常にオンラインです。
表領域は通常はオンラインになっており、データベース・ユーザーはその表領域内のデータを使用できます。一方、データベース管理者は、メンテナンスまたはバックアップおよびリカバリの目的に表領域をオフラインで使用できます。
Oracle Databaseでは、表領域がオフライン化されると、その表領域に含まれるオブジェクトをSQL文で参照できなくなります。アクティブなトランザクションで、この表領域のデータを参照する文がすでに完了している場合、トランザクション・レベルでの影響はありません。Oracle Databaseでは、すでに完了しているこれらの文に対応するロールバック・データが、SYSTEM
表領域の遅延ロールバック・セグメントに保存されます。表領域が再びオンライン化されたとき、Oracle Databaseでは、必要に応じて、ロールバック・データが表領域に適用されます。
表領域がオフラインになったり、オンラインに戻ったときには、SYSTEM
表領域内のデータ・ディクショナリにそのことが記録されます。表領域がオフラインのときにデータベースを停止すると、後からそのデータベースをマウントして再オープンしたときにも、その表領域はオフラインのままです。
表領域をオンラインにできるのは、その表領域を作成したデータベース内のみに限られます。これは、必要なデータ・ディクショナリ情報がそのデータベースのSYSTEM
表領域内に維持されているためです。Oracle Database以外のユーティリティでは、オフライン表領域の読取りまたは編集はできません。したがって、オフライン表領域を他のデータベースへ転送することはできません。
Oracle Databaseでは、特定のエラーが発生すると、表領域がオンラインからオフラインに自動的に切り替わります。たとえば、データベース・ライター・プロセスDBWnが、表領域のデータファイルへの書込みに数回失敗すると、Oracle Databaseでは、表領域がオンラインからオフラインに自動的に切り替わります。オフライン表領域にある表にアクセスしようとしたユーザーは、エラーを受け取ります。このようにディスクI/Oが失敗してしまう原因がメディア障害の場合は、問題を解決してから、表領域をリカバリする必要があります。
関連項目
|
読取り専用表領域の主な目的は、データベースの静的な部分を大量にバックアップしたりリカバリする必要をなくすことです。読取り専用表領域のファイルはOracle Databaseによって更新されることがないため、CD-ROMやWORMドライブのような読取り専用メディアに常駐させることができます。
読取り専用表領域は変更できません。読取り専用表領域を更新するには、最初に表領域を読取り/書込み可能にします。表領域の更新後に、その表領域を読取り専用に再設定します。
読取り専用表領域は変更できないため、読取り/書込みが可能に設定されていないかぎり、バックアップを繰り返す必要はありません。また、データベースのリカバリが必要な場合、読取り専用表領域は修正されていないため、リカバリする必要がありません。
ソート操作用の領域は、ソート専用に指定した1つ以上の一時表領域を使用すると、さらに効率的に管理できます。それにより、ソート領域の割当ておよび割当て解除に伴う領域管理操作のシリアライズを効率的に解消できます。1つのSQL操作で、ソート操作用の一時表領域を複数使用できます。たとえば、非常に大きな表の索引を作成し、索引作成中のソート操作を複数の表領域に分散できます。
結合、索引作成、順序付け、集計の計算(GROUP
BY
)およびオプティマイザ統計の収集など、ソートを使用するすべての操作には、一時表領域の機能が役立ちます。Oracle Real Application Clustersを使用することで、パフォーマンスが大幅に向上します。
この項の内容は、次のとおりです。
1つ以上の一時表領域は、ソート・セグメントにのみ使用できます。ユーザーが一時セグメント用に指定する表領域とは異なり、一時表領域としてはユーザーが使用可能な任意の表領域を使用できます。永続スキーマ・オブジェクトを一時表領域に格納することはできません。
ソート・セグメントは、1つのセグメントが複数のソート操作によって共有されている場合に使用されます。特定の表領域内でソート操作を実行する各インスタンス内に、ソート・セグメントが1つずつ存在します。
メモリー容量を超える大規模なソート操作が複数ある場合には、一時表領域を使用するとパフォーマンスが改善されます。最初のソート操作の実行時に、所定の一時表領域のソート・セグメントが作成されます。このソート・セグメントは、セグメント・サイズが、そのインスタンスで実行中のアクティブなソート操作すべてに必要な記憶容量の合計以上になるまで、エクステントが割り当てられて拡大します。
一時表領域の作成には、CREATE TABLESPACE
またはCREATE TEMPORARY TABLESPACE
文を使用します。
関連項目
|
トランスポータブル表領域により、異なるプラットフォームにまたがる場合も、Oracleデータベース間でそのサブセットを移動できます。表領域のクローンを作成して別のデータベースにプラグインする(データベース間で表領域をコピーする)方法と、あるOracleデータベースから表領域をアンプラグして他のOracleデータベースにプラグインする(データベース間で表領域を移動する)方法があります。
表領域を移動する場合は、データファイルをコピーして表領域のメタデータを統合するだけでよいため、この方法によるデータ移動は同じデータをエクスポート/インポートまたはアンロード/ロードするよりも何倍も高速です。表領域を移動する場合は、表データのインポート後またはロード後に索引を再作成しなくてもよいように、索引データも移動できます。
表領域はプラットフォーム間で転送できます。(すべてではありませんが、多くのプラットフォームでプラットフォーム間の表領域転送がサポートされています。)この機能を使用して、次のことが可能です。
この項の内容は、次のとおりです。
表領域リポジトリとは、表領域セットの集合です。表領域リポジトリはファイル・グループ・リポジトリ上に作成されますが、表領域リポジトリには、データベース間の表領域の移動またはコピーに必要なファイルのみが含まれます。表領域リポジトリには様々な表領域セットを格納でき、特定の表領域セットの異なるバージョンも格納できます。表領域リポジトリ内の1つのバージョンの表領域セットは、次のファイルで構成されます。
表領域の集合を移動またはコピーするには、その表領域を読取り専用にし、その中のデータファイルをコピーし、エクスポート/インポートを使用してデータ・ディクショナリに格納されているデータベース情報(メタデータ)を移動する必要があります。データファイルとメタデータのエクスポート・ファイルを、必ずターゲット・データベースにコピーします。これらのファイルを移動するには、オペレーティング・システムのコピー機能、FTPまたはCD上でのパブリッシングなど、フラット・ファイルのコピー機能を使用できます。
データファイルをコピーしてメタデータをインポートした後は、必要に応じて表領域を読取り/書込みモードにすることができます。
COMPATIBLE
初期化パラメータが10以上に設定されたOracle Databaseでは、最初に表領域のデータファイルをオープンするときに、各ファイルが属するプラットフォームが識別されます。これらのファイルではファイル・ヘッダー・ブロックのディスク・フォーマットが同一で、このブロックがファイルの識別と検証に使用されます。読取り専用ファイルとオフライン・ファイルは、読取り/書込みモードにするかオンライン化されると互換性レベルが上がります。このため、Oracle Database 10gより前の読取り専用の表領域は、プラットフォーム間のトランスポータブル機能を使用する前に、少なくとも1回は読取り/書込みにする必要があります。
Oracleデータベース内の表領域は、1つ以上の物理的なデータファイルから構成されます。1つのデータファイルは、1つの表領域および1つのデータベースのみに対応付けることができます。
Oracle Databaseでは、表領域のデータファイルを作成する際に、指定されたディスク領域に加えてファイル・ヘッダーのために必要なオーバーヘッドの領域が割り当てられます。データファイルが作成されると、Oracle Databaseを実行するオペレーティング・システムで、ファイルから古い情報や認可を消去した後、Oracle Databaseに割り当てます。ファイルが大きい場合には、この処理にかなりの時間がかかることがあります。どのデータベースでも最初の表領域は常にSYSTEM
表領域です。このため、Oracle Databaseでは、データベースの作成時に、SYSTEM
表領域にデータベースの最初のデータファイルが自動的に割り当てられます。
この項の内容は、次のとおりです。
データファイルが初めて作成されたときに、割り当てられたディスク領域がフォーマットされますが、ユーザー・データは含まれません。Oracle Databaseでは、対応付けられた表領域の将来のセグメントのデータを保持する領域が確保されます。これはOracle Database専用の領域です。Oracle Databaseでは、表領域内のデータが増加すると、対応付けられたデータファイル内の空き領域を使用してセグメントにエクステントを割り当てます。
表領域内のスキーマ・オブジェクトに対応付けられたデータは、物理的には、表領域を構成する1つ以上のデータファイルに格納されます。スキーマ・オブジェクトは、特定のデータファイルには対応していないことに注意してください。データファイルは、特定の表領域内の任意のスキーマ・オブジェクトのデータ用のリポジトリです。Oracle Databaseでは、スキーマ・オブジェクトに対応付けられたデータの領域は、表領域の1つ以上のデータファイル内に割り当てられます。このため、1つのスキーマ・オブジェクトが1つ以上のデータファイルにまたがる場合があります。表のストライプ化(データが複数のディスク上に分散されている状態)を使用しないかぎり、データベース管理者とエンド・ユーザーは、どのデータファイルにスキーマ・オブジェクトが格納されるかを制御できません。
データファイルを作成した後でそのデータファイルのサイズを変更することも、表領域内のスキーマ・オブジェクトのサイズが拡大するにつれてデータファイルのサイズが動的に拡大するように指定することもできます。この機能によって、各表領域に含まれるデータファイルの数を少なくして、データファイルの管理を単純化できます。
SYSTEM
以外の表領域は、いつでもオフライン化またはオンライン化できます。表領域をオフライン化またはオンライン化すると、その表領域を構成するすべてのデータファイルは1単位としてオフライン化またはオンライン化されます。
個々のデータファイルをオフライン化することもできます。ただし、通常、この操作を行うのは、一部のデータベース・リカバリ手順を実行する場合のみです。
ローカル管理の一時表領域には、次の点を除き、通常のデータファイルと同様の一時データファイル(一時ファイル)があります。
NOLOGGING
モードに設定されます。
ALTER
DATABASE
文では一時ファイルを作成できません。
DBA_TEMP_FILES
と動的パフォーマンス・ビューV$TEMPFILE
には表示されますが、DBA_DATA_FILES
やV$DATAFILE
ビューには表示されません。データベースの制御ファイルは、データベースの正常な起動と操作に必要な小さいバイナリ・ファイルです。データベースの使用中に、制御ファイルはOracle Databaseによって絶えず更新されるため、データベースがオープンされている間は書込み可能になっている必要があります。なんらかの理由で制御ファイルにアクセスできない場合、データベースは正常に機能できなくなります。
それぞれの制御ファイルは、1つのOracleデータベースにのみ対応付けられます。
この項の内容は、次のとおりです。
制御ファイルには、起動時と通常の操作時に必要な、インスタンスからアクセスする関連データベースの情報が格納されています。制御ファイルの情報を変更できるのは、Oracle Databaseのみです。データベース管理者やユーザーは、制御ファイルを編集できません。
制御ファイルには、次のような情報が格納されています。
データベース名とタイムスタンプは、データベース作成時に作成されます。データベース名には、DB_NAME
初期化パラメータに指定した名前、またはCREATE
DATABASE
文で使用した名前が使用されます。
データベースのデータファイルやREDOログ・ファイルが追加、改名または削除されるたびに、制御ファイルが更新され、この物理構造の変化が反映されます。これらの変更は、次の目的のために記録されます。
したがって、データベースの物理構造を変更した後は(ALTER
DATABASE
文を使用)、ただちに制御ファイルのバックアップを作成してください。
制御ファイルには、チェックポイントに関する情報も記録されます。チェックポイント・プロセス(CKPT)は、REDOログ内のチェックポイント位置に関する情報を、制御ファイルに3秒ごとに記録します。Oracle Databaseでは、データベースをリカバリする際にこの情報を使用して、REDOログ・グループの特定のポイントより前に記録されているREDOエントリはデータベースのリカバリには不要である(すでにデータファイルに書き込まれている)ことを指定します。
REDOログ・ファイルと同様に、Oracle Databaseでは、同じデータベースに対する同一の制御ファイルを同時に複数オープンし、書き込むことができます。1つのデータベースについての複数の制御ファイルを異なるディスクに格納することによって、単一地点の障害から制御ファイルを保護できます。制御ファイルが格納されているディスクがクラッシュした場合、Oracle Databaseが破損した制御ファイルへのアクセスを試みたときに現行インスタンスが失敗します。ただし、現行の制御ファイルのコピーを他のディスクに保存してあれば、データベースをリカバリしなくてもインスタンスを再起動できます。
操作時にデータベースのすべての制御ファイルが永続的に消失した場合は、インスタンスが異常終了し、メディア・リカバリが必要になります。現行の制御ファイルを使用できず、制御ファイルの古いバックアップを使用する場合、メディア・リカバリは容易ではありません。次の原則を遵守することをお薦めします。
|
![]() Copyright © 1993, 2008 Oracle Corporation. All Rights Reserved. |
|