Oracle Database 2日でデータベース管理者 11g リリース1(11.1) E05759-03 |
|
この章では、Oracle Enterprise Manager Database Control(Database Control)を使用してデータベースの記憶域構造を表示および管理する方法について説明します。この章の内容は次のとおりです。
Oracle Databaseは物理構造および論理構造から構成されます。データをディスクに保存する物理ファイルなどの物理構造はオペレーティング・システムで表示することも操作することも可能です。
論理構造はOracle Databaseによって作成され、認識されますが、オペレーティング・システムとは関係がありません。データベースにおける主要な論理構造(表領域)には、物理ファイルがあります。アプリケーション開発者またはユーザーは、論理構造を意識することはありますが、物理構造には注意を払いません。DBAはデータベースの物理構造と論理構造の関係を理解する必要があります。
図6-1は、論理構造と物理構造の関係を示しています。この図は、フラッシュ・リカバリ領域にオプションで保持されるリカバリ関連の構造も示しています。詳細は「フラッシュ・リカバリ領域」を参照してください。
Oracle Databaseでは、構造管理の大部分を自動化できます。Oracle Enterprise Manager Database Control(Database Control)によってWebベースのGraphical User Interface(GUI)が提供され、より簡単にデータベースを管理および監視できます。
データベース記憶域構造を表示するには、サーバー・サブページの「記憶域」セクションを参照してください。図6-2のリンクをクリックすると、記憶域ページにアクセスできます。
この項では、様々なデータベース記憶域構造に関するバックグラウンド情報を提供します。内容は次のとおりです。
制御ファイルにはデータベースの物理コンポーネントが追跡されます。これはデータベースを使用してデータベースが使用したすべての他のファイルを検索するルート・ファイルです。制御ファイルは重要であるため、制御ファイルを多重化することをお薦めします。つまり、制御ファイルには複数の同一のコピーがあります。Oracle Database Configuration Assistant(DBCA)で作成されたデータベースの場合、制御ファイルの3つのコピーが自動的に作成され、お互いに同期化されます。
任意の制御ファイルに問題が発生した場合、データベースは使用できなくなります。ただし、制御ファイルのコピーがあれば、データベースを停止して、問題が発生した制御ファイルをコピーから再作成し、データベースを再起動できます。他のオプションとして、CONTROL_FILES
初期化パラメータから問題が発生した制御ファイルを削除し、残っている制御ファイルを使用してデータベースを再起動する方法があります。
すべてのOracle Databaseには2つ以上のオンラインREDOログ・ファイルのセットがあります。REDOログ・ファイルのセットは総称してデータベースのREDOログとして知られています。REDOログはREDOレコードと呼ばれるREDOエントリから構成されています。
REDOログには、データの変更内容のコピーが格納されます。障害により、バックアップからデータファイルをリストアする必要がある場合、リストアされたデータファイルにはない最新の変更はREDOファイルから取得できるため、作業が失われることはありません。REDOログはハードウェア障害、ソフトウェア障害またはメディア障害の発生後、データベースのリカバリに使用されます。REDOログそのものを含めむ障害に対して備えるには、2つ以上のオンラインREDOログの同一のコピーを別々のディスクに保持できるよう、REDOログを多重化します。
データベースREDOログはREDOログ・ファイルのグループから構成されます。1グループはREDOログ・ファイルとその多重コピーから構成されます。個別のコピーはそれぞれグループのメンバーとみなされます。各グループは「グループ1」のように番号で定義されます。
図6-3は、2つのメンバーを持つREDOログ・グループが3つ存在するデータベース構成を表しています。可用性を最大限にするため、各グループのメンバーは別々のディスクに格納されます。たとえば、グループ1のメンバーはREDOログ・ファイルA_LOG1
およびB_LOG1
です。
データベース・ログ・ライター・プロセス(LGWR)は、そのグループのログ・ファイルが記憶域サイズの制限に達するまで、またはログ・スイッチ操作が要求されるまで、メモリー・バッファのREDOレコードをREDOログ・グループに書き込みます。次に、LGWRプロセスでは次のログ・グループに対して書込みを行います。最も古いグループが最新のREDOレコードによって上書きされるように、このアクションは循環方式で実行されます。
参照:
|
REDOログをアーカイブする際、上書きされる前にREDOログ・ファイルを別の場所にコピーします。このようにコピーされたファイルはアーカイブREDOログ・ファイルと呼ばれ、スタンバイ・データベースなどの複数の場所にアーカイブできます。
これらのアーカイブREDOログ・ファイルにより、保存してリカバリに使用できるREDOデータの量が増えます。アーカイブREDOログ・ファイルは、データベースのバックアップを、バックアップ時点から現時点までリカバリするために必要です。データベースに対するアーカイブは、有効にも無効にもできますが、有効にすることを強くお薦めします。また、フラッシュ・リカバリ領域にアーカイブREDOログ・ファイルを書き込むようにデータベースを構成することをお薦めします。
参照:
|
Oracle Databaseの以前のリリースでは、ロールバック・セグメントは、データベースのUNDO情報を追跡するために使用されるデータベース構造でした。優先されるUNDO情報の管理方法はUNDO表領域を利用したものです。詳細は、「UNDOデータの管理」を参照してください。
データファイルはデータベース内にデータを保存するオペレーティング・システム・ファイルです。データは、その他のプログラムでは読み込むことができないOracle固有の形式でこれらのファイルに書き込まれます。一時ファイルは一時表領域にのみ関連付けられたデータファイルの特殊なクラスです。
データファイルは次のコンポーネントに分類できます。
セグメントにはデータベース・オブジェクトの特定のタイプが含まれます。たとえば、表が表セグメントに格納され、索引が索引セグメントに格納されます。データファイルには複数のセグメントを含むことができます。
エクステントはセグメント内のデータ・ブロックの連続したセットです。Oracle Databaseはセグメントの領域を1つのエクステント単位に割り当てます。セグメントの既存のエクステントが一杯である場合、データベースはそのセグメントに対して別のエクステントを割り当てます。
データベース・ブロックとも呼ばれるデータ・ブロックはデータベース記憶域のI/Oの最小単位です。エクステントは複数の連続するデータ・ブロックから構成されます。データベースではデータベース作成時のデフォルトのブロック・サイズが使用されます。
データベースが作成されたら、データベースを再作成しないかぎりデフォルトのブロック・サイズは変更できません。しかしデフォルトのブロック・サイズと異なるブロック・サイズの表領域を作成することは可能です。
データベースは、関連する論理構造(表、ビュー、その他のデータベース・オブジェクトなど)をグループ化した、表領域と呼ばれる論理記憶域の単位に分割されます。たとえば、すべてのアプリケーション・オブジェクトは単一の表領域にグループ化され、メンテナンス操作が簡素化されます。
表領域は1つ以上の物理データファイルから構成されます。データベース・オブジェクトは表領域の物理データファイルに格納される表領域に割り当てられます。
Oracle Databaseを作成すると、SYSTEM
およびUSERS
などの表領域はすでに存在しています。
表領域は記憶域にデータの位置を物理的に決定するための方法です。表領域を作成するデータファイルを定義するとき、これらのファイルに対して記憶域を指定します。たとえば、指定したホスト・ディレクトリ(特定のディスク・ボリュームのこと)または指定した自動ストレージ管理ディスク・グループとして特定の表領域にデータファイルの場所を指定します。スキーマ・オブジェクトはその表領域に割り当てられ、指定された記憶域の場所に位置を決定します。表領域はバックアップおよびリカバリのユニットの提供も行います。Oracle Databaseのバックアップおよびリカバリの特長は表領域のレベルでバックアップまたはリカバリを有効にすることです。
表6-1に、データベースに含まれている一部の表領域を示します。
表領域 | 説明 |
---|---|
|
この表領域には、Oracle Databaseに含まれているサンプル・スキーマがあります。サンプル・スキーマにより、共通のプラットフォームが例として提供されます。オラクル社のドキュメントおよび入門資料には、サンプル・スキーマに基づいた例が含まれています。 |
|
この表領域は、データベース作成時に自動的に作成されます。Oracle Databaseはこの表領域を使用してデータベースを管理します。表領域にはデータ・ディクショナリ(特定のデータベース対象の読取り専用の参照として使用される主な表およびビューをまとめたもの)があります。また表領域にはデータベースに関する管理情報を含む様々な表およびビューがあります。これらはすべて |
|
インストール中に |
|
この表領域には、SQL文の処理中に生成された一時データが格納されています。たとえば、この表領域は問合せの格納に使用されます。すべてのデータベースに一時表領域が存在し、ユーザーの一時表領域として割り当てられます。事前構成されたデータベースでは、 |
|
これはデータベースがUNDO情報の保存に使用するUNDO表領域です。詳細は、「UNDOデータの管理」を参照してOracle DatabaseがUNDO表領域を使用する方法を理解してください。どのデータベースにもUNDO表領域が必要です。 |
|
この表領域は永続的なユーザー・オブジェクトおよびデータの格納に使用します。すべてのデータベースが、 |
新規の表領域を作成して、ユーザーおよびアプリケーション・データ要件をサポートできます。表領域作成時に、次のパラメータを設定します。
表領域における領域管理では、使用可能な(空き)領域と使用済領域が追跡され、データの挿入時または削除時に効率よく領域が割り当てられます。ディクショナリ管理表領域ではなくローカル管理表領域を作成することをお薦めします。ディクショナリ管理表領域は古い領域管理技術で、ローカル管理表領域ほど効率がよくありません。
ローカル管理表領域はデータ・ディクショナリではなく表領域の中に領域割当て情報を保存するため、パフォーマンスが向上します。Oracle Databaseはデフォルトでは、新規に作成された表領域が自動セグメント管理(さらにパフォーマンスを向上させる機能)によってローカルに管理されるように設定します。
表領域には次の3つのタイプがあります。
Oracle Databaseでは、永続表領域を使用して、システム・データなどの永続データが格納されます。永続表領域を使用して、ユーザーおよびアプリケーション・データを格納します。各ユーザーにデフォルトの永続表領域が割り当てられます。
自動UNDO管理モードで実行されているデータベースは、UNDO表領域にUNDOデータを透過的に作成し、管理します。Oracle Databaseでは、トランザクションのロールバック、読取り一貫性、データベース・リカバリ、およびOracle Flashback Queryなどの機能を提供する目的でUNDOデータが使用されます。
UNDO表領域は複数作成することができますが、アクティブにできるのは1つのみです。データベース・インスタンスが使用するUNDO表領域を切り替える場合は、新しいUNDO表領域を作成して、これを使用するようにデータベースで指定します。使用されなくなったUNDO表領域はデータベースから除外(削除)できます。
一時表領域は、SQL文によるソート処理の実行時に作成されるような一時的なデータの保存に使用されます。Oracle Databaseは、データベースの作成時に一時表領域を確保します。一時表領域グループを作成する場合は、さらに一時表領域を作成します。一般的な環境では、追加の一時表領域を作成する必要はありません。極度に大きなデータベースがある場合に、追加の一時表領域を構成することをお薦めします。
物理ファイルはデータファイルとは対照的に一時ファイルと呼ばれる一時表領域を構成します。
TEMP
表領域は通常、一時表領域を明示的に割り当てられていないユーザーに対するデフォルトの一時表領域として使用します。
表領域ステータスを次のように設定できます。
表領域が作成された後、ユーザーは読取りや書込みを行えます。これはデフォルトです。
表領域が読取り専用で作成された場合、ステータスが読取り/書込みに変更されないと表領域への書き込みはできません。読取り専用で表領域を作成することはまずありませんが、変更を避けたい場合、データ書込み後にステータスを変更する場合があります。
表領域がオフラインで作成された場合、アクセスできません。オフラインで表領域を作成することはまずありませんが、作成後、基礎となるファイルのメンテナンスを実行するときにステータスをオフラインに変更する場合があります。
表領域が制限サイズに達したとき、指定した量まで自動的に拡張されるように設定できます。自動拡張を有効化していないと、表領域がクリティカルまたは警告のしきい値サイズに達したときに警告されます。クリティカルまたは警告のしきい値パラメータには、デフォルト値があり、この値はいつでも変更できます。自動拡張された表領域が指定した制限サイズに近づいているときにもアラートが発生します。サイズのアラートに対応するには、表領域のサイズを手動で増やします。このためには、1つ以上の表領域データファイルのサイズを増やすか、または表領域に別のデータファイルを追加します。
Oracle Databaseに存在する他の記憶域構造は初期化パラメータ・ファイル、パスワード・ファイルおよびバックアップ・ファイルを含みます。
この項の内容は次のとおりです。
起動時のOracleインスタンスによって初期化パラメータが使用され、データベースのランタイム・プロパティおよびリソースが決定されます。一部のパラメータは、データベース実行中に設定または変更できます。他の初期化パラメータは、変更を有効にするために再起動が必要です。起動時のインスタンスによって初期化パラメータが使用され、データベースのランタイム・プロパティおよびリソースが決定されます。一部のパラメータは、データベース実行中に設定または変更できます。他の初期化パラメータは、変更を有効にするために再起動が必要です。
データベースではパスワード・ファイルを使用して、SYSDBA
またはSYSOPER
接続権限を持つ管理ユーザーを認証できます。これらの権限によりDBAは、データベースを起動および停止し、その他の高水準の管理タスクを実行できます。このパスワード・ファイルはデータベース自身の外部にあるため、データベースが起動されていないときにDBA認証を有効化します。
Oracle Databaseのインストール・プロセスの一部としてDBCAを起動する場合、DBCAはSYS
ユーザーの1エントリにつき、1つのパスワード・ファイルを作成します。SYSDBA
をユーザーに付与することにより、自動的にパスワード・ファイルもユーザーに追加されます。
バックアップ・ファイルは、厳密にはデータベース・ファイルではありません。データの損失を伴う障害が発生した場合にデータベースのリカバリに使用可能な、特定の形式でのデータベースのコピーです。
この項では、Oracle Enterprise Manager Database Control(Database Control)の様々なデータベース記憶域構造に関する情報の表示について説明します。内容は次のとおりです。
Database Controlを使用して、制御ファイルの位置情報とステータス情報を表示します。
詳細は、「データベースのホームページのアクセス」を参照してください。
一般サブページが表示された制御ファイル・ページが表示されます。このページはデータベースに多重制御ファイルが含まれているかどうか表示します。拡張サブページおよびレコード・セクション・サブページでは制御ファイルの詳細な情報を知ることができます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
Database Controlを使用して、オンラインREDOログ・ファイルのステータス情報と多重化情報を表示します。
詳細は、「データベースのホームページのアクセス」を参照してください。
REDOログ・グループ・ページが表示されます。このページにはデータベースのREDOログ・グループの属性が示されます。
REDOログ・グループにメンバーが1つしか含まれない場合は多重化されません。REDOログ・グループの「ステータス」属性を確認してください。グループのステータスが「現行」の場合は、ログ・ライターによってディスクへの書込みが進行していることを表しています。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
Database Controlを使用して、アーカイブREDOログ・ファイルのステータス情報を表示します。
詳細は、「データベースのホームページのアクセス」を参照してください。
アーカイブ・ログ・ページが表示されます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
Database Controlを使用して、データファイルのステータス情報と位置情報を表示します。
詳細は、「データベースのホームページのアクセス」を参照してください。
データファイル・ページが表示されます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
Database Controlを使用して、表領域の構成、サイズおよびステータス情報を表示します。
詳細は、「データベースのホームページのアクセス」を参照してください。
表領域ページが表示されます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
データベースの表領域の要件は、データベースにデータが追加されるにつれて変化します。DBAとして表領域とデータベースの記憶域を効果的に管理するために、次のタスクの実行方法を理解しておく必要があります。
表領域を追加作成してユーザー・データを格納できます。このため、すべてのデータがUSERS
表領域内に格納されているとはかぎりません。次のような場合に表領域を追加作成します。
詳細は、「データベースのホームページのアクセス」を参照してください。
図6-4に示す、表領域ページが表示されます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
表領域の作成ページが表示され、一般サブページが表示されます。
詳細は、「ローカル管理表領域とディクショナリ管理表領域の比較」を参照してください。
詳細は、「表領域のタイプ」を参照してください。
詳細は、「表領域のステータス」を参照してください。
データファイルの追加ページが表示されます。
表領域の作成ページに戻ります。
このページの詳細は、オンライン・ヘルプを参照してください。
表領域ページに戻り、新しく作成された表領域が表示されます。
Oracle Enterprise Manager Database Control(Database Control)を使用して、表領域を変更できます。たとえば、データファイル・サイズの増加、および他のデータファイルの追加によって表領域を拡張したり、自動拡張を設定したり、領域使用率のアラートしきい値を変更したり、ステータスをオフラインにすることができます。クリティカルまたは警告アラートを受け取ったとき、(アラートが使用可能な領域に関することの場合は)領域を拡張するか、または(アラートがデータの破損その他の深刻なエラーに関することの場合は)ステータスをオフラインにしてリカバリする必要があります。
この項の内容は次のとおりです。
この項では、制限サイズに達した場合、自動的に拡張するように表領域を設定する方法について説明します。次の手順では、表領域が以前は自動拡張する表領域ではなかった場合を想定します。
詳細は、「データベースのホームページのアクセス」を参照してください。
表領域ページが表示されます。
詳細は、図6-4を参照してください。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
表領域の編集ページが表示されます。
データファイルの編集ページが表示されます。
表領域の編集ページに戻ります。
確認メッセージが表示されます。
表領域に対する領域使用率がしきい値に達した場合、Database Controlはアラートを受け取ります。領域使用率のアラートは2種類あり、「警告」は、表領域の使用量が低い場合に、「クリティカル」は、表領域がほぼ一杯でアクションがすぐに必要な場合に発行されます。
警告および限界のアラートの両方に関して、アラートしきい値の指定方法は次の2つです。
使用されている領域が全領域の一定の割合以上になった場合、アラートが発行されます。
空き領域がMB単位を下回る場合、アラートが発行されます。
空き領域のしきい値は、表領域が大きい場合ほど有用です。たとえば、10TBの表領域で限界のアラートの割合を全体の99%に設定すると、100GBの空き領域が切った場合データベースによってアラートが発行されることになります。多くの場合、空き領域が100GB残っているということは重大な状態ではなく、アラートは有効とはいえません。この表領域の場合、空き領域が5GBを切った場合に限界のアラートを発行するような設定の方が、空き領域のしきい値が有効に使用されています。
表領域に対する警告および限界のアラートの両方に関して、使用されている領域のしきい値または空き領域のしきい値のいずれか、または両方を有効にできます。
詳細は、「データベースのホームページのアクセス」を参照してください。
表領域ページが表示されます。
詳細は、図6-4を参照してください。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
表領域の編集ページ、および一般サブページが表示されます。
確認メッセージが表示されます。
次のような場合、表領域をオフライン化する場合があります。
詳細は、「データベースのホームページのアクセス」を参照してください。
表領域ページが表示されます。
詳細は、図6-4を参照してください。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
表領域の編集ページが表示されます。
このページの選択内容の詳細を確認するには、「ヘルプ」をクリックします。
確認メッセージが表示されます。
表領域が削除された後、表領域内のオブジェクトおよびデータは使用できません。これらをリカバリすることは時間のかかるプロセスです。表領域を削除する前後にバックアップを実行することをお薦めします。
詳細は、「データベースのホームページのアクセス」を参照してください。
表領域ページが表示されます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
Database Controlでは、表領域およびディスクから関連付けられたデータファイルを削除する確認を求められます。
この項では、データベース内の再利用可能な未使用領域に関するバックグラウンド情報を提供し、この領域を再利用する方法について説明します。内容は次のとおりです。
時間の経過とともに、表領域内のオブジェクトの挿入、更新および削除(DML操作)を実行していると、個々には再利用できるほど大きくない空き領域の断片が作成されます。これらの空き領域をまとめてみると、大量の領域が無駄になっている場合があります。オブジェクトが点在していると、問合せおよびDML操作中にパフォーマンスが低下する可能性があります。
Oracle Databaseでは、次の2つのオンライン操作で空き領域を再利用できます。この操作は、操作続行中に、影響を受けるオブジェクトに対して問合せまたはDMLをブロックしない操作です。
オンラインでのセグメントの縮小は、表のセグメントおよび索引やパーティションなどの表の依存オブジェクトのセグメントで実行されます。セグメントごとに、データはセグメントの先頭に圧縮されます。空き領域は、表領域に戻されるか、次の挿入用にセグメント内で保持されます。オンラインでのセグメントの縮小が許可されるのは、自動セグメント領域管理を使用するローカル管理表領域内のセグメントのみです。オンラインでのセグメントの縮小はインプレース操作で、表領域の追加の空き領域は必要ありません。
再編成では、表とその依存オブジェクトが、表領域の異なる場所に再配置されます。この操作にはこれらのオブジェクトのデータを圧縮するというメリットがあります。この操作を正常に実行するには、表領域に表とその依存オブジェクトと同じサイズの空き領域が必要です。再編成は、ディクショナリ管理表領域または手動セグメント領域管理を使用するローカル管理表領域にのみ許可される操作です。
セグメント・アドバイザでは、大量の再利用可能な未使用領域を持つ、縮小または再編成するセグメントの推奨事項が生成されます。
セグメント・アドバイザは、再利用可能な未使用領域を持つデータベース・オブジェクトを特定します。使用率と増加に関する統計の検討、およびオブジェクトのデータのサンプリングを行うことで、分析を実行します。デフォルトでは、セグメント・アドバイザはすべてのメンテナンス期間中に一定の間隔で自動的に実行するよう構成されています。セグメント・アドバイザを手動で実行することもできます。
定期的に実行するセグメント・アドバイザ・タスクを自動セグメント・アドバイザと呼びます。アドバイザの実行結果は、セグメント・アドバイザの推奨事項として、データベース・ホームページの「領域サマリー」セクションにまとめられます。詳細は、図6-5を参照してください。
自動セグメント・アドバイザの実行中は、データベース内のセグメントのサブセットのみが分析されます。特定のセグメントに再利用可能な未使用領域があると考えられる場合でも、それらのセグメントはセグメント・アドバイザの推奨事項としては表示されず、自動セグメント・アドバイザはそれらを分析に選択しない可能性があります。そのようなセグメントでは、随時手動でセグメント・アドバイザを実行できます。自動セグメント・アドバイザが分析でどのように表領域およびセグメントを選択するかの詳細は、『Oracle Database管理者ガイド』を参照してください。
セグメント・アドバイザの推奨事項は表領域ごとにグループ化されています。表領域名のみ、Database Controlのセグメント・アドバイザ推奨ページに表示されます。表領域に、縮小または再編成を推奨されたセグメントが含まれる場合、表領域はセグメント・アドバイザ推奨ページに表示されます。このページでは、各表領域の再利用可能な領域の量が見積もられます。表領域の推奨事項の詳細をリクエストする場合、Database Controlでは、推奨事項が生成された表領域にセグメントが表示されます。
セグメントに対する推奨事項は縮小操作または再編成操作のいずれかです。セグメントの表領域をデフォルトの自動セグメント領域管理を使用するローカル管理として作成した場合、「セグメント・アドバイザ」により、縮小が不可能なタイプではないセグメントに対して縮小が推奨されます。このようなセグメントの例はファンクションベースの索引がある表です。オンラインでのセグメントの縮小ができない場合、または表領域がディクショナリ管理であるか手動セグメント領域管理で作成された場合は、「セグメント・アドバイザ」により再編成が推奨されます。
各セグメント・アドバイザ推奨には、クリックして領域再利用処理を開始できるボタンが含まれます。領域再利用はオンライン・プロセスであり多くのリソースを消費するため、オフピーク時に領域を再利用することをお薦めします。
詳細は、「データベースのホームページのアクセス」を参照してください。
セグメント・アドバイザ推奨ページが表示され、セグメント・アドバイザの最新の自動および手動の稼働から、推奨事項が表示されます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
表領域の推奨事項の詳細ページが表示されます。オンラインでのセグメントの縮小または再編成を推奨する表領域のセグメントがリストされています。
このオプションにより空き領域を表領域に戻します。空き領域を表領域に解放しない場合は、「セグメントの圧縮」を選択します。後で縮小プロセスを再び実行して、空き領域を解放できます。
注意: 現在実行中の長時間実行問合せに縮小の対象となるセグメントが含まれている可能性がある場合は、「セグメントの圧縮」を選択します。縮小操作の完了前に起動した長時間実行問合せは、再生されたブロックを読み取ろうとすることがあります。その場合はエラーが発生します。手順10で縮小操作をオフピーク時にスケジュールすることも可能です。 |
セグメントの縮小: スケジュール・ページが表示されます。
縮小操作はリソースを集中させる可能性があるため、「後で」を選択し、オフピーク時の操作のスケジュールを設定できます。
スケジューラのジョブ・ページが表示され、実行中サブページに縮小ジョブが示されます。
履歴サブページまたはすべてサブページに切り替えて、完了したジョブのステータスを表示できます。
セグメント・アドバイザを手動で実行します。自動セグメント・アドバイザによって選択されないオブジェクトを分析する場合、または表領域上の推奨事項を最新にする場合に有効です。
この項では、より一般的なREDOログ管理作業について説明します。内容は次のとおりです。
REDOログを多重化することをお薦めします。多重化により、インスタンス障害やメディア障害の場合にデータを保護できます。
REDOログを多重化するには、各REDOログ・グループにメンバーを追加する必要があります。REDOログ・グループが左右対称になる必要はありませんが、すべてのグループが同じ数のメンバーを持つことをお薦めします。単一のデータベースは2つ以上のREDOログ・グループを持つ必要があります。
詳細は、「データベースのホームページのアクセス」を参照してください。
REDOログ・グループ・ページが表示されます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
REDOログ・グループの編集ページが表示されます。
REDOログ・メンバーの追加ページが表示されます。
たとえば、既存のメンバー・ファイル名がREDO01.log
の場合、このメンバーをREDO01a.log
と指定します。
同一ディレクトリ内でこのファイルを作成できますが、各メンバーを別々のディスク・ドライブに保存しておくことをお薦めします。そうすることで、ドライブ障害があった場合もメンバーにアクセスできます。
確認メッセージが表示されます。
ログ・スイッチが発生すると、ログ・ライター(LGWR)・プロセスは、現在のREDOログ・グループへの書込みを停止し、使用可能な次のREDOログ・グループへの書込みを開始します。現在のREDOグループを非アクティブにして、REDOログのメンテナンス操作に使用できるようにするため、ログ・スイッチを強制的に実行することができます。たとえば、現在のREDOログ・グループを削除するには、REDOログ・グループを非アクティブにしないと削除できません。また、グループのメンバーが完全に一杯になる前に、現在のREDOログ・グループを特定の時点でアーカイブする必要がある場合も、ログ・スイッチを強制的に実行します。このオプションは、一杯になるまでに時間がかかる、サイズが大きなREDOログ・ファイルを使用した構成に便利です。
詳細は、「データベースのホームページのアクセス」を参照してください。
REDOログ・グループ・ページが表示されます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
確認メッセージが表示されます。グループのステータスはCurrentからActiveに変更され、リストにある次のグループのステータスがInactiveからCurrentに変更されます。
Oracle Databaseリリース11g から、Oracle DatabaseではUNDOが自動的に管理されるようになりました(デフォルトのインストールの場合)。通常、DBAの介入は不要です。ただし、Oracle Flashback操作を使用している場合は、フラッシュバック操作の成功を保証するために、いくつかのUNDO管理タスクを実行する必要があります。
この項では、UNDOデータの管理に関するバックグラウンド情報を提供し、UNDOデータの管理方法について説明します。内容は次のとおりです。
トランザクションによりデータが変更される場合、変更前に元のデータがコピーされます。変更済データのオリジナル・コピーはUNDOデータと呼ばれます。次の理由から、この情報は保存しておく必要があります。
自動UNDO管理により、UNDOデータは表領域に格納されます。UNDO表領域には、永続表領域のプロパティの他に追加のプロパティがいくつかあります。複数のUNDO表領域が存在しても構いませんが、Oracleインスタンスに対してアクティブにできるのは1つのみです。
DBCAでデータベースを作成すると、UNDOTBS1
という名前の自動拡張UNDO表領域が作成されます。このUNDO表領域の最大拡張サイズは35GBです。
Oracle Databaseでは、アクティブ・トランザクションで使用されているUNDOデータが、そのトランザクションがコミットされるまで上書きされないことが自動的に保証されます。トランザクションのコミット後、そのUNDOデータが占有している領域は再利用または上書き可能になります。この場合、UNDO表領域の領域が不足すると、そのUNDOデータは上書きされる可能性があります。
トランザクションのコミット後も、Oracle Flashback機能の正常な実行を保証し、長時間実行問合せの読取り一貫性を維持する上で、UNDOデータを保持する(上書きしない)ことは有効です。そのために、データベースではUNDO保存期間がメンテナンスされ、自動的にチューニングされます。コミット済のUNDOデータのうち、その経過時間がUNDO保存期間に達していないものは、問合せやOracle Flashback操作で使用できるように保持されます。
Oracle Databaseでは、デフォルトでUNDOデータおよびUNDO表領域が自動的に管理されますが、Oracle Flashback機能を使用している場合は、フラッシュバック操作の成功を保証するために、いくつかのUNDO管理タスクを実行する必要があります。
Oracle Flashback操作中にsnapshot
too
old
というエラーが発生した場合は、フラッシュバック操作のサポートに十分なUNDOデータが保持されているかどうか確認する必要があることを意味しています。
Oracle Flashback操作のサポートを強化するには、次の2つの方法があります。
そのためには、UNDO_RETENTION
初期化パラメータを設定します。詳細は、『Oracle Database管理者ガイド』を参照してください。
自動拡張UNDO表領域に対しては、アクティブな最長実行問合せよりわずかに長くなるように、UNDO保存期間が常に自動的にチューニングされます。ただし、この自動チューニングされた保存期間は、Oracle Flashback操作には不十分な場合があります。
固定サイズのUNDO表領域または自動拡張が無効な表領域に対しては、アクティブな最長実行問合せよりわずかに長くなるようにUNDO保存期間がチューニングされるのではなく、システムのアクティビティとUNDO表領域のサイズに基づいて、最適な保存が可能になるようにUNDO保存期間が動的にチューニングされます。固定サイズのUNDO表領域に対するこの最適な保存期間は、アクティブな最長実行問合せよりはるかに長くすることもできるため、Oracle Flashback操作への対応が強化されます。
UNDO表領域を固定サイズに変更するのには、UNDO表領域が大きくなりすぎるのを防ぐという理由もあります。
UNDO表領域を固定サイズに変更する場合は、十分に大きな表領域サイズを選択する必要があります。選択したUNDO表領域サイズが小さすぎると、次の2つのエラーが発生する可能性があります。
「スナップショットが古すぎます」
というエラーが発生し、長時間実行問合せが失敗します。これは、UNDOデータが不足しているために読取り一貫性を維持できないことを意味します。
Oracle Enterprise Manager Database Control(Database Control)のUNDOアドバイザを使用して、固定サイズのUNDO表領域の最小サイズを判断できます。「UNDOアドバイザを使用したUNDO表領域の最小サイズの計算」を参照してください。
自動UNDO管理ページを使用して、UNDO構成に関する次の情報を表示できます。
詳細は、「データベースのホームページのアクセス」を参照してください。
自動UNDO管理ページが表示されます。
ページの詳細は、そのページの「ヘルプ」をクリックしてください。
UNDO表領域を固定サイズに変更する場合は、UNDOアドバイザを使用して必要最小限のサイズを算出します。UNDOアドバイザを使用すると、最小UNDO保存期間も設定できます。
詳細は、「UNDO情報の表示」を参照してください。
自動収集した統計は、長時間実行問合せの期間およびUNDO生成率を含みます。Oracle Flashback機能を使用しない場合、または将来の長時間実行問合せが以前の長時間実行問合せ期間を超えない場合は、これらの統計に基づくUNDO表領域の最小サイズを計算することを推奨します。
UNDO保存期間を選択し、入力する場合は、将来の長時間実行問合せまたはOracle Flashback操作の予想期間に基づいて期間を決定する必要があります。
「期間」フィールドが選択したUNDO保存期間に合わせて変わります。また、グラフの上の「必要なUNDO表領域の最小サイズ」フィールドが対応する必要サイズを反映して変わります。
最小UNDO保存期間が「期間」フィールドの値に設定されます。
注意: UNDOアドバイザで分析を実行したり、最小UNDO保存期間を設定しても、UNDO表領域のサイズは変わりません。UNDO表領域のサイズを変更するには、「UNDO表領域の固定サイズへの変更」の手順を実行してください。 |
UNDO表領域が大きくなりすぎるのを防ぐため、またはOracle Flashback操作のサポートを強化するために、UNDO表領域を固定サイズに変更します。
表領域の編集ページにUNDO表領域のプロパティが表示されます。
データファイルの編集ページが表示されます。
詳細は、「UNDOアドバイザを使用したUNDO表領域の最小サイズの計算」を参照してください。
表領域の編集ページに戻ります。
確認メッセージが表示されます。
Oracle by Example(OBE)には、このマニュアルに関するシリーズが含まれています。このOBEでは、この章のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。
記憶域に関するOBEを参照するには、ご使用のブラウザで次のURLを指定します。
http://www.oracle.com/technology/obe/11gr1_2day_dba/storage/storage.htm
|
![]() Copyright © 2004, 2008, Oracle Corporation. All Rights Reserved. |
|