6 データベース・インスタンスおよびクラスタ・データベースの管理

WebベースのOracle Enterprise Manager Cloud Controlでは、Oracle Real Application Clusters (Oracle RAC)データベースを管理できます。Cloud Controlコンソールを使用して、複数のOracle RACデータベースおよびクラスタ・ノードを管理できます。

Oracle Enterprise Managerコンソールは、Oracle環境の制御における中心点です。このコンソールを使用すると、データベース・コンポーネントの起動および停止やOracle RACでのパラメータおよびパラメータ・ファイルの管理など、多くのタスクを実行できます。

関連項目:

データベース監視タスクの概要については、Oracle Database 2日でデータベース管理者を参照してください。

6.1 Oracle Real Application Clustersデータベース管理について

Oracle RACデータベースの管理は、単一インスタンスのOracle Databaseの場合と比較すると、違いがあります。

Oracle Real Application Clusters(Oracle RAC)は、2つ以上の個々のコンピュータをリンクして1つのシステムとして機能させるテクノロジです。Oracle RACにより、クラスタのメンバーであるコンピュータの各ノードはOracle Databaseへのアクセスを共有できるようになります。あるクラスタ・ノードがエラーまたはオフラインになっても、他のクラスタ・ノードは引き続き稼働し、Oracle RACデータベース全体が使用可能なままになります。2つ以上の安価なコンピュータが、アプリケーションでは、はるかに強力で高価な単一のコンピュータであるかのように認識されます。

Oracle RACデータベースのパフォーマンスを向上するには、クラスタ・ノードを追加できます。各ノードを追加すると、アプリケーションの処理が高速化され、より多くのユーザーまたはプロセス、あるいはその両方がサポートされます。また、クラスタ・ノードを追加すると、2ノードのOracle RACデータベースの可用性および信頼性も向上します。Oracle RAC環境のノード数が増えると、個々のノードの損失によってデータベースが受ける影響が少なくなります。

Oracle RACデータベースには、クラスタ・ノード、共有記憶域およびOracle Clusterwareという3つのコンポーネントが必要です。クラスタのノード数および使用する共有記憶域のタイプは任意に選択できますが、このマニュアルでは、ある特定の2ノード・クラスタ構成について説明します。この2ノード構成では、記憶域管理用にOracle Automatic Storage Management (Oracle ASM)、またバックアップおよびリカバリ計画用にRecovery Manager(RMAN)が使用されます。

ほとんどの管理タスクは、単一インスタンスのOracleデータベースとOracle RACデータベースの間で同じです。このガイドでは、Oracle RACに固有のデータベース管理タスクに関する追加指示と、Oracle RACデータベースの管理のための推奨事項について説明します。

注意:

Oracle Database Standard Editionを使用している場合は、クラスタがライセンスの制限に準拠している必要があります。クラスタのライセンス制限の詳細は、Oracle Databaseライセンス情報を参照してください。

関連項目:

単一インスタンス・データベースの管理の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

6.2 Oracle Enterprise Managerを使用したOracle RAC管理について

WebベースのOracle Enterprise Manager Cloud Controlコンソールでは、Oracle RACおよびOracle RAC One Nodeデータベースを管理できます。

Oracle Enterprise Managerは、グラフィカル・ユーザー・インタフェース(GUI)を介してアクセスするOracle環境を制御するための中心点です。Oracle Enterprise Managerでは、サービスを作成および変更でき、クラスタ・データベース・インスタンスとクラスタ・データベースを起動および停止できます。Enterprise Manager Cloud Controlは、Oracle RACデータベースだけでなく、Oracle RAC環境全体の管理に使用します。

Oracle Enterprise Manager Cloud Controlにログインし、Oracle RACデータベースのデータベース・ホームページにアクセスすると、クラスタ・データベースの「ホーム」ページが表示されます。クラスタ・データベースの「ホーム」ページは、シングル・インスタンス・データベースの「ホーム」ページに類似しています。ただし、「クラスタ・データベース: ホーム」ページでは、Oracle Enterprise ManagerによってOracle RAC環境全体のシステム状態および可用性が表示されます。これには、アラート・メッセージおよびジョブ・アクティビティに関するサマリーや、すべてのデータベースおよびOracle Automatic Storage Management(Oracle ASM)インスタンスへのリンクおよびそのステータスが含まれます。このページの「クラスタ」タブをクリックして、クラスタのホームページを表示して、基礎となるクラスタに対するステータスやアラートを表示することができます。

注意:

Oracle Enterprise Manager Cloud Controlはノード上のすべてのOracle ASMインスタンスを管理します。どれほど多くのOracleデータベースが記憶域にOracle ASMを使用していたとしても、1つのノードには1つのOracle ASMインスタンスのみが存在します。

6.3 Oracle RAC One Nodeデータベース管理について

Oracle RAC One Nodeデータベースの管理は、Oracle RACデータベースまたは単一インスタンス・データベースとは若干異なります。

Oracle Real Application Clusters One Node(Oracle RAC One Node)は、クラスタ内の1つのノードで実行されるOracle Real Application Clusters(Oracle RAC)データベースの単一インスタンスです。インスタンスを停止および起動するかわりに、Oracle RAC One Nodeのオンライン・データベース再配置を使用して、Oracle RAC One Nodeインスタンスを別のサーバーに再配置できます。

  • 管理者管理Oracle RAC One Nodeデータベース: 候補ノード・リストを監視し、可能であればサーバーがいつでもフェイルオーバーに使用できるようにしておく必要があります。候補サーバーは、クラスタの汎用サーバー・プールにあります。Oracle RAC Oneノード・データベース・インスタンスを現在ホストしているノードが失敗した場合、データベースおよびサービスが候補サーバーのいずれかにフェイルオーバーします。

  • ポリシー管理Oracle RAC One Nodeデータベース: 現在のノードが使用できなくなった場合に備えてサーバーがデータベースのフェイルオーバーに使用できるようにサーバー・プールを構成しておく必要があります。また、オンライン・データベース再配置のための宛先ノードは、データベースのサーバー・プールに配置される必要があります。

オンライン・データベース再配置の手順の概要については、次のトピックを参照してください。

関連項目:

Oracle RAC One Nodeデータベースを管理する方法の詳細は、Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照

6.3.1 オンライン・データベース再配置

オンライン・データベース再配置機能を使用して、サービスの可用性を維持したまま、Oracle RAC One Nodeデータベースを別のノードに再配置できます。

データベースの新規ノードへの再配置中に、データベース・セッションを継続できるように、計画的なオンライン・データベース再配置中にのみOracle RAC One Nodeデータベースの第2インスタンスが作成されます。Oracle RAC One Nodeデータベースではオンライン・データベース再配置のみを使用できますが、管理スタイルにかかわらず(管理者管理またはポリシー管理)、Oracle RACデータベースではオンライン・データベース再配置は使用できません。

srvctl relocate databaseコマンドを使用して、クラスタ内の別のノードにOracle RAC One Nodeデータベース・インスタンスを再配置できます。また、このコマンドを使用して、再配置されるデータベースの起動およびサービスの移行後、データベースの以前のインスタンスが停止するまでの時間を構成することもできます。この構成時間は、操作全体にかかる時間の上限ではなく、再配置されるデータベースが以前のインスタンスから新しいインスタンスに接続が移行するのを待機した後、以前のインスタンスが停止するまでの時間を制御するだけです。

Oracle RAC One Nodeデータベースが管理者管理の場合、データベース・インスタンスを再配置する先のターゲット・ノードは、再配置を開始するときの空きサーバー・プールの一部である必要があります。空きサーバー・プールに予備のターゲット・ノードがある場合、このノードは、Oracle RAC One Nodeデータベースの候補リストに追加されます。

データベース・インスタンスを再配置する前に、データベース・サービス・ユーザーがウォレットに追加されていることを確認する必要があります。次のようなコマンドを実行して、データベース・サービス・ユーザーがウォレットに存在するかどうかを確認します。

crsctl query wallet -type OSUSER -all

データベース・サービス・ユーザーがウォレットに存在しない場合、次のようなコマンドを実行して、データベース・サービス・ユーザーをウォレットに追加します。

crsctl add wallet -type OSUSER -user user_name -passwd
  • srvctl relocate databaseコマンドを使用して、Oracle RAC One Nodeデータベースの再配置を実行します。次に例を示します。
    srvctl relocate database -db racdb -node node2

オンライン・データベース再配置は、次のように行われます。

  1. 新しいデータベース・インスタンスを別の場所で開始します。

  2. 再配置するインスタンスにすべてのサービスを移動します。

  3. 再配置するインスタンスにすべての接続が移行するまで待機します。

  4. 以前のデータベース・インスタンスを停止し、再配置するインスタンスに残りのすべての接続を強制移動します。

オンライン再配置のタイムアウトは、srvctl relocate databaseコマンドの-timeoutオプションで指定しますが、手順3を実行するために構成する時間です。

注意:

共有パスワード・ファイルを使用せずにOracle RAC One Nodeデータベースのリモート管理に対してパスワード・ファイルベースの認証を使用する場合、データベースを実行できるノードごとに、SID_prefix_1およびSID_prefix_2という名前の2つのパスワード・ファイルが必要です。パスワード・ファイルを更新するたびに、これらの両方のファイルをすべての候補ノードに再コピーする必要があります。これは、ポリシー管理型と管理者管理型の両方のデータベースに当てはまります。

Oracle Clusterwareを使用してデータベースの起動および停止を行うこと、および他の管理用にデータ・ディクショナリにユーザーを定義することをお薦めします。

6.4 Oracle RACまたはOracle RAC One Nodeデータベースのパスワード・ファイルについて

データベースでは、パスワード・ファイルを使用してSYSDBA、SYSOPER、SYSRAC、SYSBACKUP、SYSDGまたはSYSKMの管理権限を付与されたデータベース・ユーザー名を追跡管理します。

これらの権限を使用すると、データベースがオープンしていなくてもデータベース・インスタンスにアクセスできるため、これらの権限の制御は、データベース自体の完全に外にあります。ユーザーは、オペレーティング・システム(OS)認証、パスワード・ファイル、またはOracle Internet Directoryなどのディレクトリベースの認証サービスによって認証できます。

注意:

オペレーティング・システム認証は、パスワード・ファイル認証より優先されます。オペレーティング・システム認証の要件を満たしている場合は、パスワード・ファイルを使用している場合でもオペレーティング・システム認証によって認証されます。

ユーザーがいずれのオペレーティング・システム・グループにも属しておらず、パスワード・ファイルにも指定されていない場合、句を使用して接続しようとすると失敗します。

Oracle DatabaseインスタンスおよびOracle Automatic Storage Management(Oracle ASM)インスタンスのパスワード・ファイル認証を使用できます。Oracle Databaseのパスワード・ファイルはデータベース・パスワード・ファイルと呼ばれ、Oracle ASMのパスワード・ファイルはOracle ASMパスワード・ファイルと呼ばれます。

Oracle Database 12c リリース1から、パスワード・ファイルはOracle ASMディスク・グループに格納されます。DBCAまたはインストーラを使用してOracle RACまたはOracle RAC One Nodeデータベースを作成する場合には、デフォルトでパスワード・ファイルがASMディスク・グループに作成されます。これにより、パスワード・ファイルはクラスタ内のどのノードからもアクセスできるようになります。パスワード・ファイルを手動で作成する場合には、そのファイルはすべてのOracle RACデータベース・インスタンスで使用できる必要があります。

6.5 Oracle RACデータベースおよびデータベース・インスタンスの起動および停止

クラスタ・データベースの起動および停止は、Enterprise Managerのクラスタ・データベースの「ホーム」ページから行います。

クラスタ・データベースの起動および停止の操作にEnterprise Managerのクラスタ・データベースの「ホーム」ページを使用すると、Oracle RACデータベースに属するすべてのインスタンスの一貫性を保てます。Oracle Enterprise Managerを使用すると、ユーザーはOracle RACデータベースをより容易に管理できます。

Oracle RACデータベース内の個々のインスタンスを起動および停止できます。Oracle RACデータベース内の1つの インスタンスを起動または停止しても、その他のインスタンスは起動または停止されません。Oracle RACデータベースを完全に停止するには、そのすべてのインスタンスを停止する必要があります。

また、インスタンスは、SQL*Plusまたはサーバー制御(SRVCTL)を使用して起動および停止することもできます。

サーバー・パラメータ・ファイル(SPFILE)を使用している場合に、Oracle RACデータベース全体を起動および停止するには、次の手順を実行します。

  1. Oracle Enterprise Managerで、クラスタ・データベース・ホームページに移動し、SYSユーザーとしてログインします。

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. 「クラスタ・データベース」のホームページの「一般」セクションで、データベースが停止している場合は「起動」 を、データベースが起動している場合は「停止」をクリックします。

    「起動/停止: 資格証明の指定」ページが表示されます。

  3. クラスタ・ノード用のホスト資格証明を入力します。このホスト資格証明は、オペレーティング・システム・グループOSDBAまたはOSOPERのメンバーであるユーザーのユーザー名およびパスワードです。

    「起動/停止: 操作の選択」ページが表示されます。

  4. 「すべて選択」をクリックすると、すべてのインスタンスを選択できます。「停止」をクリックすると、すべてのデータベース・インスタンスを停止できます。また、「起動」をクリックすると、すべてのデータベース・インスタンスを起動できます。

    個々のインスタンスを起動および停止するには、「起動/停止: 操作の選択」ページでデータベース・インスタンスを選択し、「起動」または「停止」をクリックして、選択したデータベース・インスタンスに対し必要な操作を実行します。また、インスタンスは、SQL*Plusまたはサーバー制御(SRVCTL)を使用して起動および停止することもできます。

    「起動/停止: 確認」ページが表示されます。

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

注意:

個々のインスタンスは、各インスタンスのホームページから起動および停止できます。ただし、「起動/停止: 操作の選択」ページから、直接、インスタンスの起動および停止の操作を実行する方が簡単です。

関連項目:

Oracle Racデータベースのインスタンスをコマンドライン・インタフェースを使用して起動および停止する手順の詳細は、Oracle Database Oracle Real Application Clusters管理およびデプロイメント・ガイドを参照

6.6 Oracle RACでのPDBの起動および停止

PDBがポリシー管理であるか管理者管理であるかにかかわらずサービスを管理することで、Oracle RACベースのマルチテナント・データベース内のプラガブル・データベース(PDB)を管理します。

Oracle RACベースのマルチテナント・コンテナ・データベース(CDB)の管理は、非CDBの管理にある程度似ています。違いは、ある管理タスクはCDB全体に適用され、ある管理タスクはrootにのみ適用され、ある管理タスクは特定のプラガブル・データベース(PDB)に適用されるということのみです。プラガブル・データベース(PDB)の管理には、非CDBを管理するために必要なタスクのごく一部が必要です。この一部のタスクでは、ほとんどがPDBおよび非CDBに対して同じです。ただし、PDBのオープン・モードを変更する場合など、いくつかの違いがあります。また、PDB管理者は、単一PDBの管理のみを行い、CDB内の他のPDBによる影響は受けません。

PDBがポリシー管理または管理者管理のいずれであるにもかかわらず、サービスを管理することによって、Oracle RACベースのCDB内のPDBを管理します。1つの動的データベース・サービスを各PDBに割り当てて、クラスタ化コンテナ・データベース内のインスタンスにわたってPDBの起動、停止および配置を調整します。

たとえば、prodというサーバー・プールにsparkというポリシー管理PDBを備えたraccontというCDBを所有している場合、次のコマンドを使用してplugsvcというサービスをこのデータベースに割り当てます。

srvctl add service –db raccont –pdb spark –service plug –serverpool prod

サービスplugsvcは、サーバー・プール内のすべてのノードで一様に管理されます。同じサーバー・プールでこのサービスをシングルトン・サービスとして実行する場合は、前述のコマンドとともに-cardinality singletonパラメータを使用します。

  • PDBを開くには、次のようにPDBに割り当てられたサービスを起動する必要があります。
    srvctl start service -db db_name -service service_name

    したがって、PDBの名前がsparkでそのサービスの名前がplugsvcの場合は、次のコマンドを実行します。

    srvctl start service -db raccont -service plugsvc
  • サービスを停止し、PDBへのアクセスを制限するには、次のコマンドを実行します。
    srvctl stop service -db db_name -service service_name

    したがって、PDBの名前がsparkでそのサービスの名前がplugsvcの場合は、次のコマンドを実行します。

    srvctl stop service -db raccont -service plugsvc
    PDBは、PDBを閉じるまで開いたままです。
  • PDBを閉じるには、ALTER PLUGGABLE DATABASEコマンドを使用します。
    ALTER PLUGGABLE DATABASE pdb_name CLOSE IMMEDIATE;
    PDBに関連付けられたサービスがONLINE状態で、このサービスをホストしているサーバー上でOracle Clusterwareが停止している場合、このサーバー上のOracle Clusterwareの再起動後にサービスは元の状態にリストアされます。このようにして、PDBの起動は、他のOracle RACデータベースと同様に自動化されます。

注意:

SQL*Plusとは異なり、SRVCTLは全体としてクラスタ・データベース上で動作します。したがって、サービスが同時に複数のサーバー上で実行されるように定義され、クラスタの現行のステータスがこの配置を可能にしている場合、サービスを使用したPDBの起動は、クラスタ化されたCDBの複数のインスタンスに同時に適用されます。

6.7 Oracle Real Application Clusters初期化パラメータの管理

Oracle RACデータベースの初期化パラメータの管理は、基本的には単一インスタンスのOracleデータベースの管理と同様です。

ただし、Oracle RACデータベースのパラメータの場合、次の点が異なります。

  • クラスタ固有のパラメータの「カテゴリ」列には、Cluster Databaseという値が含まれています。

  • Oracle RACデータベースの各インスタンスで同じパラメータは、「インスタンス」列のアスタリスク(*)で示されます。

  • Oracle RACデータベースの各インスタンスで異なる値に設定されているパラメータは、インスタンス名別にリストされます。

Oracle RAC環境の初期化パラメータを管理する場合の違いは、パラメータをデータベースの複数のインスタンスに適用可能なことです。パラメータがクラスタ全体のデータベース初期化パラメータであることを示すアスタリスクでマークされているパラメータ設定を変更すると、Oracle RACデータベース内のすべてのインスタンスのパラメータ設定が変更されます。接頭辞にインスタンス名のある初期化パラメータ、またはインスタンス固有の初期化パラメータを変更すると、変更はそのインスタンスのみに適用され、そのパラメータの他のデータベース・インスタンスでの設定には影響しません。

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

関連項目:

6.7.1 Oracle RACデータベースの初期化パラメータの構成について

Oracle Databaseでは、初期化パラメータはサーバー・パラメータ・ファイルまたはテキストベースのパラメータ・ファイルのいずれかに格納されます。

サーバー・パラメータ・ファイル(SPFILE)は初期化パラメータのリポジトリの一種で、Oracleデータベースが起動しているサーバーか、Oracle RACデータベース用の共有記憶域で保持されています。サーバー・パラメータ・ファイルに格納された初期化パラメータは持続性があり、インスタンスの実行中に加えられたパラメータへの変更はインスタンスの停止から起動までの間も持続します。

初期化パラメータ・ファイル(PFILE)は、初期化パラメータ設定を含むテキスト・ファイルです。SPFILEとは対照的に、このパラメータ・ファイルはバイナリではなく、データベース・サーバー上に配置する必要はありません。データベースでは、テキストベースの初期化パラメータ・ファイルに対して読取りを行うことはできますが、書込みは行われません。

デフォルトでは、Oracle Databaseのほとんどのパラメータがデフォルト値に設定され、この値はすべてのインスタンスで同じになります。ただし、多くの初期化パラメータに対しては、Oracle Databaseリファレンスで説明されているとおり、各インスタンスで別々の値も設定できます。その他のパラメータは、次の項で説明するように、インスタンス全体で一意にするか同一にする必要があります

関連項目:

6.7.2 Oracle RACのSERVICE_NAMESパラメータの変更について

SERVICE_NAMESパラメータは、他の初期化パラメータと同じ方法で変更しないでください。

SERVICE_NAMES初期化パラメータでは、クライアントがインスタンスへの接続に必要とする1つ以上の名前が指定されます。インスタンスはそのサービス名をリスナーに登録します。クライアントがサービスを要求すると、リスナーは要求されたサービスを提供するインスタンスを決定し、クライアントを適切なインスタンスにルーティングします。

Oracle RACデータベースでは、このパラメータを直接変更しないでください。かわりに、Oracle Enterprise Managerの「クラスタ管理データベース・サービス」ページを使用して、データベースおよびデータベース・インスタンスのサービスを定義します。サービスを変更する必要がある場合は、Enterprise ManagerとSRVCTLのいずれかを使用できます。Oracle Enterprise ManagerまたはSRVCTLを使用してサービスを作成および起動する場合、サービスがアクティブになると、SERVICE_NAMESパラメータが自動的に更新されます。

6.7.3 Oracle Real Application Clustersのサーバー・パラメータ・ファイルの構成について

サーバー・パラメータ・ファイルは、初期化パラメータのリポジトリです。

データベースを作成する際、Oracleでは、ユーザーが指定したファイルの場所にSPFILEが作成されます。Oracle ASMディスク・グループ、またはクラスタ・ファイル・システムのファイルをこの場所に指定できます。Oracle ASMを使用してSPFILEを格納することをお薦めします。

クラスタ・データベース内のインスタンスはすべて、起動時に同じSPFILEを使用します。Oracle RACで従来のパラメータ・ファイルが使用されるのは、SPFILEが存在しない場合、またはSTARTUPコマンドでPFILEを指定した場合のみです。管理の単純化、パラメータ設定の一貫性の維持、データベースの停止および起動イベント全体にわたるパラメータ設定の永続性の保証のために、SPFILEを使用することをお薦めします。さらにRMANを構成してSPFILEをバックアップできます。

関連項目:

6.7.4 Oracle RACデータベースの初期化パラメータ設定の編集

Enterprise Managerを使用して、Oracle RACデータベースの初期化パラメータの設定を表示および編集できます。

「初期化パラメータ」ページの「現行」サブページでパラメータを特定の値に設定し、Oracleインスタンスのメモリーおよび処理設定の多くを初期化できます。「SPFile」ではなく「現行」タブを使用して初期化パラメータを変更すると、「現在実行中のインスタンス・モードでの変更をSPFileに適用する」オプションが選択されている場合を除き、その変更は実行中のインスタンスのみに適用されます。

「SPFile」サブページを使用して初期化パラメータを変更すると、「SPFileモードでの変更を現在実行中のインスタンスに適用する」オプションが選択されている場合を除き、その変更は、現在実行中のインスタンスではなくSPFILEにのみ適用されます。「SPFile」サブページを使用したパラメータのリセットは、「現行」サブページを使用した同じパラメータのリセットとは異なります。あるインスタンスのパラメータ値をリセットして、すべてのインスタンスのデフォルト値に戻したり、すべてのインスタンスのデフォルトのパラメータ設定を削除(パラメータを設定解除)できます。

Oracle Enterprise Managerを使用して初期化パラメータを表示および変更するには、次の手順を実行します。

  1. クラスタ・データベースのホームページにアクセスします。

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. 「管理」メニューの「初期化パラメータ」を選択します。

    「データベース・ログイン」ページが表示された場合、SYSDBAユーザー、たとえばSYSまたはSYSTEMとしてログインします。

  3. 「初期化パラメータ」ページで「現行」または「SPFile」サブページを選択してパラメータ設定を変更します。
  4. 「選択」列を使用してパラメータを選択します。
  5. 「追加」をクリックし、エントリを編集して、ターゲット・インスタンスまたはパラメータ値を変更します。オプションで、変更の理由を説明するコメントを追加できます。
  6. 1つ以上のパラメータを変更した後、「適用」をクリックして変更を受け入れ、適用します。

6.7.5 例: OPEN_CURSORSパラメータの変更

このトピックでは、OPEN_CURSORSパラメータの変更例を示します。

SPFILEのopen_cursorsパラメータに次の2つのエントリが含まれているとします。

*.open_cursors = 250 
RACDB2.open_cursors = 200

図6-1 OPEN_CURSORSパラメータの初期値

図6-1の説明が続きます
「図6-1 OPEN_CURSORSパラメータの初期値」の説明

「初期化パラメータ」ページを使用して、「SPFile」タブを選択し、*.open_cursorsに対して「リセット」をクリックすると、Oracle Enterprise Managerによって、このエントリがSPFILEおよび表示されたパラメータ・リストの両方から削除され、RACDB2.open_cursors = 200のみが残されます。

図6-2 デフォルト・エントリの削除後のパラメータ値

図6-2の説明が続きます
「図6-2 デフォルト・エントリを削除した後のパラメータ値」の説明

RACDB2.open_cursors「リセット」をクリックしても、Enterprise ManagerでSPFILEおよびパラメータの表示リストの両方からこのパラメータ・エントリが削除されますが、新規エントリの*.open_cursors = <NULL>が、リセットされたパラメータのかわりにパラメータの表示リストに追加されます。

図6-3 カスタム・エントリおよびデフォルト・エントリの削除後のパラメータ値

図6-3の説明が続きます
「図6-3 カスタム・エントリおよびデフォルト・エントリを削除した後のパラメータ値」の説明

6.8 Oracle RACデータベース・インスタンスのCPU使用率の制限

Oracle Databaseには、複数のデータベース・インスタンスを実行する複数CPUサーバーでCPU割当てを管理する方法が用意されています。この方法はインスタンス・ケージングと呼ばれます。

1台のマルチCPU搭載サーバーで複数のOracle Databaseインスタンスを実行するように決定することがあります。1台のサーバーで複数のインスタンスが実行されている場合、インスタンスはCPUリソースを競い合います。1つのリソース集中型のデータベース・インスタンスが、他のインスタンスのパフォーマンスを大きく低下させる場合があります。たとえば、16個のCPUのシステムで4つのデータベース・インスタンスが存在する場合に、ある1つのデータベース・インスタンスに大きな負荷がかかっている間、オペレーティング・システムによって、このインスタンスの実行にCPUの大半が使用される可能性があります。これにより、他の3つのインスタンスのパフォーマンスが低下することがあります。このようなCPU割当ては、オペレーティング・システムのみによって決定され、通常はユーザーが制御することはできません。インスタンス・ケージングでは、サーバーで実行されている複数のインスタンス間でCPUリソースをパーティション化して予測可能なパフォーマンスを実現できます。

各データベース・インスタンスのCPU使用率を制限する簡単な方法は、インスタンス・ケージングを使用することです。インスタンス・ケージングは、初期化パラメータを使用して、インスタンスが同時に使用できるCPU数を制限する方法です。前の例で、インスタンス・ケージングを使用して4つのインスタンスそれぞれのCPU数を4に制限すると、1つのインスタンスによって他のインスタンスが妨害される可能性が低くなります。4つのCPUに制約されると、インスタンスはCPUにバインドされます。このとき、リソース・マネージャによって、インスタンスに対して設定したリソース・プランに基づき、様々なデータベース・セッション間でのCPUの割当てが開始されます。このように、インスタンス・ケージングとリソース・マネージャによって、単一サーバーで複数のインスタンスを管理する簡単で効果的な方法が提供されます。

インスタンス・ケージングを有効化するには、サーバー上の各インスタンスに対して次の処理を実行します。

  1. リソース・プランを割り当てることでリソース・マネージャを有効化し、MGMT_P1からMGMT_P8のパラメータを使用してリソース・プランにCPUディレクティブがあるようにします。

    方法はOracle Database管理者ガイドを参照してください。

  2. すべてのインスタンスについて、またはCPU使用率を制限する必要があるサーバー上のインスタンスについて、CPU_COUNT初期化パラメータを設定します。

    リソース・プランでインスタンス・ケージングを有効にし、使用率制限を設定した場合、絶対上限は割り当てられたCPUリソースの割合として計算されます。たとえば、インスタンス・ケージングを有効にし、CPU_COUNTを4に設定し、コンシューマ・グループの使用率制限が50%である場合、コンシューマ・グループは4つのCPUの最大50%、つまり2つのCPUを使用できます。

6.9 Oracle RACの記憶域の管理について

このトピックでは、Enterprise Managerを使用してOracle RACデータベースの一部の記憶域構造を管理するための追加情報を示します。

関連項目:

単一インスタンス・データベースの記憶域の管理の詳細は、Oracle Database 2日でデータベース管理者を参照してください。

6.9.1 Oracle RACでの自動UNDO管理について

Oracle RACでは、インスタンスに割り当てられた特定のUNDO表領域内のUNDOセグメントを自動的に管理します。

この表領域の内容を変更できるのは、UNDO表領域に割り当てられたインスタンスのみです。ただし、各インスタンスでは、いずれのインスタンスで作成されたUNDOデータ・ブロックでも読み取ることができます。また、トランザクション・リカバリの実行時に、UNDO表領域がUNDO生成またはトランザクション・リカバリのために別のインスタンスで使用されていないのであれば、どのインスタンスでもUNDO表領域を更新できます。Oracle RACデータベース内にUNDO表領域を割り当てるには、SPFILEまたは個別のPFILEで各インスタンスのUNDO_TABLESPACEパラメータに別の値を指定します。Oracle RACデータベースでは、自動UNDO管理モードと手動UNDO管理モードを同時に使用することはできません。Oracle RACデータベースのすべてのインスタンスは、同じUNDOモードで操作してください。

関連項目:

データベースのUNDOデータの管理については、『Oracle Database 2日でデータベース管理者』を参照してください。

6.9.2 Oracle RACのOracle Automatic Storage Management

Oracle自動ストレージ管理(Oracle ASM)では、管理対象のディスク全体の記憶域構成を管理することで、記憶域を自動的に最適化し、最大のパフォーマンスを引き出します。

Oracle ASMでは、クラスタ・データベース環境内で使用可能なすべての記憶域全体で記憶域のロードを均等に分散することで記憶域を最適化します。Oracle ASMによって、ディスク領域全体の要件が、ディスク・グループ内のすべてのディスクに均一なサイズにパーティション化されます。また、Oracle ASMでは、データを自動的にミラー化してデータ損失を防止します。Oracle ASMのこれらの機能により、管理オーバーヘッドも大幅に削減されます。

単一インスタンスのOracle Databaseの場合と同様に、Oracle RACでOracle ASMを使用する場合も、I/Oチューニングは不要です。次のトピックで、Oracle ASMおよびOracle ASMの管理について説明します。

6.9.2.1 Oracle RACのOracle ASMコンポーネントについて

Oracle ASMインスタンスは、Oracle Flex ASMでの様々な構成で動作できます。

Oracle Flex ASMを使用すると、データベース・サーバーとは異なる物理サーバーでOracle ASMインスタンスを実行できます。このデプロイでは、システム全体におけるOracle ASMのフットプリントを削減しながら、Oracle ASMインスタンスの大規模なクラスタでより多くのデータベース・クライアントをサポートできます。Oracle Flex ASMを使用している場合、Oracle ASMクライアントはストレージへの直接アクセスで構成されます。

Oracle Flex ASMを使用すると、すべての記憶域の要件を、ディスク・グループの単一のセットに統合できます。これらのすべてのディスク・グループを、単一のクラスタで実行中のOracle ASMインスタンスの小さいセットでマウントおよび管理します。カーディナリティ設定で、Oracle ASMインスタンスの数を指定できます。デフォルトは、3インスタンスです。

各Oracle ASMインスタンスには、SPFILEまたはPFILEタイプのパラメータ・ファイルが存在します。

このガイドで説明する環境では、各ノードにOracle ASMインスタンスが1つ存在し、Oracle ASMインスタンスではSPFILEを使用します。

6.9.2.2 Oracle RACでのOracle ASM用ディスク・グループ構成について

クラスタに対してディスク・グループを作成する場合、または既存のクラスタ化ディスク・グループに新規ディスクを追加する場合は、共有ディスクの基礎となる物理記憶域のみを準備する必要があります。

Oracle ASMをOracle RACデータベースで使用する場合と単一インスタンスのOracle Databaseで使用する場合を比較したときの唯一の大きな違いは、共有ディスクを必要とする点です。Oracle ASMでは、ディスクまたはディスク・グループを追加または削除した後、自動的に記憶域のロードが再調整されます。

クラスタでは、Oracle ASMインスタンスが実行されているノードのディスク・グループに対するメタデータの更新は、各Oracle ASMインスタンスによって管理されます。また、各Oracle ASMインスタンスが、ディスク・グループのメタデータとクラスタの他のノード間の調整を行います。

単一インスタンスのOracle Databaseと同様に、Enterprise Manager、Oracle ASM Configuration Assistant(ASMCA)、Oracle ASM command-line utility(ASMCMD)、SQL*PlusおよびSRVCTLを使用してOracle RAC環境のOracle ASM用ディスク・グループを管理できます。

関連項目:

6.9.3 Oracle RACのREDOログの管理

次の各トピックでは、Oracle RAC環境でのREDOログ・ファイルの構成に関する追加的な概念および手順を概説します。

Oracle RAC環境でのREDOログ・ファイルの管理は、単一インスタンスのOracle Database環境でのREDOログ・ファイルの管理に似ています。

関連項目:

6.9.3.1 Oracle RACデータベースのREDOログ・グループおよびREDOスレッドについて

REDOログには、データファイルに加えられた変更の記録が含まれます。

単一インスタンスのOracle Databaseでは、REDOログは2つ以上のREDOログ・ファイル・グループに格納されます。このグループのそれぞれにREDOログ・ファイルが含まれ、そのファイルの1つ以上のミラー化コピーも含まれる場合があります。Oracle RACデータベースでは、各インスタンスに独自のREDOログ・グループ・セットが必要であり、このセットはREDOスレッドと呼ばれます。REDOログ・ファイルのミラー化コピーにより、ハードウェア障害またはデータ破損が原因のデータ損失に対してシステムの保護が強化されます。REDOログ・ファイルが読取り不可の場合、Oracle Databaseではそのミラー化コピーへのアクセスを試行します。REDOログ・ファイルのミラーは、プライマリのREDOログ・ファイルとは別のディスク・デバイスに配置する必要があります。

図6-4 Oracle RACデータベースのREDOスレッドの図

図6-4の説明が続きます
「図6-4 Oracle RACデータベースのREDOスレッド」の説明

各インスタンスのREDOスレッドには、少なくとも2つのREDOログ・グループが含まれる必要があります。各REDOログ・グループは、少なくとも2つのメンバー、つまりREDOログおよびそのミラー化コピーを含む必要があります。DBCAを使用してOracle RACデータベースを作成すると、オラクル社の推奨事項を満たす構成がOracle RACデータベースに自動的に実装されます。

REDOログ・グループは、管理者管理データベースを使用する場合にのみ作成する必要があります。ポリシー管理データベースの場合、サーバー・プール・カーディナリティの変更によりインスタンスが起動すると、Oracle Databaseによって自動的にREDOログ・ファイルが作成され、このインスタンスのREDOスレッドが有効化され、UNDO表領域が作成されます(このインスタンスに割り当てられたREDOスレッドおよびUNDO表領域がまだ存在しない場合)。この場合、データベースは、Oracle Managed FilesおよびOracle ASMを使用している必要があります。

Oracle RACデータベースでは、すべてのREDOログ・ファイルは共有記憶域に配置されます。また、各インスタンスにクラスタ内の他のすべてのインスタンスのREDOログ・ファイルへのアクセス権が必要です。Oracle RACデータベースでOracle ASMを使用する場合は、Oracle ASMによってREDOログ・ファイルのある共有記憶域およびそれらのファイルへのアクセス権が管理されます。

注意:

パフォーマンス向上のため、DBCAでREDOスレッドとUNDO表領域が作成されるのは、作成時のCLUSTER_DATABASE_INSTANCESパラメータで指定した最大値までです。

関連項目:

6.9.3.2 Oracle RACデータベースのREDOログ・ファイルへのアクセスについて

Oracle RACデータベースでは、単一インスタンスのOracle Databaseの場合と同じ方法で、各インスタンスがそのREDOスレッドへのREDOログ・グループの書込みおよびアーカイブを行います。

ただし、リカバリ・モードでは、リカバリを実行中のインスタンスは、どのインスタンスがREDOスレッドを生成したかに関係なく、データベースのすべてのREDOスレッドの読取りおよび処理を実行できます。すべてのREDOスレッドの読取りが可能になると、実行中のインスタンスは、障害が発生した1つ以上のインスタンスが完了した作業をリカバリできます。

インスタンスに障害が発生した場合、障害が発生していないインスタンスによって、障害が発生したインスタンスのREDOログが読み込まれます。ユーザーは、障害が発生したインスタンスの再起動を待たずにデータベースへのアクセスおよび更新を続行できます。たとえば、インスタンスAとインスタンスBという2つのインスタンスを持つOracle RACデータベースがあるとします。インスタンスAが停止しても、インスタンスBはインスタンスAとBの両方のREDOログ・ファイルを読み込んでリカバリを正常に完了できます。

6.9.3.3 Oracle Enterprise Managerを使用したオンラインREDOログ・ファイルの表示および作成

「REDOログ・グループ」ページで、追加REDOログ・グループを作成し、メンバーをそのREDOログ・グループに追加できます。「スレッド」列により、REDOログ・ファイルが属するインスタンスまたはREDOスレッドが識別されます。

Oracle Enterprise Managerを使用してREDOログ・ファイル・グループにアクセスするには、次のように実行します。

  1. クラスタ・データベースのホームページにアクセスします。

    Oracle Enterprise Managerへのログインの詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。

  2. 「管理」メニューで、「記憶域」、次に「REDOログ・グループ」を選択します。

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

  3. 「REDOログ・グループ」ページで、次のタスクのいずれかを実行します。
    • 各REDOログ・グループのステータス、メンバー数、スレッド、ファイル・サイズ、ステータスおよびアーカイブ像を表示します

    • ログ・グループの作成または削除

    • メンバーを追加または削除するためのREDOログ・グループの編集

    • ログ・ファイルの消去、ログ・グループの複製、サイズ指定のアドバイスの生成、およびログ・スイッチの強制などの他のREDOログ・グループ管理タスクの実行

関連項目: