6 データベース記憶域構造の管理

この章では、Oracle Enterprise Manager Database Express (EM Express)を使用してデータベースの記憶域構造を表示および管理する方法について説明します。この章の構成は、次のとおりです。

6.1 データベース記憶域構造について

Oracle Databaseは物理構造および論理構造で構成されます。データをディスクに保存する物理ファイルなどの物理構造は、オペレーティング・システムから表示して操作できます。

論理構造はOracle Databaseによって作成され、認識されますが、オペレーティング・システムとは関係がありません。データベースにおける主要な論理構造(表領域)には、物理ファイルがあります。アプリケーション開発者またはユーザーは、論理構造を意識することはありますが、物理構造には注意を払いません。データベース管理者(DBA)は、データベースの物理構造と論理構造の関係を理解する必要があります。

図6-1は、論理構造と物理構造の関係を示しています。また、この図は、オプションで高速リカバリ領域に保持されるリカバリ関連の構造も示しています。詳細は、高速リカバリ領域を参照してください。

図6-1 Oracle Database記憶域構造

図6-1の説明が続きます
「図6-1 Oracle Database記憶域構造」の説明

Oracle Databaseでは、構造管理の大部分を自動化できます。Oracle Enterprise Manager Database Express (EM Express)には、データベースをより簡単に管理および監視できるようWebベースのグラフィカル・ユーザー・インタフェース(GUI)が用意されています。

物理的に見て、マルチテナント・コンテナ・データベース(CDB)の構造は基本的に非CDBと同じですが、各プラガブル・データベース(PDB)に独自の表領域のセット(独自のSYSTEMおよびSYSAUX表領域を含む)とデータ・ファイルがある点が異なります。

CDBには次のファイルが含まれています。

  • 1つの制御ファイル

  • 1つのオンラインREDOログ

  • 1セット以上の一時ファイル

  • 1セットのUNDOデータ・ファイル

  • コンテナごとの一連のシステム・データ・ファイル

  • 0セット以上のユーザー作成データ・ファイル

この項では、様々なデータベース記憶域構造に関するバックグラウンド情報を提供します。次の項目が含まれます。

関連項目:

6.1.1 制御ファイルについて

制御ファイルではデータベースの物理コンポーネントが追跡されます。これはデータベースを使用してデータベースが使用したすべての他のファイルを検索するルート・ファイルです。制御ファイルは重要であるため、制御ファイルを多重化すること、つまり、制御ファイルの同一コピーを複数個作成することをお薦めします。Oracle Database Configuration Assistant (DBCA)で作成されたデータベースの場合、制御ファイルの2つのコピーが自動的に作成され、互いに同期化されます。

任意の制御ファイルに問題が発生した場合、データベースは使用できなくなります。ただし、制御ファイルのコピーがあれば、データベースを停止して、問題が発生した制御ファイルをコピーから再作成し、データベースを再起動できます。他のオプションとして、CONTROL_FILES初期化パラメータから問題が発生した制御ファイルを削除し、残っている制御ファイルを使用してデータベースを再起動する方法があります。

関連項目:

6.1.2 オンラインREDOログ・ファイルについて

すべてのOracle Databaseには2つ以上のオンラインREDOログ・ファイルのセットがあります。オンラインREDOログ・ファイルのセットは、総称してデータベースのREDOログと呼ばれます。REDOログは、REDOレコードとも呼ばれるREDOエントリで構成されています。

オンラインREDOログには、データの変更内容のコピーが格納されます。障害により、バックアップからデータファイルをリストアする必要がある場合、リストアされたデータファイルにはない最新のデータ変更はオンラインREDOログ・ファイルから取得できるため、作業が失われることはありません。オンラインREDOログ・ファイルは、ハードウェア障害、ソフトウェア障害またはメディア障害の発生後、データベースのリカバリに使用されます。オンラインREDOログ・ファイル自体を含む障害に対して保護を行うために、Oracle Databaseでは、2つ以上のオンラインREDOログ・ファイルの同一のコピーを異なるディスクに保持できるように、オンラインREDOログ・ファイルを多重化できます。

データベースのオンラインREDOログは、オンラインREDOログ・ファイルのグループで構成されます。1つのグループは、オンラインREDOログ・ファイルとその多重コピーで構成されます。個別のコピーはそれぞれグループのメンバーとみなされます。各グループは「グループ1」のように番号で定義されます。

図6-2は、3つのオンラインREDOログ・グループがあり、それぞれのグループに2つのメンバーが存在するデータベースの構成を示しています。可用性を最大限にするため、各グループのメンバーは個別のディスクに格納されます。たとえば、グループ1のメンバーはREDOログ・ファイルA_LOG1およびB_LOG1です。

図6-2 オンラインREDOログ・グループおよびそのメンバー

図6-2の説明が続きます
「図6-2 オンラインREDOログ・グループおよびそのメンバー」の説明

データベース・ログ・ライター・プロセス(LGWR)は、そのグループのログ・ファイルが記憶域サイズの制限に達するまで、またはログ・スイッチ操作が要求されるまで、メモリー・バッファのREDOレコードをREDOログ・グループに書き込みます。次に、LGWRプロセスでは次のログ・グループに対して書込みを行います。最も古いグループが最新のREDOレコードによって上書きされるように、このアクションはLGWRプロセスにより循環方式で実行されます。

関連項目:

6.1.3 アーカイブREDOログ・ファイルについて

Oracle Databaseでは、オンラインREDOログのアーカイブを有効にすると、上書きされる前にオンラインREDOログ・ファイルが別の場所にコピーされます。このようにコピーされたファイルは、アーカイブREDOログ・ファイルと呼ばれます。複数の場所にアーカイブすることができます。

これらのアーカイブREDOログ・ファイルにより、保存してリカバリに使用できるREDOデータの量が増えます。アーカイブREDOログ・ファイルは、データベースのバックアップを、バックアップ時点から現時点までリカバリするために必要です。データベースに対するアーカイブは、有効にも無効にもできますが、有効にすることを強くお薦めします。また、高速リカバリ領域にアーカイブREDOログ・ファイルを書き込むようにデータベースを構成することをお薦めします。

関連項目:

6.1.4 ロールバック・セグメントについて

Oracleデータベースの以前のリリースでは、ロールバック・セグメントは、データベースのUNDO情報を追跡するために使用されるデータベース構造でした。優先されるUNDO情報の管理方法はUNDO表領域を利用したものです。詳細は、UNDOデータの管理を参照してください。

注意:

Oracle Databaseでは、SYSTEMロールバック・セグメントを使用して、システム・トランザクションを実行します。このロールバック・セグメントはデータベース作成時に自動的に作成され、インスタンス起動時に必ずオンラインになります。また、SYSTEM表領域に存在します。SYSTEMロールバック・セグメントの管理のために操作を実行する必要はありません。

6.1.5 データファイルについて

データファイルは、データベース内のデータを格納するオペレーティング・システム・ファイルです。データは、その他のプログラムでは読み込むことができないOracle固有の形式でこれらのファイルに書き込まれます。一時ファイルは、一時表領域にのみ関連付けられたデータファイルの特殊なクラスです。

データファイルは次のコンポーネントに分類できます。

  • セグメント

    セグメントにはデータベース・オブジェクトの特定のタイプが含まれます。たとえば、表が表セグメントに格納され、索引が索引セグメントに格納されます。データファイルは複数のセグメントを含むことができます。

  • エクステント

    エクステントはセグメント内のデータ・ブロックの連続したセットです。Oracle Databaseはセグメントの領域を1つのエクステント単位に割り当てます。セグメントの既存のエクステントが一杯である場合、データベースはそのセグメントに対して別のエクステントを割り当てます。

  • データ・ブロック

    データベース・ブロックとも呼ばれる、データ・ブロックは、データベース記憶域のI/Oの最小単位です。エクステントは複数の連続するデータ・ブロックから構成されます。データベースではデータベース作成時のデフォルトのブロック・サイズが使用されます。

    データベースが作成されたら、データベースを再作成しないかぎりデフォルトのブロック・サイズは変更できません。しかしデフォルトのブロック・サイズと異なるブロック・サイズの表領域を作成することは可能です。

セグメント、エクステントおよびデータ・ブロックはすべて論理構造です。ファイル内のデータ・ブロック数を判別できるのはOracle Databaseのみです。オペレーティング・システムは、ファイルとオペレーティング・システム・ブロックのみを認識し、Oracle Databaseファイル内のデータ・ブロック数を認識しません。各データ・ブロックは、1つ以上のオペレーティング・システム・ブロックにマッピングされます。

関連項目:

6.1.6 表領域について

データベースは、関連する論理構造(表、ビュー、その他のデータベース・オブジェクトなど)をグループ化した、表領域と呼ばれる論理記憶域の単位に分割されます。たとえば、すべてのアプリケーション・オブジェクトは単一の表領域にグループ化され、メンテナンス操作が簡素化されます。

表領域は、1つ以上の物理データファイルで構成されます。表領域に割り当てられたデータベース・オブジェクトは、その表領域の物理データファイルに格納されます。

Oracle Databaseを作成してある場合、SYSTEMSYSAUXなどの表領域はすでに存在します。

表領域は記憶域にデータの位置を物理的に決定するための方法です。表領域を構成するデータファイルを定義するときに、これらのファイルに対して記憶域の場所を指定します。たとえば、指定したホスト・ディレクトリ(特定のディスク・ボリュームのこと)または指定したOracle Automatic Storage Managementディスク・グループとして、特定の表領域のデータファイルの場所を指定します。スキーマ・オブジェクトはその表領域に割り当てられ、指定された記憶域の場所に位置を決定します。表領域はバックアップおよびリカバリのユニットの提供も行います。Oracle Databaseのバックアップおよびリカバリの特長は表領域のレベルでバックアップまたはリカバリを有効にすることです。

表6-1に、データベースに含まれている一部の表領域を示します。

表6-1 表領域および説明

表領域 説明

EXAMPLE

この表領域には、Oracle Databaseに含まれているサンプル・スキーマがあります。サンプル・スキーマにより、共通のプラットフォームが例として提供されます。オラクル社のドキュメントおよび入門資料には、サンプル・スキーマに基づいた例が含まれています。

SYSTEM

この表領域は、データベース作成時に自動的に作成されます。Oracle Databaseはこの表領域を使用してデータベースを管理します。表領域にはデータ・ディクショナリ(特定のデータベース対象の読取り専用の参照として使用される主な表およびビューをまとめたもの)があります。また表領域にはデータベースに関する管理情報を含む様々な表およびビューがあります。これらはすべてSYSスキーマに存在し、SYSユーザーまたは該当する権限を持つその他の管理ユーザーのみがアクセスできます。

SYSAUX

これはSYSTEM表領域への補助表領域です。

SYSAUX表領域には、一部のコンポーネントおよび製品のデータが含まれ、その結果SYSTEM表領域の負荷が軽減されます。Oracle Database 10gリリース1(10.1)以上を使用するすべてのデータベースに、SYSAUX表領域が必要です。

自動ワークロード・リポジトリ、Oracle StreamsおよびOracle Textのインストール時にデフォルト表領域としてSYSAUXを使用するコンポーネント。詳細は、Oracle Database管理者ガイドを参照してください。

TEMP

この表領域には、SQL文の処理中に生成された一時データが格納されています。たとえば、この表領域は問合せの格納に使用されます。すべてのデータベースに一時表領域が存在し、ユーザーの一時表領域として割り当てられます。事前構成されたデータベースでは、TEMP表領域はデフォルトの一時表領域に指定されています。ユーザー・アカウントの作成時に一時表領域が指定されていない場合、Oracle Databaseによってこの表領域がユーザーに割り当てられます。

UNDOTBS1

これはデータベースがUNDO情報の保存に使用するUNDO表領域です。UNDOデータの管理を参照してOracle DatabaseがUNDO表領域を使用する方法を理解してください。どのデータベースにもUNDO表領域が必要です。

USERS

この表領域は永続的なユーザー・オブジェクトおよびデータの格納に使用します。すべてのデータベースが、TEMP表領域のような、ユーザーに割り当てられる永続的なユーザー・データのための表領域を持つ必要があります。そうでない場合は、ユーザー・オブジェクトはSYSTEM表領域に作成されますが、これはあまりよい方法ではありません。事前構成されたデータベースでは、USERSはすべての新しいユーザーのデフォルト表領域として指定されます。

新規の表領域を作成して、ユーザーおよびアプリケーション・データ要件をサポートできます。表領域作成時に、次のパラメータを設定します。

関連項目:

6.1.6.1 ローカル管理表領域
表領域における領域管理では、使用可能な(空き)領域と使用済領域が追跡され、データの挿入時または削除時に効率よく領域が割り当てられます。ローカル管理表領域はデータ・ディクショナリではなく表領域の中に領域割当て情報を保存するため、パフォーマンスが向上します。Oracle Databaseはデフォルトでは、新規に作成された表領域が自動セグメント管理(さらにパフォーマンスを向上させる機能)によってローカルに管理されるように設定します。
6.1.6.2 表領域のタイプ
表領域には3つのタイプがあります。次に例を示します。
  • 永続的

    永続表領域を使用して、ユーザーおよびアプリケーション・データを格納します。Oracle Databaseでは、永続表領域を使用して、システム・データなどの永続データが格納されます。各ユーザーにデフォルトの永続表領域が割り当てられます。

  • UNDO

    自動UNDO管理モードで実行されているデータベースは、UNDO表領域にUNDOデータを透過的に作成し、管理します。Oracle Databaseでは、トランザクションのロールバック、読取り一貫性、データベース・リカバリ、およびOracle Flashback Queryなどの機能を提供する目的でUNDOデータが使用されます。データベース・インスタンスが持つことができるアクティブなUNDO表領域は1つのみです。

  • 一時

    一時表領域は、SQL文によるソート処理の実行時に作成されるような一時的なデータの保存に使用されます。Oracle Databaseは、データベースの作成時に一時表領域を確保します。一時表領域グループを作成する場合は、さらに一時表領域を作成します。一般的な状況では、追加の一時表領域を作成する必要はありません。極度に大きなデータベースがある場合に、追加の一時表領域を構成することをお薦めします。

    物理ファイルはデータファイルとは対照的に一時ファイルと呼ばれる一時表領域を構成します。

    TEMP表領域は通常、一時表領域を明示的に割り当てられていないユーザーに対するデフォルトの一時表領域として使用します。

関連項目:

6.1.6.3 表領域のステータス
表領域ステータスを設定できます。次に例を示します。
  • 読取り/書込み

    表領域が作成された後、ユーザーは読取りや書込みを行えます。これはデフォルトです。

  • 読取り専用

    表領域が読取り専用で作成された場合、ステータスが読取り/書込みに変更されないと表領域への書込みはできません。読取り専用で表領域を作成することはまずありませんが、変更を避けたい場合、データ書込み後にステータスを変更する場合があります。

  • オフライン

    表領域のステータスがオフラインの場合、ユーザーは表領域にアクセスできません。たとえば、ある表領域に関連付けられているデータファイルでメンテナンスまたはリカバリを実行する前に、その表領域のステータスをオフラインに変更します。

6.1.6.4 表領域の自動拡張
表領域が制限サイズに達したとき、指定した量まで自動的に拡張されるように設定できます。自動拡張を有効にしていないと、表領域がクリティカルまたは警告のしきい値サイズに達したときにアラートが発生します。クリティカルまたは警告のしきい値パラメータには、デフォルト値があり、この値はいつでも変更できます。自動拡張された表領域が指定した制限サイズに近づいているときにもアラートが発生します。サイズのアラートに対応するには、表領域のサイズを手動で増やします。これを行うには、1つ以上の表領域データファイルのサイズを増やすか、または表領域に別のデータファイルを追加します。

注意:

表領域に対して自動拡張というのは一般的ですが、自動拡張はデータファイルのプロパティであって表領域のプロパティではありません。つまり、表領域を構成するデータファイルを作成するときに、これらのデータファイルを自動的に拡張するかどうかを指定します。自動拡張するデータファイルを持つ表領域を自動拡張表領域とみなします。自動拡張データファイルの最大サイズを指定できます。

6.1.6.5 暗号化された表領域
暗号化表領域では、主にデータベース以外の手段による未承認のアクセスからデータを保護します。たとえば、あるOracle Databaseから別のOracle Databaseに移動するため、または格納用のオフサイト施設に移動するために暗号化された表領域をバックアップ・メディアに書き込むと、表領域は暗号化されたままになります。また、暗号化表領域では、データベースのセキュリティ機能を回避して、オペレーティング・システムのファイル・システムから直接データベース・ファイルにアクセスしようとするユーザーからデータを保護します。

永続表領域を暗号化して機密データを保護できます。表領域を暗号化すると、すべての表領域ブロックが暗号化されます。暗号化は、表、クラスタ、索引、LOB、表パーティション、索引パーティションなどを含むすべてのセグメント・タイプに対してサポートされています。表領域の暗号化はアプリケーションに対して完全に透過的であるため、アプリケーションの変更は不要です。

関連項目:

表領域の暗号化の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

6.1.7 その他の記憶域構造について

Oracle Databaseに存在する他の記憶域構造は初期化パラメータ・ファイル、パスワード・ファイルおよびバックアップ・ファイルを含みます。

初期化パラメータ・ファイル

起動時のOracleインスタンスによって初期化パラメータが使用され、データベースのランタイム・プロパティおよびリソースが決定されます。一部のパラメータは、データベース実行中に設定または変更できます。他の初期化パラメータは、変更を有効にするためにデータベースを再起動する必要があります。初期化パラメータの表示と変更を参照してください。

パスワード・ファイル

データベースでは、パスワード・ファイルを使用して、SYSDBASYSOPERおよびSYSBACKUP権限を持つ管理ユーザーを認証できます。これらの権限のいずれかを使用してデータベースにリモート接続するには、パスワード・ファイルが必要です。これらの権限によりDBAは、データベースを起動および停止し、データベースをバックアップおよびリカバリし、その他の高水準の管理タスクを実行できます。このパスワード・ファイルはデータベース自身の外部にあるため、データベースが起動されていないときにDBA認証を有効化します。(DBAはデータベースを起動する前に認証する必要があります。)

Oracle Databaseのインストール・プロセスの一部としてDBCAを起動する場合、DBCAはSYSユーザーの1エントリにつき、1つのパスワード・ファイルを作成します。SYSDBASYSOPERまたはSYSBACKUPをユーザーに付与すると、そのユーザーが自動的にパスワード・ファイルに追加されます。

注意:

Oracle Databaseは、オペレーティング・システム認証を使用して、SYSDBASYSOPERおよびSYSBACKUP権限でユーザーを認証することもできます。オペレーティング・システム認証は、パスワード・ファイル認証より優先されます。SQL*Plusの起動およびデータベースへの接続を参照してください。

バックアップ・ファイル

バックアップ・ファイルは、厳密にはデータベース・ファイルではありません。データの損失を伴う障害が発生した場合にデータベースのリカバリに使用可能な、特定の形式でのデータベースのコピーです。

関連項目:

6.2 データベース記憶域構造の情報の表示

データベース内の記憶域構造の管理に役立つよう、この項では、Oracle Enterprise Manager Database Express (EM Express)を使用して、様々なデータベース記憶域構造に関する情報を表示する手順を示します。

この項では、次の項目について説明します。

6.2.1 制御ファイルの情報の表示

Oracle Enterprise Manager Database Express (EM Express)を使用して、制御ファイルの位置情報とステータス情報を表示できます。

注意:

マルチテナント・コンテナ・データベース(CDB)では、EM Expressの制御ファイル情報は、プラガブル・データベース(PDB)ではなく、ルートでのみ提供されます。

制御ファイルの情報を表示するには、次の手順を実行します。

  1. EM Expressの「記憶域」メニューから「制御ファイル」を選択します。

    制御ファイル・ページが表示されます。

    このページには、データベースに多重制御ファイルが含まれているかどうかが表示されます。「制御ファイルのリスト」セクションおよび「制御ファイル」セクションでは制御ファイルの詳細な情報を知ることができます。

  2. トレース・ファイルに現行の制御ファイルをバックアップするには、「トレースにバックアップ」をクリックします。

    トレース・ファイルへの制御ファイルのバックアップの詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

関連項目:

制御ファイルについて

6.2.2 オンラインREDOログ・ファイルの情報の表示

Oracle Enterprise Manager Database Express (EM Express)を使用して、オンラインREDOログ・ファイルのステータスおよび多重化情報を表示します。

注意:

マルチテナント・コンテナ・データベース(CDB)では、EM ExpressのオンラインREDOログ・ファイル情報は、プラガブル・データベース(PDB)ではなく、ルートでのみ提供されます。

オンラインREDOログ・ファイル情報を表示するには、次の手順を実行します。

  1. EM Expressの「記憶域」メニューから「REDOログ・グループ」を選択します。

    「REDOログ・グループ」ページが表示されます。このページには、データベースのオンラインREDOログ・グループの属性が表示されます。

    オンラインREDOログ・グループに含まれるメンバーが1つのみの場合、多重化は行われません。オンラインREDOログ・グループの「ステータス」属性を確認します。オンラインREDOログ・グループのステータスが「現行」の場合は、ログ・ライターによってディスクへの書込みが進行していることを表しています。

  2. (オプション)REDOログ・グループ番号を展開して、オンラインREDOログ・グループ・メンバーの情報を表示します。

6.2.3 アーカイブREDOログ・ファイルの情報の表示

Oracle Enterprise Manager Database Express (EM Express)を使用して、アーカイブREDOログ・ファイルのステータス情報を表示します。

注意:

マルチテナント・コンテナ・データベース(CDB)では、EM ExpressのアーカイブREDOログ・ファイル情報は、プラガブル・データベース(PDB)ではなく、ルートでのみ提供されます。

注意:

ARCHIVELOGモードでデータベースを設定しないと、アーカイブREDOログ・ファイルは存在しません。

アーカイブREDOログ・ファイル情報を表示するには、次の手順を実行します。

  1. EM Expressの「記憶域」メニューから「アーカイブ・ログ」を選択します。

    アーカイブ・ログ・ページが表示されます。

  2. アーカイブ・ログ・ページで、アーカイブしたREDOログについての情報を表示します。

6.2.4 表領域およびデータファイル情報の表示

Oracle Enterprise Manager Database Express (EM Express)を使用して、表領域およびデータファイルの構成、サイズおよびステータス情報を表示できます。

注意:

マルチテナント・コンテナ・データベース(CDB)では、EM Expressの表領域およびデータファイル情報は、ルートではなく、プラガブル・データベース(PDB)でのみ提供されます。

表領域の情報を表示するには、次の手順を実行します。

  1. EM Expressの「記憶域」メニューから、「表領域」を選択します。

    「表領域」ページが表示されます。

  2. 特定の表領域のデータファイルに関する情報を表示するには、その表領域を展開します。データファイルに関する情報が表領域の下に表示されます。

関連項目:

6.3 一般的なデータベース記憶域タスクの実行

データベースの表領域の要件は、データベースにデータが追加されるにつれて変化します。データベース管理者(DBA)として、表領域とデータベースの記憶域を効率的に管理するために、Oracle Enterprise Manager Database Express (EM Express)を使用して次のタスクを実行できます。

6.3.1 表領域の作成

表領域を追加作成してユーザー・データを格納できます。このため、すべてのデータがUSERS表領域内に格納されているとはかぎりません。次のような場合に表領域を追加作成します。
  • 特定のユーザー、ユーザー・グループまたはアプリケーションに関して、すべてのアプリケーション・データを、バックアップおよびリカバリまたはメンテナンス目的で、別々の表領域または表領域のセットに保持することが有効な場合があります。たとえば、ハードウェアまたはソフトウェアの障害のためにバックアップからすべてのアプリケーション・データをリカバリする場合、オフライン・リストアを実行できます。アプリケーション・データを個別の表領域に保持すると、他のデータベース・アプリケーションの操作に影響を与えることなく、該当する表領域のみをオフラインにしてリカバリできます。

  • これらの大きいパーティション化された表を持つ一部のアプリケーションは、複数の表領域でデータ分散を行うことで利点があります。頻繁にアクセスされるデータはパフォーマンスの高いディスクに配置され、めったに検索されないデータはより費用のかからない記憶域に配置されます。このデータを分散する方法は使用可能な記憶域の最適な使用方法です。

表領域を作成するには、次のようにします。

  1. Oracle Enterprise Manager Database Express (EM Express)の「記憶域」メニューから、「表領域」を選択します。

    「表領域」ページが表示されます。

  2. 新しい表領域を作成するには、「作成」ボタンをクリックします。

    「表領域の作成」ウィザードが表示され、一般ページが表示されます。

  3. 「名前」フィールドに表領域の名前を入力します。
  4. 「BIGFILE」セクションで「SMALLFILE」を選択します。

    注意:

    「bigfile表領域の使用」を選択した場合、表領域に含めることができるデータファイルは1つのみです。bigfile表領域は、Oracle Automatic Storage Managementまたはストライプ化、RAIDおよび動的に拡張可能な論理ボリュームをサポートしている他の論理ボリューム・マネージャを使用する大規模データベースで使用されます。

    EM ExpressはOracle Automatic Storage Managementデータベース・インスタンスをサポートしていません。

  5. 「ステータス」セクションで「オンライン」を選択します。
  6. ウィザードの次のページに移動するには、右矢印ボタンをクリックします。

    データファイルの追加ページが表示されます。

  7. 「データファイル」フィールドにデータファイルの名前を入力します。データファイル名のサフィックスに数字が含まれる場合(df_1など)、「+」ボタンをクリックするか、[Enter]キーを押して、データファイルの追加ページで選択するオプションを使用して複数のデータファイルを作成できます。
  8. 「ファイル・サイズ」フィールドに、データファイルの位置と初期サイズの適切な値を入力します。
  9. 「自動拡張」を選択します。
  10. 「増分」フィールドで、拡張するたびにファイルに追加する追加領域を選択します。
  11. 「最大ファイル・サイズ」フィールドに、このデータファイルの最大サイズを入力します。
  12. 新しい表領域にデータファイルを追加した後、右矢印ボタンをクリックして、ウィザードの次のページに移動します。

    領域ページが表示されます。

    注意:

    ウィザードのデータファイルの追加ページおよび後続のページで、右矢印ボタンをクリックして次のページに移動したり、「OK」をクリックしてウィザードを続行せずに表領域を作成できます。残りのウィザード・ページでは、表領域を作成するのにデフォルト値が使用されます。

  13. 「ブロック・サイズ」で、表領域に使用するブロック・サイズを選択します。
  14. 「エクステント割当て」「自動」を選択します。
  15. 右矢印ボタンをクリックして、ウィザードの次のページに移動します。

    ロギング・ページが表示されます。

  16. 「ロギング」セクションで「ロギング」を選択します。
  17. 右矢印ボタンをクリックして、ウィザードの最終ページに移動します。

    セグメント・ページが表示されます。

  18. 「セグメント領域の管理」セクションで「自動」を選択します。
  19. 「圧縮」セクションで「なし」を選択します。
  20. 「OK」をクリックし、表領域を追加します。

関連項目:

表領域について

6.3.2 表領域の変更

Oracle Enterprise Manager Database Express (EM Express)を使用して、表領域を変更できます。たとえば、データファイル・サイズの拡大または別のデータファイルの追加によって表領域を拡張したり、自動拡張を設定したり、領域使用率のアラートしきい値を変更したり、ステータスをオフラインにすることができます。

この項では、次の項目について説明します。

関連項目:

表領域について

6.3.2.1 表領域を自動拡張に設定

Oracle Enterprise Manager Database Express (EM Express)を使用して、表領域がサイズ制限に達したときに自動的に拡張するよう設定できます。次の手順では、表領域が以前は自動拡張する表領域ではなかった場合を想定します。

注意:

bigfile表領域のみ自動的に拡張できます。ただし、小さいファイルの表領域の個々のデータファイルは自動的に拡張可能です。小さいファイルの表領域の個々のデータファイルを自動拡張に設定する手順については、小さいファイルの表領域のデータファイルを自動拡張に設定を参照してください。

自動拡張する表領域を設定するには、次の手順を実行します。

  1. EM Expressの「記憶域」メニューから「表領域」を選択します。

    「表領域」ページが表示されます。

  2. 自動拡張を有効にするbigfile表領域を選択し、「自動拡張の編集」をクリックします。

    BIGFILE表領域の自動拡張設定ページが表示されます。

  3. ステップは次のとおりです。

    1. 「自動拡張」を選択します。

    2. 10MBなど適切な増分を設定します。

      これは多くの記憶域が必要な際に、データファイルに追加するディスク領域の量です。

    3. 「最大ファイル・サイズ」に、使用可能な記憶域に応じて値(KB、MB、GBまたはTB)を入力します。

  4. 「OK」をクリックします。

    確認メッセージが表示されます。

6.3.2.2 小さいファイルの表領域のデータファイルを自動拡張に設定

Oracle Enterprise Manager Database Express (EM Express)を使用して、小さいファイルの表領域のデータファイルがサイズ制限に達したときに自動的に拡張するよう設定できます。次の手順では、データファイルが以前は自動拡張するデータファイルではなかった場合を想定します。

自動拡張するデータファイルを設定するには、次の手順を実行します。

  1. EM Expressの「記憶域」メニューから「表領域」を選択します。

    「表領域」ページが表示されます。

  2. 小さいファイルの表領域の場合、自動拡張を有効にするデータファイルを選択し、「アクション」メニューから「自動拡張の編集」を選択します。

    データファイルの自動拡張設定ページが表示されます。

  3. ステップは次のとおりです。

    1. 「自動拡張」を選択します。

    2. 10MBなど適切な増分を設定します。

      これは多くの記憶域が必要な際に、データファイルに追加するディスク領域の量です。

    3. 「最大ファイル・サイズ」に、使用可能な記憶域に応じて値(KB、MB、GBまたはTB)を入力します。

  4. 「OK」をクリックします。

    確認メッセージが表示されます。

  5. 小さいファイルの表領域のすべてのデータファイルに対してこれらのステップを実行すると、すべてのデータファイルを自動拡張に設定できます。

6.3.2.3 表領域をオフライン化

Oracle Enterprise Manager Database Express (EM Express)を使用して、表領域をオフラインにすることができます。次のような場合、表領域をオフライン化する場合があります。

  • データベースの一部をアクセス不可にし、残りの部分は通常どおりアクセスできるようにする場合

  • アプリケーションの更新またはメンテナンスを行う間、アプリケーションとその表グループを一時的にアクセス不可にする場合

  • 表領域のバックアップをオフラインで実行する場合(ただし、表領域はオンラインでも、使用中でもバックアップ可能です)

  • ハードウェアまたはソフトウェア障害の後に表領域をリカバリする場合

  • 表領域のデータファイルの名前の変更または再配置をする場合

表領域をオフライン化するには、次のようにします。

  1. EM Expressの「記憶域」メニューから、「表領域」を選択します。

    「表領域」ページが表示されます。

  2. オフラインにする表領域を選択します。「アクション」メニューから「ステータスの設定」を選択してから、「オフラインに設定」を選択します。

    表領域をオフライン化ページが表示されます。

  3. 「オフライン・オプション」「標準」を選択します。
  4. 「OK」をクリックします。

    確認メッセージが表示されます。

注意:

表領域をオンラインに戻すには、表領域ページで表領域を選択します。次に、「アクション」メニューから「ステータスの設定」を選択してから、「オンラインに設定」を選択します。

関連項目:

表領域のオフライン化、およびデータファイルの名前の変更または再配置の詳細は、『Oracle Database管理者ガイド』を参照してください。

6.3.3 表領域の削除

Oracle Enterprise Manager Database Express (EM Express)を使用して、表領域を削除できます。表領域が削除された後、表領域内のオブジェクトおよびデータは使用できません。これらをリカバリすることは時間のかかるプロセスです。表領域を削除する前後にバックアップを実行することをお薦めします。

表領域を削除するには、次のようにします。

  1. EM Expressの「記憶域」メニューから、「表領域」を選択します。

    「表領域」ページが表示されます。

  2. 削除する表領域を選択し、「削除」をクリックします。

    表領域の削除ページが表示されます。

    EM Expressによって、表領域を削除するかどうかと、オプションとして、関連付けられたデータファイルもディスクから削除するかどうかを確認するように求められます。

  3. 次のオプションから選択し、「OK」をクリックします。
    • コンテンツの削除

    • データファイルの削除

    • 制約の削除

  4. 確認メッセージが表示され、削除された表領域は表領域ページに表示されなくなります。

関連項目:

表領域について

6.4 オンラインREDOログの管理

オンラインREDOログ・ファイルは、データベース・リカバリの重要な要素です。データベース内のすべてのトランザクションで、アーカイブが有効かどうかに関係なく、REDOログが更新されます。クラッシュ、インスタンスまたはメディア・リカバリ時に、データベースでは、必要なアーカイブおよびREDOログ・ファイルのログ順序番号を使用して、REDOログ・ファイルが昇順で正しく適用されます。

オンラインREDOログは、適切に構成すればメンテナンスはほとんど必要ありません。この項では、より一般的なREDOログ管理作業について説明します。次の項目が含まれます。

注意:

マルチテナント・コンテナ・データベース(CDB)では、Oracle Enterprise Manager Database Express (EM Express)のオンラインREDOログ・ファイル情報は、プラガブル・データベース(PDB)ではなく、ルートでのみ提供されます。

6.4.1 オンラインREDOログの多重化

オンラインREDOログは、多重化することをお薦めします。多重化を行うと、インスタンス障害やメディア障害の場合にデータをより効果的に保護できます。オンラインREDOログはOracle Enterprise Manager Database Express (EM Express)を使用して多重化できます。

オンラインREDOログを多重化するには、各オンラインREDOログ・グループにメンバーを追加する必要があります。オンラインREDOログ・グループが対称である必要はありませんが、すべてのグループのメンバーを同じ数にすることをお薦めします。単一のデータベースは2つ以上のオンラインREDOログ・グループを持つ必要があります。

注意:

オンラインREDOログを多重化する場合、データベースの実行I/Oの量を増やす必要があります。構成によっては、データベースのパフォーマンス全体に影響が及ぶ可能性があります。

オンラインREDOログを多重化するには、次の手順を実行します。

  1. EM Expressの「記憶域」メニューから「REDOログ・グループ」を選択します。

    「REDOログ・グループ」ページが表示されます。

  2. グループを選択して、「メンバーの追加」をクリックします。

    メンバーの追加ページが表示されます。

  3. 「ファイル・ディレクトリ」フィールドに、ディスク上のデータファイルの格納場所となるディレクトリを入力します。

    このファイルはREDOログ・ファイル・グループの他のメンバーと同じディレクトリに作成できますが、各メンバーは個別のディスク・ドライブに格納することをお薦めします。こうすることで、ドライブ障害が発生した場合もメンバーにアクセスできます。

  4. 「ファイル名」フィールドで、新しいREDOログ・メンバーのファイル名を入力します。

    たとえば、既存のメンバー・ファイル名がREDO01.logの場合、このメンバーをREDO01a.logと指定します。

  5. 「OK」をクリックします。

    確認メッセージが表示されます。

  6. 既存のすべてのログ・グループに対して、ステップ2からステップ5を繰り返します。

6.4.2 ログ・ファイルの切替え

ログ・スイッチが発生すると、ログ・ライター(LGWR)・プロセスは、現在のオンラインREDOログ・グループへの書込みを停止し、使用可能な次のREDOログ・グループへの書込みを開始します。ログ・スイッチの発生後は、現在のオンラインREDOログ・グループが非アクティブになり、使用可能な次のオンラインREDOログ・グループが現行のオンラインREDOログ・グループになります。ログ・ファイルはOracle Enterprise Manager Database Express (EM Express)を使用して切り替えることができます。

現在のREDOグループを非アクティブにして、REDOログのメンテナンス操作に使用できるようにするため、ログ・スイッチを強制的に実行することができます。強制的なログ・スイッチの実行は、一杯になるまでに時間がかかる大きいサイズのREDOログ・ファイルがある構成に有効です。たとえば、次の処理を実行できます。

  • 現在のREDOグループを削除するが、グループが非アクティブになるまで削除できない場合。

  • 現在のオンラインREDOログ・グループ・メンバーを、まだ完全に一杯になっていなくてもすぐにアーカイブする場合。

ログ・ファイルを切り替えるには、次の手順を実行します。

  1. EM Expressの「記憶域」メニューから「REDOログ・グループ」を選択します。

    「REDOログ・グループ」ページが表示されます。

  2. 「アクション」リストから、「ログ・ファイルの切替え」を選択して「OK」をクリックします。

    確認メッセージが表示されます。

  3. 確認メッセージが表示されます。「はい」をクリックします。

    グループのステータスはCurrentからActiveに変更され、リストにある次のグループのステータスがActiveからCurrentに変更されます。

6.5 UNDOデータの管理

Oracle Database 11gからは、デフォルトのインストールの場合、Oracle DatabaseによってUNDOデータが自動的に管理されるようになりました。通常、データベース管理者(DBA)の介入は不要です。ただし、Oracle Flashback操作を使用している場合は、フラッシュバック操作を確実に完了するために、いくつかのUNDO管理タスクを実行する必要があります。

この項では、UNDOデータの管理に関するバックグラウンド情報を提供し、UNDOデータの管理方法について説明します。次の項目が含まれます。

6.5.1 UNDOデータについて

トランザクションによりデータが変更される場合、変更前に元のデータがコピーされます。変更済データのオリジナル・コピーはUNDOデータと呼ばれます。次の理由から、この情報は保存しておく必要があります。
  • ロールバックが必要なときにデータベースに作成された未コミットの変更を元に戻す場合。ロールバックは、誤ったトランザクションまたは意図的でないトランザクションの変更を元に戻す場合に必要になります。また、リカバリ操作の一部としても使用されます。

  • データに対してその他の変更が発生しても、各ユーザーがデータの一貫したビューを取得できることを意味する読取り一貫性を提供する場合。読取り一貫性では、ユーザー・セッションには他のユーザー・セッションに対する未コミットの変更が表示されません(内容を保証しない読取りとも呼ばれる)。たとえば、ユーザーが午前10時に問合せを発行し問合せが15分間続いた場合、問合せ開始後の他のユーザーによる更新または挿入操作に関係なく、問合せ結果には午前10時のデータの状態全体が反映されます。

  • 特定のOracle Flashback機能(Oracle Flashback QueryやOracle Flashback Tableなど)を有効にして、過去のある時点におけるデータの表示やリカバリを可能にする場合。

UNDO表領域

自動UNDO管理により、UNDOデータはUNDO表領域に格納されます。UNDO表領域には、永続表領域のプロパティの他に追加のプロパティがあります。複数のUNDO表領域が存在しても構いませんが、Oracleインスタンスに対してアクティブにできるのは1つのみです。

Database Configuration Assistant(DBCA)でデータベースを作成すると、UNDOTBS1という名前の自動拡張UNDO表領域が作成されます。この最大拡張サイズは32,767MBです。

UNDO保存

Oracle Databaseでは、アクティブ・トランザクションで使用されているUNDOデータが、そのトランザクションがコミットされるまで上書きされないことが自動的に保証されます。トランザクションのコミット後、そのUNDOデータが占有している領域は再利用または上書き可能になります。この場合、UNDO表領域の領域が不足すると、そのUNDOデータは上書きされる可能性があります。

トランザクションのコミット後も、Oracle Flashback機能の正常な実行を保証し、長時間実行問合せの読取り一貫性を維持するうえで、UNDOデータを保持する(上書きしない)ことは有効です。そのために、データベースではUNDO保存期間がメンテナンスされ、自動的にチューニングされます。コミット済のUNDOデータのうち、その経過時間がUNDO保存期間に達していないものは、問合せやOracle Flashback操作で使用できるように保持されます。

6.5.2 UNDOデータの管理について

Oracle Databaseでは、デフォルトでUNDOデータおよびUNDO表領域が自動的に管理されますが、Oracle Flashback機能を使用している場合は、フラッシュバック操作の成功を保証するために、いくつかのUNDO管理タスクを実行する必要があります。

Oracle Flashback操作中にsnapshot too oldというエラーが発生した場合は、フラッシュバック操作のサポートに十分なUNDOデータが保持されているかどうか確認する必要があることを意味しています。

次のメソッドにより、Oracle Flashback操作のサポートを強化します。

  • 自動拡張表領域の最小UNDO保存期間を、Oracle Flashback操作の予想最長期間と同じ長さに設定します。

    このためには、UNDO_RETENTION初期化パラメータを設定します。詳細は、Oracle Database管理者ガイドを参照してください。

  • UNDO表領域を固定サイズに変更します。

    自動拡張UNDO表領域に対しては、アクティブな最長実行問合せよりわずかに長くなるように、UNDO保存期間が常に自動的にチューニングされます。ただし、この自動チューニングされた保存期間は、Oracle Flashback操作には不十分な場合があります。UNDO表領域の自動拡張が無効になっているか、またはUNDO領域が固定サイズの場合は、Oracle Flashback操作を効果的にサポートできるよう、UNDO保存期間のチューニングに異なるメソッドが使用されます。

    UNDO表領域を固定サイズに変更するには、十分に大きい表領域サイズを選択する必要があります。選択したUNDO表領域サイズが小さすぎると、次のエラーが発生する場合があります。

    • 領域が不足して新たなトランザクションのUNDOデータを収容できないために、DMLが失敗します。

    • 「スナップショットが古すぎます」というエラーが発生し、長時間実行問合せが失敗します。これは、UNDOデータが不足しているために読取り一貫性を維持できないことを意味します

    Oracle Enterprise Manager Database Express (EM Express)には、固定サイズのUNDO表領域の最小サイズを算出できるUNDOアドバイザが用意されています。UNDOアドバイザを使用したUNDO表領域の最小サイズの計算を参照してください。

6.5.3 UNDO情報の表示

Oracle Enterprise Manager Database Express (EM Express)の「UNDO管理詳細」ページを使用して、UNDO構成に関する情報を表示できます。たとえば、次のUNDO構成情報を表示できます。
  • UNDO表領域の名前および現行サイズ

  • 表領域の自動拡張可設定(「はい」または「いいえ」)

  • 既存のUNDO保存期間

注意:

マルチテナント・コンテナ・データベース(CDB)では、EM ExpressのUNDO管理機能は、プラガブル・データベース(PDB)ではなく、ルートでのみ使用できます。

UNDO情報を表示するには、次の手順を実行します。

  1. EM Expressの「記憶域」メニューから「UNDO管理」を選択します。

    UNDO管理詳細ページが表示されます。

  2. UNDO管理詳細ページにUNDO管理情報が表示されます。

6.5.4 UNDOアドバイザを使用したUNDO表領域の最小サイズの計算

UNDO表領域を固定サイズに変更する必要がある場合、Oracle Enterprise Manager Database Express (EM Express)のUNDOアドバイザを使用すると、最小限必要なサイズを確認しやすくなります。UNDOアドバイザを使用して、最小UNDO保存期間を設定することもできます。

UNDO表領域を固定サイズに構成する場合は、まずデータベース作成後に十分な時間をかけて完全なワークロードを実行することをお薦めします。これにより、UNDO表領域がワークロードを処理するための必要最小限のサイズになります。その後、UNDOアドバイザを使用して、将来の長時間実行問合せやOracleフラッシュバック操作に対応できるUNDO表領域を構成する最適なサイズを決定してください。

UNDOアドバイザを使用してUNDO表領域の最小サイズを計算するには、次のようにします。

  1. EM Expressで、「UNDO管理詳細」ページに移動します。

    UNDO情報の表示を参照してください。

  2. 「構成」セクションに「UNDOアドバイザ」グラフが表示されます。

    「UNDOアドバイザ」には橙色の線が表示されます。橙色の線上でクリック可能な目盛または点が複数あります。橙色の線上の青色の点は、データベースに現在設定されているターゲットのUNDO保存時間をマークします。

  3. 特定のUNDO保存時間に対して推奨されるUNDO表領域の最小サイズを算出するには、必要なUNDO保存時間に最も近い橙色の線上の点を選択します。

    次の図ではたとえば、UNDO保存時間3884秒に対応する橙色の線上の点がクリックされています。

    「UNDOアドバイザ」では、このUNDO保存時間3884秒に対するUNDO表領域サイズとして少なくとも20MB必要であるという推奨値が示されています。

    注意:

    UNDOアドバイザを使用して、特定のUNDO保存時間に対して必要な表領域の最小サイズの推奨値を取得しても、UNDO表領域のサイズは変わりません。UNDO表領域のサイズを変更するには、UNDO表領域の固定サイズへの変更の手順を実行してください。

6.5.5 UNDO表領域の固定サイズへの変更

UNDO表領域が大きくなりすぎるのを防ぐため、またはOracleフラッシュバック操作のサポートを強化するために、UNDO表領域を固定サイズに変更します。Oracle Enterprise Manager Database Express (EM Express)を使用して、UNDO表領域を固定サイズに変更できます。

注意:

bigfile表領域のみ固定サイズに変更できます。ただし、小さいファイルの表領域の個々のデータファイルは固定サイズに変更可能です。小さいファイルの表領域の個々のデータファイルを固定サイズに変更する手順については、UNDO表領域のデータファイルの固定サイズへの変更を参照してください。

UNDO表領域を固定サイズに変更するには、次の手順を実行します。

  1. EM Expressで、UNDO情報の表示で説明されているように、「UNDO管理詳細」ページに移動します。
  2. 必要なUNDO表領域の最小サイズを算出した後、「表領域」セクションの「名前」フィールドの後のリンクをクリックします。

    「UNDO表領域」を含む表領域ページが表示されます。

  3. 「UNDO表領域」を選択します。次に、「アクション」メニューから「サイズ変更」を選択します。

    表領域のサイズ変更ページが表示されます。

  4. 「ファイル・サイズ」フィールドに、UNDO表領域の計算済最小サイズを入力します。
  5. 「OK」をクリックします。

    確認メッセージが表示されます。

6.5.6 UNDO表領域のデータファイルの固定サイズへの変更

UNDO表領域が大きくなりすぎるのを防ぐため、またはOracle Flashback操作のサポートを強化するために、UNDO表領域のデータファイルを固定サイズに変更します。Oracle Enterprise Manager Database Express (EM Express)を使用して、UNDO表領域のデータファイルを固定サイズに変更できます。

UNDO表領域のデータファイルを固定サイズに変更するには、次の手順を実行します。

  1. EM Expressで、UNDO情報の表示で説明されているように、「UNDO管理詳細」ページに移動します。
  2. 必要なUNDO表領域の最小サイズを算出した後、「表領域」セクションの「名前」フィールドの後のリンクをクリックします。

    「UNDO表領域」を含む表領域ページが表示されます。

  3. 「UNDO表領域」を選択して拡張します。「UNDO表領域」のデータファイルの1つを選択します。次に、「アクション」メニューから「サイズ変更」を選択します。

    データファイルのサイズ変更ページが表示されます。

  4. 「サイズ」フィールドに、UNDO表領域の計算済最小サイズを入力します。
  5. 「OK」をクリックします。

    確認メッセージが表示されます。

  6. UNDO表領域のすべてのデータファイルに対してこれらのステップを実行すると、すべてのデータファイルを固定サイズに変更できます。

6.5.7 UNDO管理の分析パラメータの変更

Oracle Enterprise Manager Database Express (EM Express)を使用して、現在の分析期間および目的のUNDO保存期間を変更できます。

分析期間およびUNDO保存期間を変更するには、次の手順を実行します。

  1. EM Expressで、UNDO情報の表示で説明されているように、「UNDO管理詳細」ページに移動します。
  2. 「変更分析パラメータ」をクリックします。

    変更分析パラメータ・ページが表示されます。

  3. 分析期間を変更するには、「分析期間」フィールドで、目的の分析期間を選択します。
  4. UNDO保存期間を変更するには、次のいずれかを選択します。
    • 必要なUNDO保存時間の使用

    • UNDO保存時間を秒単位で指定してください

      保存期間に使用する秒数をテキスト・ボックスに入力します。

6.5.8 UNDO表領域の切替え

Oracle Enterprise Manager Database Express (EM Express)を使用して、UNDO表領域を切り替えることができます。

UNDO表領域を切り替えるには、次の手順を実行します。

  1. EM Expressで、UNDO情報の表示で説明されているように、「UNDO管理詳細」ページに移動します。
  2. 「UNDO表領域の切替え」をクリックします。

    UNDO表領域の切替えページが表示されます。

  3. 「UNDO表領域への切替え」フィールドで、切替え先のUNDO表領域の名前を選択します。このフィールドには、データベースに使用可能なUNDO表領域の名前が含まれています。

    たとえば、現在のUNDO表領域の名前がUD1で、UD2という名前のUNDO表領域に切り替える場合、「UNDO表領域の切替え」フィールドでUD2を選択します。

  4. 「OK」をクリックします。

    確認メッセージが表示されます。

関連項目:

6.6 データベース記憶域構造の管理: Oracle by Example Series

Oracle by Example(OBE)には、『Oracle Database 2日でデータベース管理者』に関するシリーズが含まれています。このOBEシリーズでは、この章のタスクを段階的に説明し、注釈付きのスクリーンショットを使用します。

シリーズは次のチュートリアルで構成されます。
  1. データベース記憶域構造の情報の表示

  2. オンラインREDOログの管理

  3. UNDOデータの管理

  4. EM Expressを使用した表領域の管理

前述のチュートリアルには2つの方法でアクセスできます。