Global Data Servicesフレームワークは、1つ以上のグローバル・サービス・マネージャ、Global Data Servicesカタログおよび各GDS構成データベースで構成されます。Oracle Database 12cをインストールすると、フレームワークの一部のコンポーネントがインストールされます。他のコンポーネントについては、Global Data Services制御ユーティリティ(GDSCTL)を使用して特定のタスクを実行する必要があります。
この章の内容は次のとおりです。
ソフトウェアをインストールする前に、Linuxの次のハードウェア、ネットワーク、オペレーティング・システムおよび他のソフトウェア要件を確認してください。
Global Data Servicesコンポーネントの要件は次のとおりです。
256MB以上の合計物理メモリー
20MB以上の使用可能な物理メモリー
6GB以上の合計スワップ領域
1.5GB以上の空きディスク領域
動作保証済アーキテクチャ(x86_64など)
Linuxシステムのカーネル・バージョンは2.6.18以上
パッケージmake-3.81
がシステムで使用可能
パッケージbinutils-2.17.50.0.6
がシステムで使用可能
パッケージgcc-4.1.2 (x86_64)
がシステムで使用可能
パッケージlibaio-0.3.106 (x86_64)
がシステムで使用可能
パッケージlibaio-devel-0.3.106 (x86_64)
がシステムで使用可能
パッケージlibstdc++-4.1.2 (x86_64)
がシステムで使用可能
パッケージsysstat-7.0.2
がシステムで使用可能
パッケージcompat-libstdc++-33-3.2.3 (x86_64)
がシステムで使用可能
パッケージlibgcc-4.1.2 (x86_64)
がシステムで使用可能
パッケージlibstdc++-devel-4.1.2 (x86_64)
がシステムで使用可能
パッケージglibc-devel-2.5 (x86_64)
がシステムで使用可能
パッケージgcc-c++-4.1.2 (x86_64)
がシステムで使用可能
パッケージglibc-2.5-58 (x86_64)
がシステムで使用可能
パッケージksh-...
がシステムで使用可能
グローバル・サービス・マネージャはGlobal Data Servicesフレームワークの中心的なコンポーネントで、個別のメディアを使用してグローバル・サービス・マネージャをインストールする必要があります。グローバル・サービス・マネージャのインストールと実行に、他のOracleソフトウェアは必要ありません。
グローバル・サービス・マネージャは他のOracle製品がインストールされているシステムにインストールできますが、別のOracleホーム・ディレクトリにインストールする必要があります。1つのシステムに複数のグローバル・サービス・マネージャをインストールできますが、各グローバル・サービス・マネージャのOracleホーム・ディレクトリは別である必要があります。パフォーマンス上の理由から、Global Data Services構成のデータベースの数によっては、専用ホストにグローバル・サービス・マネージャをデプロイできます。
Global Data Servicesリージョンごとに最低1つのグローバル・サービス・マネージャをインストールする必要があります。グローバル・サービス・マネージャは、物理環境または仮想環境でホストできます。高可用性の点から、個別のホストで実行されているリージョンごとに複数(通常は3個)のグローバル・サービス・マネージャをインストールすることをお薦めします。
注意: Oracle Universal Installerでは、複数ホストでのソフトウェアのインストールは現在サポートされていません。各グローバル・サービス・マネージャをそれぞれのホストにインストールする必要があります。 |
Global Data Services管理者がグローバル・サービス・マネージャをインストールします。Global Data Services管理者の職務は次のとおりです。
グローバル・サービス・マネージャの管理
Global Data Servicesカタログの管理
リージョンおよびデータベース・プールの管理
注意: Global Data Services管理者は、グローバル・サービス・マネージャをデプロイするすべてのホストにオペレーティング・システム・ユーザー・アカウントを持っている必要があります。インストールはそのユーザー・アカウントで実行する必要があります。インストールは、rootユーザーでは実行しない でください。 |
注意: Windowsプラットフォームにグローバル・サービス・マネージャをインストールする場合、Oracle Universal Installerでは、Windowsの組込みアカウントを使用するか、OracleホームのOracleホーム・ユーザーとして標準のWindowsユーザー・アカウントを指定するかを選択できます。このアカウントは、OracleホームのWindowsサービスを実行するために使用され、管理者アカウントにすることはできません。Windowsの組込みアカウント・オプションを選択すると、サービスを実行するためにLocalServiceアカウントが使用されることに注意してください。グローバル・サービス・マネージャのインストール、アップグレード、パッチ適用などの管理タスクを行うには、管理権限を持つWindowsアカウントを使用してログオンする必要があります。 Oracleホーム・ユーザーの使用の詳細および推奨事項は、『Oracle Databaseプラットフォーム・ガイド for Microsoft Windows』の第3章を参照してください。 |
グローバル・サービス・マネージャをインストールするには、次のようにします。
ソフトウェア・メディアのルート・ディレクトリからOracle Universal Installerを起動し、プロンプトに従います。
インストールが完了すると、グローバル・サービス・マネージャのホーム・ディレクトリにグローバル・サービス・マネージャとグローバル・サービス・マネージャ制御ユーティリティ(GDSCTL)の実行に必要なバイナリが含まれています。
ORACLE_HOME
環境変数をインストール時に指定したディレクトリに設定します。
グローバル・サービス・マネージャ用に作成された$ORACLE_HOME/bin
ディレクトリをPATH
環境変数に追加します。
TNS_ADMIN
環境変数を$ORACLE_HOME/network/admin
に設定します。
分散Global Data Servicesインフラストラクチャを構成するコンポーネントは4つあり、各コンポーネントは個別のインストール環境に存在し、通常のアップグレード手順を使用して単体でアップグレードできますが、コンポーネントのバージョニングに関して準拠する必要のある一定のルールがあります。各コンポーネントとそのルールは次のとおりです。
カタログ・データベース: カタログ・データベースは、GDSメタデータの中央リポジトリで、標準的なOracle Databaseインストールです。カタログ・データベースのバージョンは、常にそれに接続する任意のGDSCTLセッションのバージョン以上であり、それに接続する任意のグローバル・サービス・マネージャ・サーバーのバージョンと正確に一致する必要がありますが、これには1つ例外があり、移行の簡略化のため、カタログは、それが変更されるまで、一時的にそれに接続しているグローバル・サービス・マネージャ・サーバーより大きいバージョンになることが可能で、変更があると、同じバージョンではない接続済のグローバル・サービス・マネージャは切断され、同じバージョンではない停止済のグローバル・サービス・マネージャは接続を禁止されます。
注意: リリース12.1.0.1を実行しているGDSCTLセッションは、それ以降のバージョンのカタログを変更できません(カタログを更新するコマンドを実行する場合、GDSCTLクライアントのバージョンは12.1.0.2以上である必要があります)。 |
GDSCTLクライアント: このコンポーネントは、グローバル・サービス・マネージャ・インストールを含む任意のシステム上のターミナル・セッションからアドホック形式で実行されます。GDSCTLクライアントのバージョンは、その実行元のグローバル・サービス・マネージャ・インストールのバージョンです。
注意: 12.1.0.1のGDSCTLクライアントをそれ以降のバージョンのカタログに接続する場合、許可されるコマンドのセットは制限され、カタログ変更の原因となる可能性のあるコマンドは互換性エラーを発生させます。バージョン12.1.0.2以上のカタログのカタログ・メタデータを更新するコマンドは、リリース12.1.0.2以上で稼働するGDSCTLクライアントから実行される必要があります。 |
グローバル・サービス・マネージャ・サーバー: グローバル・サービス・マネージャ・サーバーのバージョンは、そのサーバーの実行元のグローバル・サービス・マネージャ・インストールのバージョンです。グローバル・サービス・マネージャ・サーバーは、自身より小さいバージョンのカタログ・データベースに接続できません。グローバル・サービス・マネージャ・サーバーは、自身より大きいバージョンでカタログがすでに変更されている場合、そのバージョンのカタログ・データベースに接続できません。グローバル・サービス・マネージャは、Oracle Database 12c以上のバージョンを実行しているプール・データベースに接続できます。
プール・データベース: プール・データベースは、グローバル・サービスを実行するGDSプールに追加された任意のデータベースです。プール・データベースには、カタログのバージョンより大きいバージョンを含め、Oracle 12c以上の任意のバージョンを使用できます。プール・データベースは、いつでもアップグレードまたはダウングレードできます。
これらのルールに従うことで、サービス停止時間なしで分散GDSインフラストラクチャのローリング・アップグレードを実行できます。推奨されるアップグレード順序は次のとおりです。
カタログ・データベースをアップグレードします。最高の結果を得るには、ローリング・データベース・アップグレードを使用してこれを実行する必要があります(ただし、カタログが使用できない場合、アップグレード中にグローバル・サービスは引き続き使用可能ですが、サービス・フェイルオーバーは発生しません)。
注意: 12.1.0.2パッチ・リリースが適用されたOracle Database 12cリリース1をアップグレードする場合、カタログ・データベースのアップグレード後に次のコマンドを実行する必要があります。
このコマンドによって、暗号化鍵が生成され、GDSカタログに格納された既存のGSMUSRパスワードが暗号化されます。 |
GDSCTLクライアントを実行するために使用されるグローバル・サービス・マネージャ・インストールをアップグレードします(存在する場合でも、グローバル・サービス・マネージャ・サーバーは実行しません)。
注意: グローバル・サービス・マネージャのアップグレードはインプレースで実行する必要がありますが、次のプラットフォームの各ファイルに対するアクセス権が755に更新されていない場合、インプレース・アップグレードによって間違ったエラー・メッセージが表示されます。Linux/Solaris64/Solaris Sparc64の場合:
AIXの場合:
HPIの場合:
Windowsでは、エラー・メッセージは予期されません。 |
すべてのグローバル・サービス・マネージャ・サーバーの停止、アップグレードおよび再起動を1つずつ行います。停止時間をなくすには、必ず1つ以上のグローバル・サービス・マネージャ・サーバーが実行されている必要があります。カタログより前のバージョンのグローバル・サービス・マネージャ・サーバーは、カタログに変更が発生するまで完全に動作し続けます。
プール・データベース管理者の判断で、グローバル・サービス・マネージャとカタログ・データベースのアップグレードの前か後に、任意の順序でプール・データベースをアップグレードします。
すべてのGlobal Data Services構成には、Global Data Servicesカタログが含まれる必要があります。Global Data Servicesカタログは、GDS構成データベースと同じホストに配置できますが、このシナリオは大規模構成では推奨されません。Oracle Real Application Clusters (Oracle RAC)やOracle Data Guardなどの高可用性機能を使用して、Global Data Servicesカタログが停止しないようにすることをお薦めします。
Global Data Servicesカタログは、サーバー・パラメータ・ファイル(SPFILE)を使用するOracle Database 12c以上のデータベースに存在する必要があります。
Oracle RACデータベースにGlobal Data Servicesカタログを作成する場合、そのデータベースに単一クライアント・アクセス名(SCAN)を設定することをお薦めします。
Global Data Servicesカタログを作成するGlobal Data Services管理者は、カタログ・データベースにユーザー・アカウントを持っていることと、GSMADMIN_ROLE
権限とアカウントのパスワードを持っている必要があります。たとえば、次のSQL文をカタログ・データベースで実行します。
CREATE USER gsm_admin IDENTIFIED BY password;
GRANT gsmadmin_role TO gsm_admin;
Global Data Servicesカタログは、高可用性および障害時リカバリに対応するように保護される必要があります。
注意: Global Data Services管理者はカタログ・データベースにユーザー・アカウントを持っていますが、カタログ・データベースに直接接続しないようお薦めします。Global Data Services管理者は、GDSCTLユーティリティを使用して、Global Data Servicesを管理できます。GDSCTLコマンドを実行するときに、Global Data Services管理者が指定する資格証明を使用して、GDSCTLはGlobal Data Servicesカタログに接続します。 |
次のようにGDSCTLがインストールおよび構成されているホストでGDSCTLを使用し、Global Data Servicesカタログを作成します。
GDSCTL> create catalog -database db_name -user user_name
次に例を示します。
GDSCTL> create catalog -database serv1:1521:catdb.example.com -user gsm_admin
前述の例で、serv1:1521:catdb.example.com
は、データベースに接続するために使用されるリスナーのホスト名とポート番号を含む簡易接続文字列で、catdb.example.com
は、Global Data Servicesカタログ・データベースのサービス名です。
1つのデータベースを、Global Data Servicesカタログのプライマリ・リポジトリとして指定します。Oracle RAC、Oracle Data Guard、Oracle Clusterwareなどの既存の高可用性テクノロジを使用して、Global Data Servicesカタログを保護できます。
グローバル・サービス・マネージャを起動するには、Global Data Servicesカタログに登録する必要があります。
グローバル・サービス・マネージャを追加するには、次のようにします。
GSMCATUSER
アカウントを変更します。
Global Data Services構成のすべてのグローバル・サービス・マネージャは、GSMCATUSER
アカウントを使用してカタログ・データベースに対するOracle Net Servicesの直接接続を管理しますが、このアカウントはOracle Database 12cのインストール中にデフォルトで作成されます。カタログ・データベースのデータベース管理者(DBA)はアカウントのロックを解除し、アカウントのパスワードをGlobal Data Services管理者に付与する必要があります。
ALTER USER gsmcatuser ACCOUNT UNLOCK;
ALTER USER gsmcatuser IDENTIFIED BY password;
グローバル・サービス・マネージャを実行するホストで次のコマンドを実行します。
GDSCTL> add gsm -gsm gsm_name -listener listener_port -catalog catalogdb_name
次に例を示します。
GDSCTL> add gsm -gsm east_gsm1 -listener 1523 -catalog serv1:1521:catdb.example.com
前述の例で、serv1:1521:catdb.example.com
は、カタログ・データベースの接続識別子です。Global Data Services管理者はコマンドの実行時にGSMCATUSER
パスワードの入力を求められます。
グローバル・サービス・マネージャをGlobal Data Servicesフレームワークに追加したら、次のようにしてグローバル・サービス・マネージャを起動します。
GDSCTL> start gsm -gsm gsm_name
起動時、グローバル・サービス・マネージャはONS.CONFIG
ファイルを作成または変更し、グローバル・サービス・マネージャに属するOracle Notification Serviceサーバーから構成データを移入します。
デフォルトでは、ファイルは$ORACLE_HOME/opmn/conf
ディレクトリに作成されます。場所は、環境変数ORACLE_CONFIG_HOME
が設定されている場合、$ORACLE_CONFIG_HOME/opmn/conf
に変更できます。
注意: ONS.CONFIG ファイルは共有できません。グローバル・サービス・マネージャ・インストールごとに固有のONS.CONFIG ファイルが必要です。 |
GDSCTLコマンドの多くはGlobal Data Servicesカタログへの接続を必要とします。次の2つの方法のいずれかを使用してGlobal Data Servicesカタログに接続します。
方法1
次のようにしてGlobal Data Servicesカタログに接続します。
GDSCTL> connect user_name@connect_identifier Enter password: *** Catalog connection is established GDSCTL>
前述の例でcatalog
は、1つ以上のグローバル・サービス・マネージャ・エンドポイントに解決される接続識別子です。高可用性を実現するには、接続識別子を構成のすべてのグローバル・サービス・マネージャのリストに解決することをお薦めします。たとえば、Global Data Services構成に2つのグローバル・サービス・マネージャが存在し、名前解決にTNSNAMES
を使用する場合、tnsnames.ora
ファイルに次のようなエントリを含める必要があります。
catalog = (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xyz)(PORT=1523)) (ADDRESS=(PROTOCOL=tcp)(HOST=abc)(PORT=1523)) )
前述の例では、1つ目のグローバル・サービス・マネージャはxyz
という名前のホストで実行され、2つ目のグローバル・サービス・マネージャはabc
という名前のホストで実行されます。
方法2
オペレーティング・システム・プロンプトからGDSCTLコマンドを実行するには、Global Data Servicesカタログに接続する必要のあるコマンドに-catalog
パラメータを付加します。
次に例を示します。
$ gdsctl add gdspool -gdspool hr -catalog mygdscatlog username: Robert password:
Global Data Servicesの場所は変わることがあるため、GDSCTLはグローバル・サービス・マネージャをリスナーとして使用してGlobal Data Servicesカタログに接続します。グローバル・サービス・マネージャは場所の変更を記録し、接続リクエストを転送することができます。
注意:
|
大規模データベース・クラウドでは、異なる管理者が管理する複数のGlobal Data Servicesプールが必要になることがあります。Global Data Servicesカタログに接続していることを確認し、次のようにして特定のユーザーによって管理されるプールを追加します。
GDSCTL> add gdspool -dbpool database_pool_list [-users user_list]
次に例を示します。
GDSCTL> add gdspool -dbpool hr -users rjones
前述の例では、hr
という名前のGlobal Data Servicesプールを追加し、ユーザーrjones
を追加します。このユーザーにはhr
プールを管理する権限が割り当てられます。権限によって、プールの管理者は、データベースをプールに追加したり、プール内のデータベースでグローバル・サービスを管理したりできます。
Global Data Servicesプールには、そのGDS構成内で一意の名前を付ける必要があります。作成時にプールの名前を指定しない場合、その名前はデフォルトでoradbpool
になります。プール名の長さは最大30バイトで、任意の有効な識別子(先頭は英字でその後に0個以上のASCII英数字またはアンダースコア(_)を続ける)を使用できます。
注意: 必要なGlobal Data Servicesリージョンが1つのみの場合、この手順を使用して追加する必要はありません。Global Data Servicesカタログを作成すると、デフォルトのGlobal Data ServicesリージョンREGIONORA が作成されます。 |
Global Data Servicesカタログに接続していることを確認し、次のようにしてGlobal Data Servicesリージョンを追加します。
GDSCTL> add region –region region_list
次に例を示します。
GDSCTL> add region –region west,east
前述の例では、2つのリージョンeast
およびwest
をGlobal Data Servicesフレームワークに追加します。
Global Data Servicesリージョンの名前は、対応するGlobal Data Services構成内で一意である必要があります。最初のリージョンの作成時に名前を指定しない場合、そのリージョンにはoraregion
というデフォルト名が付けられます。リージョン名の長さは最大30文字で、任意の有効な識別子(先頭は英字でその後に0個以上のASCII英数字または「_」を続ける)を使用できます。
グローバル・サービスを提供するには、データベースがGlobal Data Servicesプールに追加されている必要があります。データベースをプールに追加する前に、次の例に示すように、データベース管理者はGSMUSER
アカウントのロックを解除し、Global Data Servicesプール管理者にパスワードを付与する必要があります。
ALTER USER gsmuser ACCOUNT UNLOCK;
ALTER USER gsmuser IDENTIFIED BY password;
Global Data Servicesプールに含めるには、データベースでサーバー・パラメータ・ファイル(SPFILE)が使用される必要があります。Oracle RACデータベースにはSCAN設定も必要です。
データベースを追加するには、ユーザーは、次のようにGlobal Data ServicesプールまたはGlobal Data Services管理者の資格証明を使用してGlobal Data Servicesカタログに接続する必要があります。
GDSCTL>connect rjones@catalog Enter password:
gdsctl add database
コマンドを実行します。
GDSCTL>add database -connect edc007:1521/db14.east.example.com -region east -gdspool hr Enter password:
この例では、edc007:1521/db14.east.example.com
がデータベースの接続識別子であり、プロンプトが表示されたら、このデータベースのGSMUSERアカウント・パスワードを入力します。
プールにすでにデータベースが含まれ、プールにグローバル・サービスが関連付けられている場合、サービスは新しいデータベースで自動的に作成されます。
登録用有効ノード・チェック(VNCR)機能では、グローバル・サービス・マネージャによって許可された登録リクエストのIPアドレス、ホスト名またはサブネットのセットの構成や動的な更新が可能になります。データベース・インスタンスのグローバル・サービス・マネージャでの登録は、リクエストが有効なノードからの場合にのみ成功します。
デフォルトでは、gdsctl add database
コマンドが実行されるたびに、Global Data Servicesフレームワークは、リモート・データベースが実行されているホストのVNCRエントリを自動的に追加します。この自動化機能(自動VNCR)では、ホスト名エントリがローカルhostsファイルまたはネーム・サーバーのいずれかに存在する必要があります。グローバル・サービス・マネージャが実行されるいずれかのノードでリモート・ホストが異なる名前で識別される場合、Global Data Services管理者は、gdsctl add invitednode
コマンドを実行してGlobal Data Servicesカタログに手動でVNCRエントリを追加する必要があります。
gdsctl add service
コマンドを使用して、Global Data Servicesプール・データベースでサービスを作成します。コマンドの単純な例を次に示します。
GDSCTL>add service -gdspool hr -service emp_report1 -preferred_all
この例で、emp_report1
はサービス名で、-preferred_all
オプションはサービスがプール内のすべてのデータベースで通常実行されることを示します。
add serviceコマンドで指定するサービス名は、ドメイン修飾することも(sales.example.comなど)、しないことも(salesなど)可能です。指定した名前がドメイン修飾されていない場合、サービスはデフォルトのドメイン名である<GDS_pool_name>.<GDS_configuration_name>を使用して作成されますが、サービスを管理する後続のGDSCTLコマンドでは、より短いドメイン修飾なしの名前を使用できます。指定した名前がドメイン修飾されている場合、サービスを管理するために使用する後続のすべてのGDSCTLコマンドで、完全修飾ドメイン・サービス名を使用する必要があります。
グローバル・サービス名は、GDSプール内で一意である必要があり、ドメイン修飾されている場合はGDS構成内でも一意である必要があります。グローバル・サービスは、データベースに同じ名前のローカル・サービスまたはグローバル・サービスがすでに存在する場合、そのデータベースで作成できません。
グローバル・サービス名には、英数字、「_」および「.」を含めることができます。最初の文字は英数字にする必要があります。グローバル・サービス名の長さは最大64文字です。ドメイン修飾されたグローバル・サービス名の長さは、最大250文字です。
グローバル・サービスに接続するために使用されるOracle Net接続記述子には、ドメイン修飾されたサービス名を含める必要があります。
gdsctl start service
コマンドを使用して、Global Data Servicesプール・データベースで既存のサービスを起動します。
GDSCTL>start service -service emp_report1 -gdspool hr
サービスに-role
パラメータが指定されている場合、サービスは、指定された値にロールが適合するデータベースでのみ起動します。サービスに-lag
パラメータが指定されている場合、サービスは、レプリケーション・ラグが指定された値を超えないデータベースでのみ起動します。サービスに-preferred_all
が指定されていない場合、サービスは、サービスの優先データベースとしてリストされているデータベースでのみ起動します。
データベース・クライアントは、Oracle Net接続文字列を使用してデータベース・サービスに接続します。グローバル・サービスで使用される接続文字列は、ローカル・サービスで使用される接続文字列と次の点で異なります。
接続データ・セクションのサービス名パラメータは、グローバル・サービスを指定します。
複数の接続エンドポイントが指定され、これらのエンドポイントはローカル、リモートまたは単一クライアント・アクセス名(SCAN)リスナーではなく、グローバル・サービス・マネージャです。
データベース・クライアントのリージョンは、接続データ・セクションで指定できます。
次の接続文字列を検討します。
(DESCRIPTION= (FAILOVER=on) (ADDRESS_LIST= (LOAD_BALANCE=ON) (ADDRESS=(host=sales-east1)(port=1522)) (ADDRESS=(host=sales-east2)(port=1522)) (ADDRESS=(host=sales-east3)(port=1522))) (ADDRESS_LIST= (LOAD_BALANCE=ON) (ADDRESS=(host=sales-west1)(port=1522)) (ADDRESS=(host=sales-west2)(port=1522)) (ADDRESS=(host=sales-west3)(port=1522))) (CONNECT_DATA= (SERVICE_NAME=sales) (REGION=east)))
この接続文字列には、クライアントのローカル・リージョン(east)の3つのグローバル・サービス・マネージャ(sales-east1、sales-east2およびsales-east3)と、クライアントのバディ・リージョン(west)の3つのグローバル・サービス・マネージャ(sales-west1、sales-west2およびsales-west3)が含まれます。
クライアント側のロード・バランシングは、各リージョンのアドレス・リストでLOAD_BALANCE
パラメータをONに設定することで、各リージョン内のグローバル・サービス・マネージャ全体で有効化されます。リージョン間の接続時フェイルオーバーは、FAILOVER
パラメータをONに設定することで有効化されます。
例の接続文字列のように、各リージョンがバディ・リージョンを持ち、クライアント側のロード・バランシングと接続時フェイルオーバーが構成されるようにするには、リージョンごとに3つのグローバル・サービス・マネージャを割り当てることがベスト・プラクティスです。
REGION
パラメータは、接続文字列でローカル・リージョンからグローバル・サービス・マネージャのみが指定されている場合はオプションです。これが適用されるのは、GDS構成に1つのリージョンのみが存在する場合や、複数のリージョンが存在するが、単一のデータベースと連携するように設計された既存のクライアントの接続文字列を変更する見込みがない場合です。REGION
パラメータを指定しない場合、クライアントのリージョンは、グローバル・サービスへの接続に使用されるグローバル・サービス・マネージャのリージョンであるとみなされます。
注意: 12cより前のThin JDBCクライアントは、接続文字列でリージョン・パラメータが指定されていない場合、単一のリージョンを含むGDS構成でのみ使用できます。 |
Oracle Database 12c 以上の統合クライアントは、Oracle Notification Services (ONS)を使用して、ロード・バランシングおよび高速接続フェイルオーバー(FCF)をサポートする高速アプリケーション通知(FAN)イベントを受信します。統合クライアントは、クライアントのローカル・リージョンとバディ・リージョンのそれぞれにあるグローバル・サービス・マネージャと同じ場所に存在する最大3つのONSサーバーに、ユーザー構成なしで自動的にサブスクライブします。
注意: SSLを使用してONSサーバーへの接続を保護する必要がある場合、自動ONS構成はサポートされません。手動でONSを構成してSSLを有効にする必要があります。ONSを手動で構成する方法の詳細は、クライアント固有のガイドを参照してください。 |
12cより前のクライアントに関する注意:
12cより前のOCIおよびODP.NETクライアントでは、グローバル・サービスがサポートされません。
12cより前のJDBCクライアントでは、グローバル・サービスがサポートされますが、クライアントのローカル・リージョンとバディ・リージョンにあるグローバル・サービス・マネージャと同じ場所に存在するONSサーバーにサブスクライブするようにそれを手動で構成する必要があります。ベスト・プラクティスは、クライアントのローカル・リージョンとバディ・リージョンのそれぞれにある3つのONSサーバーにサブスクライブすることです。
ONSサブスクリプションを構成する方法の詳細は、『Oracle Database JDBC開発者ガイド』を参照してください。
FANおよびFCF用の統合クライアントの構成
GDS構成のデータベース全体を対象とするクライアント接続のロード・バランシングおよび高速接続フェイルオーバー(FCF)は、Oracle Databaseの統合クライアントによってサポートされますが、FANおよびFCF用にこれらのクライアントを構成する必要があります。
クライアントのFANおよびFCF構成要件の詳細は、次のクライアント固有のプログラマーズ・ガイドのいずれかを参照してください。
『Oracle Database JDBC開発者ガイド』
『Oracle Universal Connection Pool for JDBC開発者ガイド』
Oracle Database開発ガイド
Oracle Data Provider for .NETの開発者ガイド
GDSカタログには、GDS構成全体のメタデータが格納されるため、カタログ・データが損失または破損すると、それを手動で再作成するために相当の作業が必要になる可能性があります。GDSカタログが使用できなくなってもコアGDS機能(ロード・バランシング、サービス・フェイルオーバー、アプリケーション通知など)には影響がありませんが、カタログがリストアされるまでGDS構成を変更することはできません。そのため、GDSカタログを保護する計画を作成することが重要です。
GDSカタログをOracle RACやData GuardなどのHAテクノロジで保護している場合でも、定期的にGDSカタログをバックアップすることを強くお薦めします。カタログ・データをファイルにエクスポートすると、カタログの論理バックアップを作成できます。このGDSカタログのバックアップは、障害時リカバリ・シナリオの際や、最後にバックアップが作成されて以降にカタログに加えられた変更を元に戻す必要がある場合に役立ちます。バックアップは、GDSカタログを新しいデータベースに移動する場合にも使用できます。
GDSカタログ・データをファイルにエクスポートするには、カタログに接続していることを確認して次のコマンドを実行します。
GDSCTL> export catalog file_name_with_full_path
GDSCTLが実行されているシステム上の指定したファイルにカタログ構成が保存されます。ファイルにはプール・データベースの接続文字列などの機密情報が含まれる可能性があるため、ファイルへのアクセスは、Global Data Services管理者に制限する必要があります。
注意:
|
バックアップ・ファイルからGDSカタログ・データをリストアするには、カタログ・データベースに接続して次のコマンドを発行します。
GDSCTL> import catalog file_name_with_full_path
カタログ・データのインポートが完了すると、プール・データベースが自動的に同期化されます(「sync database」
のsync databaseコマンドの説明を参照してください)。使用できるグローバル・サービス・マネージャが存在しない場合、このアクションは、グローバル・サービス・マネージャがカタログに登録されるまで遅延されます。
インポートが完了してすべてのデータベースが同期化された後に、カタログを検証することをお薦めします。
注意: 変更されているファイルからGDSカタログをリストアしようとすると、カタログが破損する可能性があります。チェックサムなどを使用してバックアップ・ファイルの一貫性をチェックすることは、GDS管理者の責任です。 |
新しいデータベースにカタログを移動する場合、最初にそのデータベースに空のカタログを作成する必要があります(「Global Data Servicesカタログの作成」を参照してください)。その後で、前の項の説明に従ってimport catalog
コマンドを実行できます。
新しいカタログ・データベースの接続文字列が異なる場合、管理者の責任でグローバル・サービス・マネージャ・システムの接続文字列を変更します。この場合、すべてのグローバル・サービス・マネージャを再起動する必要もあります。少なくとも1つのグローバル・サービス・マネージャがカタログに登録されるまで、同期手順は完了しないため、リストア手順も終了しません。
GSMCATUSERのパスワードを変更する場合、GDSカタログに接続した状態で最初にSQL*Plusで次のコマンドを実行します。
ALTER USER gsmcatuser IDENTIFIED BY password
その後、GDSCTLで次のコマンドを実行します。
GDSCTL> modify catalog -oldpwd oldpassword -newpwd newpassword