この章では、Oracle Real Application Clusters(Oracle RAC)環境における、Oracle Automatic Storage Management(Oracle ASM)などの記憶域の項目について説明します。
内容は次のとおりです。
Oracle RACによるOracle Automatic Storage Management
関連項目:
|
すべてのデータ・ファイル(各インスタンスのUNDO表領域を含む)およびREDOログ・ファイル(インスタンスごとに2つ以上)がOracle ASMディスク・グループ、クラスタ・ファイル・システム、または共有RAWデバイスに存在している必要があります。さらに、インスタンス固有のエントリを使用した単一の共有サーバー・パラメータ・ファイル(SPFILE)を使用することをお薦めします。また、ローカル・ファイル・システムを使用してインスタンス固有のパラメータ・ファイル(PFILE)を格納することもできます。
注意:
|
特に明記されていないかぎり、Oracle RAC環境内での、Oracle ASM、Oracle Managed Files、自動セグメント領域管理などのOracle Database記憶域の機能は、非クラスタのOracle Database環境と同じです。
関連項目: これらの記憶域機能の詳細は、次のマニュアルを参照してください。
|
Oracle ASMを使用しない場合、プラットフォームでクラスタ・ファイル・システムがサポートされていない場合またはデータベース・ファイルの記憶域としてクラスタ・ファイル・システムを使用しない場合は、ご使用のプラットフォーム固有のOracle RACのインストレーションおよび構成ガイドに従って、追加のRAWデバイスを作成します。ただし、「Oracle RACによるOracle Automatic Storage Management」の説明に従い、Oracle ASMをデータベースのファイル記憶域として使用することをお薦めします。
注意:
|
Optimal Flexible Architecture(OFA)は、インストールの信頼性を保証し、ソフトウェアの管理性を向上させます。この機能は、Oracleソフトウェアのインストールの構成方法を効率化することによってインストールの継続的な管理を簡略化し、Oracle Databaseのデフォルト・インストールをOFAの仕様により厳密に準拠させることで、管理性を高めています。
インストール時に、Oracleベース(ORACLE_BASE
)の場所を指定するように求められますが、Oracleベースは、インストールを実行するユーザーが所有します。既存のORACLE_BASE
を選択するか、またはORACLE_BASE
ディレクトリの構造を持たない別のディレクトリを選択できます。
Oracleベース・ディレクトリを使用すると、Oracleインストールの組織化が容易になり、複数のデータベースのインストールでOFA構成が維持されるようになります。OracleホームはORACLE_BASE
で選択した値に基づいてデフォルト値を使用するため、インストール中に必要な入力はORACLE_BASE
のみです。また、データベースの起動時に、ORACLE_BASE
およびORACLE_HOME
環境変数を設定することをお薦めします。ORACLE_BASE
は、今後のリリースでデータベース起動時の必須環境変数になる可能性があります。
関連項目: ORACLE_BASEディレクトリの指定の詳細は、『Oracle Real Application Clustersインストレーション・ガイド』 を参照してください。 |
すべてのOracle RACインスタンスは、すべてのデータ・ファイルにアクセスできる必要があります。データベースのオープン中にデータ・ファイルのリカバリが必要になった場合は、最初に起動するOracle RACインスタンスがリカバリを実行し、ファイルへのアクセスを検証します。他のインスタンスも、起動時に、データ・ファイルへのアクセスを検証します。同様に、表領域またはデータ・ファイルを追加したり、表領域またはデータ・ファイルをオンライン状態にする場合も、すべてのインスタンスがファイルへのアクセスを検証します。
他のインスタンスがアクセスできないデータ・ファイルをディスクに追加すると、検証に失敗します。インスタンスが同一データ・ファイルの異なるコピーへアクセスした場合も、検証に失敗します。いずれのインスタンスについても検証に失敗した場合は、問題を診断し解決してください。その後、各インスタンスに対してALTER SYSTEM CHECK DATAFILES
文を実行して、データ・ファイルへのアクセスを検証します。
ポリシー管理データベースでサーバー・プールのカーディナリティを増やし、新しいサーバーがサーバー・プールに割り当てられると、Oracle Managed Filesが有効化されていれば、新しいサーバーでインスタンスが起動されます。インスタンスが起動し、使用可能なスレッドやREDOログ・ファイルがない場合、データベースがOracle ASMまたはクラスタ・ファイル・システムを使用していれば、自動的にREDOスレッドが有効にされ、対応するREDOログ・ファイルが割り当てられます。
REDOログ・グループは、管理者管理データベースを使用する場合にのみ作成する必要があります。ポリシー管理データベースの場合はカーディナリティを増やし、Oracle Managed FilesおよびOracle ASMを使用している場合は、インスタンスの起動時に自動的にスレッド、REDOおよびUNDOが割り当てられます。
管理者管理データベースの場合、インスタンスごとに、独自のオンラインREDOログ・グループがあります。これらのREDOログ・グループを作成し、グループ・メンバーを設定します。REDOログ・グループを特定のインスタンスに追加するには、ALTER DATABASE ADD LOGFILE
文でINSTANCE
句を指定します。REDOログ・グループの追加時にインスタンスを指定しない場合は、現在接続しているインスタンスにREDOログ・グループが追加されます。
関連項目:
|
各インスタンスには、2つ以上のREDOログ・ファイルのグループが必要です。REDOログ・グループを割り当ててから、ALTER DATABASE ENABLE INSTANCE
instance_name
コマンドを使用して新規インスタンスを有効化する必要があります。現在のグループが一杯になると、インスタンスは次のログ・ファイル・グループへの書込みを開始します。データベースがARCHIVELOG
モードの場合は、各インスタンスは一杯になったオンライン・ログ・グループをアーカイブREDOログ・ファイルとして保存し、このファイルは制御ファイルに記録されます。
データベースのリカバリ時に、有効化されているすべてのインスタンスについて、リカバリが必要かどうかがチェックされます。Oracle RACデータベースからインスタンスを削除する場合は、データベースのリカバリ時にスレッドをチェックする必要がないように、インスタンスのREDOスレッドを無効化する必要があります。
インスタンスに割り当てられた特定のUNDO表領域内のUNDOセグメントは、Oracle Databaseによって自動的に管理されます。この表領域の内容を変更できるのは、UNDO表領域に割り当てられたインスタンスのみです。ただし、インスタンスは、読取り一貫性のためにいつでも、クラスタ環境内のすべてのUNDOブロックを読み取ることができます。また、UNDO表領域が別のインスタンスにUNDO生成またはトランザクション・リカバリのために使用されていなければ、どのインスタンスもトランザクション・リカバリ中にそのUNDO表領域を更新できます。
Oracle RAC管理者管理データベース内にUNDO表領域を割り当てるには、SPFILEまたは個別のPFILEで各インスタンスのUNDO_TABLESPACE
パラメータに別の値を指定します。ポリシー管理データベースの場合、Oracle Managed Filesが有効化されていれば、インスタンスの起動時にUNDO表領域が自動的に割り当てられます。Oracle RACデータベースでは、自動UNDO管理モードと手動UNDO管理モードを同時に使用することはできません。Oracle RACデータベースのすべてのインスタンスは、同じUNDOモードで操作してください。
関連項目:
|
Oracle ASMは、管理対象のディスク間で記憶域構成を管理することにより、自動的に最大のI/Oパフォーマンスを引き出します。Oracle ASMは、最適なパフォーマンスを得るために、クラスタ・データベース環境でOracle ASM内のディスク・グループに割り当てられた使用可能なすべての記憶域に、データベース・ファイルを分散します。Oracle ASMによって、必要なディスク領域全体が、ディスク・グループ内のすべてのディスクに均一なサイズに分割されます。また、Oracle ASMでは、データ損失を防止するために、自動的にデータのミラー化が行われます。Oracle ASMのこれらの機能により、管理業務を大幅に軽減することができます。
Oracle ASMインスタンスは、Oracle Clusterwareをインストールする各ノードに作成されます。各Oracle ASMインスタンスには、SPFILEまたはPFILEタイプのパラメータ・ファイルが存在します。パラメータ・ファイルおよびデフォルト以外のOracle NetリスナーのTNSエントリをバックアップすることをお薦めします。
Oracle RACでOracle ASMを使用するには、Database Configuration Assistant(DBCA)を使用してデータベースを作成する際に、Oracle ASMを記憶域オプションとして選択します。非クラスタのOracle Databaseの場合と同様、Oracle RACでOracle ASMを使用する場合もI/Oチューニングは不要です。
次の項では、Oracle ASMおよびOracle ASMの管理について説明します。
Oracle RACでのSRVCTLを使用したOracle ASMインスタンスの管理
関連項目: Oracle ASMの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
Oracle ASMディスク・グループの作成およびOracle ASMディスク・グループのミラー化の構成は、Oracle ASMコンフィギュレーション・アシスタント(ASMCA)で実行できます。Oracle RACデータベースの稼働後は、Oracle Enterprise ManagerでOracle ASMディスク・グループを管理できます。
Oracle ASMの管理に使用するASMCA、Oracle Enterprise ManagerなどのOracleツールと、サイレント・モードのインストールおよびアップグレード・コマンドでは、Oracle ASMインスタンスおよびディスク・グループを管理するオプションを使用できます。
クラスタ全体のOracle ASMの整合性は、クラスタ検証ユーティリティ(CVU)で検証できます。通常、このチェックによりすべてのノードのOracle ASMインスタンスが同じOracleホームから実行されていることが保証され、asmlib
が存在する場合は、このライブラリのバージョンが有効であることと所有権が有効であることが保証されます。次のコマンドを実行して、このチェックを実行します。
cluvfy comp asm [-n node_list] [-verbose]
node_list
の部分は、チェックを実行するノード名をカンマで区切ったリストに置き換えてください。all
を指定すると、クラスタ内のすべてのノードがチェックされます。
cluvfy comp ssa
コマンドを使用して、共有記憶域を検出します。
関連項目: CVUの詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。 |
クラスタにディスク・グループを作成する場合、またはクラスタ化されている既存のディスク・グループに新しいディスクを追加する場合は、共有ディスク上に基盤となる物理記憶域を準備して、そのディスクにOracleユーザーの読取りおよび書込み権限を付与します。Oracle ASMをOracle RACデータベースで使用する場合と非クラスタのOracle Databaseで使用する場合の実質的な相違点は、共有ディスクが必要かどうかのみです。ディスクまたはディスク・グループの追加後または削除時に、Oracle ASMは、記憶域のロードを自動的に再調整します。
クラスタでは、各Oracle ASMインスタンスが、各ノードのディスク・グループの更新メタデータを管理します。また、各Oracle ASMインスタンスが、ディスク・グループのメタデータとクラスタの他のノード間の調整を行います。非クラスタのOracle Databaseの場合と同様、Oracle RACで使用されるOracle ASM用ディスク・グループの管理に、Oracle Enterprise Manager、ASMCA、SQL*Plusおよびサーバー制御ユーティリティ(SRVCTL)を使用できます。SQL*Plusを使用してOracle ASMインスタンスを管理する方法の詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。その他のツールの使用方法については、次の各項で説明します。
注意: ASMCAを起動したときにOracle ASMインスタンスが存在しない場合は、Oracle ASMインスタンスの作成を求めるプロンプトが表示されます。 |
Oracle ASMを使用するには、DBCAでデータベースを作成する前に、ASMCAでディスク・グループを作成しておく必要があります。Oracle ASMディスク・グループの管理機能を使用して、データベースの作成とは別に、Oracle ASMインスタンスおよび対応するディスク・グループを作成および管理することもできます。Oracle Enterprise ManagerまたはDBCAを使用すると、ディスクをディスク・グループに追加したり、1つまたはすべてのディスク・グループをマウントしたり、Oracle ASMインスタンスを作成することができます。また、Oracle Enterprise Managerを使用して、ディスク・グループをディスマウントまたは削除したり、Oracle ASMインスタンスを削除することもできます。
Oracle ASMインスタンスは、Oracle Clusterwareをインストールするときに作成されます。Oracle ASMディスク・グループを作成するには、Grid_home
/bin
ディレクトリからASMCAを実行します。Oracle ASMの管理には、ASMCAの「Oracle ASMディスク・グループ」ページも使用できます。つまり、データベースの作成とは別にOracle ASM記憶域を構成できます。たとえば、「ASMディスク・グループ」ページから、ディスク・グループの作成、既存のディスク・グループへのディスクの追加、または現在マウントされていないディスク・グループのマウントを実行できます。
関連項目: Oracle ASMの詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。 |
ASMCAを起動したときにASMインスタンスが存在しない場合は、インスタンスの作成を求めるプロンプトが表示されます。sysasm
のパスワードとASMSNMP
のパスワードを求めるプロンプトが表示されます。
Oracle ASM障害グループを構成している場合、ノードは、そのノードに最も近いエクステントから(そのエクステントがセカンダリ・エクステントであっても)より効率よく読み取れることがあります。ノードから遠い場所にあるプライマリ・コピーではなく、ノードにより近い場所にあるセカンダリ・エクステントから読み取るようにOracle ASMを設定できます。拡張遠距離クラスタでは、優先読取り障害グループを使用するのが最も有効です。
この機能を構成するには、ASM_PREFERRED_READ_FAILURE_GROUPS
初期化パラメータで、障害グループ名のリストを優先読取りディスクとして指定します。エクステントの1つ以上のミラー・コピーを、拡張クラスタ内のノードに対してローカルなディスクから構成することをお薦めします。ただし、1つのインスタンスに優先される障害グループが、同じOracle RACデータベース内の別のインスタンスに対してはリモートである可能性があります。優先読取り障害グループのパラメータ設定は、インスタンス固有です。
関連項目:
|
Oracle Grid Infrastructureをインストールすると、クラスタ化されていないOracle ASMインスタンスは、クラスタ化されたOracle ASMに自動的に変換されます。
関連項目:
|
サーバー制御ユーティリティ(SRVCTL)を使用すると、Oracle ASMインスタンスを追加または削除できます。SRVCTLコマンドを発行してOracle ASMを管理するには、Oracle Grid Infrastructureホームを所有するオペレーティング・システム・ユーザーとしてログインして、Oracle Grid InfrastructureホームのbinディレクトリからSRVCTLコマンドを発行します。
Oracle ASMインスタンスを追加するには、次の構文を使用します。
srvctl add asm
Oracle ASMインスタンスを削除するには、次の構文を使用します。
srvctl remove asm [-f]
Oracle ASMインスタンスの起動、停止およびステータスの取得にも、SRVCTLを使用できます。次に例を示します。
Oracle ASMインスタンスを起動にするには、次の構文を使用します。
srvctl start asm [-n node_name] [-o start_options]
Oracle ASMインスタンスを停止するには、次の構文を使用します。
srvctl stop asm [-n node_name] [-o stop_options]
Oracle ASMインスタンスの構成を表示するには、次の構文を使用します。
srvctl config asm -n node_name
Oracle ASMインスタンスの状態を表示するには、次の構文を使用します。
srvctl status asm [-n node_name]
関連項目:
|