2 Global Data Servicesフレームワークの構成

Global Data Servicesフレームワークは、1つ以上のグローバル・サービス・マネージャ、Global Data Servicesカタログおよび各GDS構成データベースで構成されます。Oracle Database 12cをインストールすると、フレームワークの一部のコンポーネントがインストールされます。他のコンポーネントについては、Global Data Services制御ユーティリティ(GDSCTL)を使用して特定のタスクを実行する必要があります。

この章の内容は次のとおりです。

2.1 インストールのプランニング

ソフトウェアをインストールする前に、Linuxの次のハードウェア、ネットワーク、オペレーティング・システムおよび他のソフトウェア要件を確認してください。

  • すべてのGDSプール・データベースが、すべてのグローバル・サービス・マネージャのリスナー・ポートおよびONSポートに(双方向で)接続できる必要があります。また、グローバル・サービス・マネージャのリスナー・ポートおよびONSポートが、アプリケーション層とクライアント層、すべてのGDSプール・データベース、GDSカタログおよびその他すべてのグローバル・サービス・マネージャに対して開いている必要もあります。

  • 各GDSプール・データベースのTNSリスナー・ポート(デフォルト: 1521)が、グローバル・サービス・マネージャおよびGDSカタログに対して(双方向で)開いている必要があります。

  • 別のマシンからGDSCTLを実行している場合は、そのマシンから、追加される各GDSプール・データベースに対して直接(双方向で)開いているポートも必要です。

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-...がシステムで使用可能

2.2 グローバル・サービス・マネージャのインストールに関する必知事項

グローバル・サービス・マネージャは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章を参照してください。

2.3 グローバル・サービス・マネージャのインストール

グローバル・サービス・マネージャをインストールするには、次のようにします。

  1. ソフトウェア・メディアのルート・ディレクトリからOracle Universal Installerを起動し、プロンプトに従います。

    インストールが完了すると、グローバル・サービス・マネージャのホーム・ディレクトリにグローバル・サービス・マネージャとグローバル・サービス・マネージャ制御ユーティリティ(GDSCTL)の実行に必要なバイナリが含まれています。

  2. ORACLE_HOME環境変数をインストール時に指定したディレクトリに設定します。
  3. グローバル・サービス・マネージャ用に作成された$ORACLE_HOME/binディレクトリをPATH環境変数に追加します。
  4. TNS_ADMIN環境変数を$ORACLE_HOME/network/adminに設定します。

2.3.1 グローバル・サービス・マネージャのサイレント・インストールの実行

コマンドラインでグローバル・サービス・マネージャのインストールを実行できます。

  1. OTNまたはedelivery.oracle.comからグローバル・サービス・マネージャ・ソフトウェアをダウンロードして解凍します。
    linuxx6412201_gsm.zipを解凍すると、gsm/responseディレクトリが生成され、そこにgsm_install.rspという名前のレスポンス・ファイルが含まれています。
  2. ご使用の環境にあわせてresponse/gsm_install.rspを編集します。

    次の変数を編集することをお薦めします。

    • ORACLE_HOME

    • ORACLE_BASE

    • INVENTORY_LOCATION

    • UNIX_GROUP_NAME

  3. サイレント・モードでインストーラを実行します。
    ./runinstaller -silent  -responseFile  response/gsm_install.rsp -showProgress
     –ignorePrereq
  4. ルート・ユーザーとして次のスクリプトを実行します。
    /scratch/oraInventory/orainstRoot.sh
    /scratch/user/product/12.2.0/gsmhome_1/root.sh

2.4 Global Data Servicesのアップグレードに関する必知事項

分散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インフラストラクチャのローリング・アップグレードを実行できます。

2.5 Global Data Servicesのアップグレード

推奨されるアップグレード順序は次のとおりです。

  1. カタログ・データベースをアップグレードします。最高の結果を得るには、ローリング・データベース・アップグレードを使用してこれを実行する必要があります(ただし、カタログが使用できない場合、アップグレード中にグローバル・サービスは引き続き使用可能ですが、サービス・フェイルオーバーは発生しません)。

    注意:

    12.1.0.2パッチ・リリースが適用されたOracle Database 12cリリース1をアップグレードする場合、カタログ・データベースのアップグレード後に次のコマンドを実行する必要があります。

    modify catalog -newkeys

    このコマンドによって、暗号化鍵が生成され、GDSカタログに格納された既存のGSMUSRパスワードが暗号化されます。

  2. GDSCTLクライアントを実行するために使用されるグローバル・サービス・マネージャ・インストールをアップグレードします(存在する場合でも、グローバル・サービス・マネージャ・サーバーは実行しません)。

    注意:

    グローバル・サービス・マネージャのアップグレードはインプレースで実行する必要がありますが、次のプラットフォームの各ファイルに対するアクセス権が755に更新されていない場合、インプレース・アップグレードによって間違ったエラー・メッセージが表示されます。

    Linux/Solaris64/Solaris Sparc64の場合:

    $ORACLE_HOME/QOpatch/qopiprep.bat

    $ORACLE_HOME/jdk/bin/jcontrol

    $ORACLE_HOME/jdk/jre/bin/jcontrol

    AIXの場合:

    $ORACLE_HOME/QOpatch/qopiprep.bat

    $ORACLE_HOME/jdk/jre/bin/classic/libjvm.a

    $ORACLE_HOME/jdk/bin/policytool

    HPIの場合:

    $ORACLE_HOME/jdk/jre/lib/IA64N/server/Xusage.txt

    $ORACLE_HOME/jdk/jre/bin/jcontrol

    $ORACLE_HOME/QOpatch/qopiprep.bat

    Windowsでは、エラー・メッセージは予期されません。

  3. すべてのグローバル・サービス・マネージャ・サーバーの停止、アップグレードおよび再起動を1つずつ行います。停止時間をなくすには、必ず1つ以上のグローバル・サービス・マネージャ・サーバーが実行されている必要があります。カタログより前のバージョンのグローバル・サービス・マネージャ・サーバーは、カタログに変更が発生するまで完全に動作し続けます。
  4. プール・データベース管理者の判断で、グローバル・サービス・マネージャとカタログ・データベースのアップグレードの前か後に、任意の順序でプール・データベースをアップグレードします。

2.6 GDSCTLの使用

GDSCTLユーティリティは、Global Data Servicesフレームワークを構成および管理するためのコマンドライン・インタフェースです。いくつかのコマンドを実行するには、GDSCTLは、グローバル・サービス・マネージャ、Global Data Servicesカタログ・データベース、またはGlobal Data Services構成のデータベースとの接続を確立する必要があります。

2.6.1 使用上の注意

注意:

指定がない場合、GDSCTLは現在の名前の解決方法(TNSNAMESなど)を使用して接続文字列を解決します。例外は、グローバル・サービス・マネージャ名です。グローバル・サービス・マネージャ名を解決するには、GDSCTLはgsm.oraファイルに問い合せます。

GDSCTLを起動するには、オペレーティング・システムのプロンプトで、次のコマンドを入力します。

$ gdsctl

前述のコマンドでGDSCTLが起動され、GDSCTLコマンド・プロンプトが表示されます。GDSCTLコマンドは、次の例に示すように、オペレーティング・システム・プロンプトでもGDSCTLコマンド・プロンプトでも入力できます。

$ gdsctl add gsm -gsm gsm1 -catalog 127.0.0.1:1521:db1

GDSCTL> add gsm -gsm gsm1 -catalog 127.0.0.1:1521:db1

前述のどちらのコマンドでも同じ結果が得られます。1つ目のコマンドはオペレーティング・システム・コマンド・プロンプトで実行され、2つ目のコマンドはGDSCTLコマンド・プロンプトで実行されます。このドキュメントのコマンド構文の例では、GDSCTLコマンド・プロンプトを使用します。

注意:

  • GDSCTLコマンドの多くで、コマンドを実行する前にまずGlobal Data Servicesカタログに接続する必要があります。

    GDSCTLプロンプトからコマンドを実行する場合、Global Data Servicesカタログとの接続を必要とする最初のGDSCTLコマンドの前に、connectコマンドを実行する必要があります。connectコマンドは、GDSCTLセッションで1回実行するのみで済みます。

  • GDS構成にデータベースまたはブローカ構成を追加する場合、接続記述子のかわりにネット・サービス名を指定できます。ネット・サービス名を指定する場合、それはGDS構成の各グローバル・サービス・マネージャで、追加されるエンティティへの接続を可能にする接続記述子に解決できる必要があります。

また、すべてのGDSCTLコマンドを1つのファイルにまとめ、次のようにバッチとして実行できます。

$ gdsctl @script_file_name

前述のコマンドはGDSCTLを起動し、指定されたスクリプト・ファイルに含まれるコマンドを実行します。

GDSCTLヘルプの使用

GDSCTLのヘルプは次のようにして表示できます。

  • GDSCTL> help: helpコマンドではすべてのGDSCTLコマンドのサマリーが表示されます。helpの後にコマンド名を指定すると、そのコマンドのヘルプ・テキストが表示されます。

  • GDSCTL> command -h: この構文では、指定されたコマンドのヘルプ・テキストが表示されます。commandはコマンド名です。

次の例では、startコマンドの同じヘルプ・テキストが表示されます。

GDSCTL> help start
GDSCTL> start -h

権限およびセキュリティ

適切な権限を持つユーザーのみがGDSCTLコマンドを実行できます。

関連項目:

GDSCTLの権限とセキュリティの詳細は、「Global Data Servicesの管理の概要」を参照してください

2.6.2 GDSCTLコマンドの構文およびオブジェクト

GDSCTLコマンドの構文とオプション

GDSCTLのコマンド、オブジェクトおよびオプションと、データベース名、インスタンス名、Global Data Servicesリージョン名、Global Data Servicesプール名、サービス名ではすべて大文字/小文字が区別されません。パスワードとサーバー・プール名でも大文字/小文字が区別されます。GDSCTLでは次のコマンド構文を使用します。

$ gdsctl command [object] [options] [argument]
or
GDSCTL> command [object] [options] [argument]

GDSCTL構文では次のようになります。

  • command: addstartstopremoveなどの動詞

  • object(名詞とも呼ばれる): servicedatabaseなど、GDSCTLがコマンドを実行するターゲットまたはオブジェクト。オブジェクトのリストは、表2-1を参照してください。

  • options: その前のコマンドと組み合せてコマンドのパラメータを追加できるように拡張するオプション・フラグ。たとえば、-gdspoolオプションは、特定のGlobal Data Servicesプールの名前が続くことを示します。カンマ区切りリストをオプションに続ける場合、リスト内の項目の間に空白を使用しないでください。

  • argument: オブジェクトに対するアクションを指定したり、オブジェクトを使用しないGDSCTLに対するアクションを指定するGDSCTLコマンドの追加変数。

GDSCTLオブジェクトのサマリー

表2-1に、GDSCTLコマンドのobject部分に使用できるキーワードを示します。各オブジェクト・キーワードとして、完全な名前または短縮形のいずれかを使用できます。「目的」列に、オブジェクトとそのオブジェクトに実行できるアクションを記述します。

表2-1 GDSCTLのオブジェクトのキーワードと短縮形

オブジェクト キーワード(短縮形) 目的

Global Data Servicesカタログ

autovncr

データベース登録の登録用有効ノード・チェック(VNCR)リストを有効化または無効化します。

Oracle Data Guard Broker構成

brokerconfig

Oracle Data Guard Broker構成の追加、変更および管理。Oracle Data Guard Brokerでは、プライマリ・データベースとスタンバイ・データベースが、統合ユニットとしてブローカがまとめて管理および監視できるようにブローカ構成として論理的にグループ化されます。

Global Data Servicesカタログ

catalog

Oracleデータベースに格納されているGlobal Data Servicesカタログの管理。

データベース

database

データベースに関するデータベース構成情報の追加、変更および削除。

Global Data Servicesプール

gdspool

Global Data Servicesプールの追加、変更および管理。Global Data Servicesプールは、GDS構成内の各データベースのセットであり、一意のグローバル・サービス・セットを提供し、特定の管理ドメインに属しています。

グローバル・サービス・マネージャ

gsm

グローバル・サービス・マネージャの追加、変更および管理。グローバル・サービス・マネージャは、サービス・レベルのロード・バランシング機能と、Global Data Services構成における一元的なサービス管理の機能を持つソフトウェア・コンポーネントです。

Global Data Servicesカタログ

invitednode

Global Data Servicesカタログの登録用有効ノード・チェック(VNCR)リストにホスト・アドレス情報を追加します。

Global Data Servicesカタログ

invitedsubnet

Global Data Servicesカタログの登録用有効ノード・チェック(VNCR)リストにサブネット情報を追加します。

Global Data Servicesリージョン

region

Global Data Servicesリージョンの追加、変更および管理。Global Data Servicesリージョンは、地理的に近いと考えられるデータベース・クライアントとサーバーを含む論理境界です。

サービス

service

グローバル・サービスに対する追加、変更、構成表示、有効化、無効化、起動、停止、ステータス取得、再配置および削除。

2.6.3 GDSCTL接続

特定の操作では、GDSCTLによるグローバル・サービス・マネージャへの接続を必要とします。グローバル・サービス・マネージャに接続するには、GDSCTLがグローバル・サービス・マネージャと同じホストで実行される必要があります。グローバル・サービス・マネージャに接続する際、GDSCTLは、ローカル・グローバル・サービス・マネージャに関連付けられているgsm.oraファイルを検索します。

次に、グローバル・サービス・マネージャへの接続を必要とするGDSCTL操作を示します。

  • add gsmでは、グローバル・サービス・マネージャを追加します。

  • start gsmでは、グローバル・サービス・マネージャを起動します。

  • stop gsmでは、グローバル・サービス・マネージャを停止します。

  • modify gsmでは、グローバル・サービス・マネージャの構成パラメータを変更します。

  • status gsmでは、グローバル・サービス・マネージャのステータスを返します。

  • set inbound_connect_levelでは、INBOUND_CONNECT_LEVELリスナー・パラメータを設定します。

  • set trace_levelでは、指定されたグローバル・サービス・マネージャに関連付けられているリスナーのトレース・レベルを設定します。

  • set outbound_connect_levelでは、指定されたグローバル・サービス・マネージャに関連付けられているリスナーのアウトバウンド接続のタイムアウト値を設定します。

  • set log_levelでは、特定のグローバル・サービス・マネージャに関連付けられているリスナーのログ・レベルを設定します。

他のすべての操作では、GDSCTLは、Oracle Net Servicesを使用してGlobal Data Servicesカタログ・データベースまたはGlobal Data Services構成の別のデータベースに接続します。これらの接続の場合、必要なネットワーク構成を持つクライアントまたはホストからGDSCTLを実行できます。

2.7 Global Data Servicesカタログの作成に関する必知事項

すべての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カタログの要件

  • 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 ****;
    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> create gdscatalog -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カタログを保護できます。

Oracle GoldenGateを使用する場合、Global Data Servicesカタログがセカンダリ・データベースにレプリケートされていることを確認します。

関連項目:

使用方法の詳細は、「create gdscatalog」を参照してください

2.8 Global Data Servicesカタログの作成

次のようにGDSCTLがインストールおよび構成されているホストでGDSCTLを使用し、Global Data Servicesカタログを作成します。

GDSCTL> create gdscatalog -database db_name -user user_name

関連項目:

create gdscatalog

2.9 Global Data Servicesカタログへのグローバル・サービス・マネージャの追加

グローバル・サービス・マネージャを起動するには、Global Data Servicesカタログに登録する必要があります。

グローバル・サービス・マネージャを追加するには、次のようにします。

  1. 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;
    
  2. グローバル・サービス・マネージャを実行するホストで次のコマンドを実行します。
    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パスワードの入力を求められます。

    関連項目:

    使用方法の詳細は、「add gsm」を参照してください

  3. グローバル・サービス・マネージャを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ファイルが必要です。

2.10 Global Data Servicesカタログへの接続

GDSCTLコマンドの多くはGlobal Data Servicesカタログへの接続を必要とします。次の2つの方法のいずれかを使用してGlobal Data Servicesカタログに接続します。

メソッド1

次のようにしてGlobal Data Servicesカタログに接続します。

GDSCTL> connect [user_name]@connect_identifier

パスワードを指定せずに前述のコマンドを実行すると、次の例に示すようにGDSCTLからパスワードの入力を求められます。

GDSCTL> connect gsm_admin@catalog
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という名前のホストで実行されます。

関連項目:

使用方法の詳細は、「connect」を参照してください

メソッド2

オペレーティング・システム・プロンプトからGDSCTLコマンドを実行するには、Global Data Servicesカタログに接続する必要のあるコマンドに-catalogパラメータを付加します。

次に例を示します。

$ gdsctl add gdspool -gdspool hr -catalog  mygdscatlog

username:Robert
password:

Global Data Servicesの場所は変わることがあるため、GDSCTLはグローバル・サービス・マネージャをリスナーとして使用してGlobal Data Servicesカタログに接続します。グローバル・サービス・マネージャは場所の変更を記録し、接続リクエストを転送することができます。

2.11 Global Data Servicesプールの追加に関する必知事項

注意:

  • 必要なGlobal Data Servicesプールが1つのみの場合、この手順を使用して追加する必要はありません。Global Data Servicesカタログを作成すると、デフォルトのGlobal Data ServicesプールDBPOOLORAが作成されます。

  • Global Data Services管理者は、GDSCTLコマンドを実行してGlobal Data Servicesプールを管理する権限を持ち、プールが1つのみの場合、Global Data Services管理者がプールも管理します。

  • gdsctl add gdspoolコマンドの実行時にユーザーを指定する場合、Global Data Servicesカタログが配置されている場所のローカルDBAは、まずカタログ・データベースにユーザーを追加する必要があります。

大規模データベース・クラウドでは、異なる管理者が管理する複数のGlobal Data Servicesプールが必要になることがあります。

次に例を示します。

GDSCTL> add gdspool -dbpool hr -users rjones

前述の例では、hrという名前のGlobal Data Servicesプールを追加し、ユーザーrjonesを追加します。このユーザーにはhrプールを管理する権限が割り当てられます。権限によって、プールの管理者は、データベースをプールに追加したり、プール内のデータベースでグローバル・サービスを管理したりできます。

Global Data Servicesプールには、そのGDS構成内で一意の名前を付ける必要があります。作成時にプールの名前を指定しない場合、その名前はデフォルトでoradbpoolになります。プール名の長さは最大30バイトで、任意の有効な識別子(先頭は英字でその後に0個以上のASCII英数字またはアンダースコア(_)を続ける)を使用できます。

2.12 Global Data Servicesプールの追加

Global Data Servicesカタログに接続していることを確認し、次のようにして特定のユーザーによって管理されるプールを追加します。

GDSCTL> add gdspool -dbpool database_pool_list [-users user_list]

2.13 Global Data Servicesリージョンの追加に関する必知事項

注意:

必要なGlobal Data Servicesリージョンが1つのみの場合、この手順を使用して追加する必要はありません。Global Data Servicesカタログを作成すると、デフォルトのGlobal Data ServicesリージョンREGIONORAが作成されます。

次に例を示します。

GDSCTL> add region –region west,east

前述の例では、2つのリージョンeastおよびwestをGlobal Data Servicesフレームワークに追加します。

Global Data Servicesリージョンの名前は、対応するGlobal Data Services構成内で一意である必要があります。最初のリージョンの作成時に名前を指定しない場合、そのリージョンにはoraregionというデフォルト名が付けられます。リージョン名の長さは最大30文字で、任意の有効な識別子(先頭は英字でその後に0個以上のASCII英数字または「_」を続ける)を使用できます。

2.14 グローバル・データ・サービス・リージョンの追加

Global Data Servicesカタログに接続していることを確認し、次のようにしてGlobal Data Servicesリージョンを追加します。

GDSCTL> add region –region region_list

2.15 Global Data Servicesプールへのデータベースの追加

グローバル・サービスを提供するには、データベースが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設定も必要です。

データベースを追加をするには:

  1. 次のようにGlobal Data ServicesプールまたはGlobal Data Services管理者の資格証明を使用してGlobal Data Servicesカタログに接続します。
    GDSCTL>connect rjones@catalog
    
  2. gdsctl add databaseコマンドを実行します。
    GDSCTL>add database -connect edc007:1521/db14.east.example.com -region east
     -gdspool hr

    この例では、edc007:1521/db14.east.example.comがデータベースの接続識別子であり、このデータベースのGSMUSERアカウント・パスワードを求めるプロンプトが表示されます。

注意:

プールにすでにデータベースが含まれ、プールにグローバル・サービスが関連付けられている場合、サービスは新しいデータベースで自動的に作成されます。

2.15.1 登録用有効ノード・チェック

登録用有効ノード・チェック(VNCR)機能では、グローバル・サービス・マネージャによって許可された登録リクエストのIPアドレス、ホスト名またはサブネットのセットの構成や動的な更新が可能になります。データベース・インスタンスのグローバル・サービス・マネージャでの登録は、リクエストが有効なノードからの場合にのみ成功します。

デフォルトでは、gdsctl add databaseコマンドが実行されるたびに、Global Data Servicesフレームワークは、リモート・データベースが実行されているホストのVNCRエントリを自動的に追加します。この自動化機能(自動VNCR)では、ホスト名エントリがローカルhostsファイルまたはネーム・サーバーのいずれかに存在する必要があります。グローバル・サービス・マネージャが実行されるいずれかのノードでリモート・ホストが異なる名前で識別される場合、Global Data Services管理者は、gdsctl add invitednodeコマンドを実行してGlobal Data Servicesカタログに手動でVNCRエントリを追加する必要があります。

関連項目:

使用方法の詳細は、「add invitednode (add invitedsubnet)」を参照してください

2.16 Global Data Servicesプールへのサービスの追加

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コマンドで、完全修飾ドメイン・サービス名を使用する必要があります。

Oracle RACが有効なプール・データベースの場合は、サービスが追加された後に、次の例に示すようにGDSCTL modify serviceを実行して、特定のグローバル・サービスを実行するOracle RACインスタンスを指定します。

GDSCTL> modify service -service emp_report1 -gdspool hr - database db14
 -modify_instances -preferred db14_n1, db14_n2

グローバル・サービス名は、GDSプール内で一意である必要があり、ドメイン修飾されている場合はGDS構成内でも一意である必要があります。グローバル・サービスは、データベースに同じ名前のローカル・サービスまたはグローバル・サービスがすでに存在する場合、そのデータベースで作成できません。

グローバル・サービス名には、英数字、「_」および「.」を含めることができます。最初の文字は英数字にする必要があります。グローバル・サービス名の長さは最大64文字です。ドメイン修飾されたグローバル・サービス名の長さは、最大250文字です。

グローバル・サービスに接続するために使用されるOracle Net接続記述子には、ドメイン修飾されたサービス名を含める必要があります。

関連項目:

使用方法の詳細は、add serviceおよびmodify serviceを参照してください

2.17 グローバル・サービスの起動

gdsctl start serviceコマンドを使用して、Global Data Servicesプール・データベースで既存のサービスを起動します。

GDSCTL>start service -service emp_report1 -gdspool hr

サービスに-roleパラメータが指定されている場合、サービスは、指定された値にロールが適合するデータベースでのみ起動します。サービスに-lagパラメータが指定されている場合、サービスは、レプリケーション・ラグが指定された値を超えないデータベースでのみ起動します。サービスに-preferred_allが指定されていない場合、サービスは、サービスの優先データベースとしてリストされているデータベースでのみ起動します。

注意:

管理者管理データベースで実行されるサービスを起動する前に、データベースがサービスを実行するインスタンスを指定するように変更する必要があります。modify serviceコマンドの-modify_instancesパラメータを参照してください。

2.18 データベース・クライアントの構成

データベース・クライアントは、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構成要件の詳細は、次のクライアント固有のプログラマーズ・ガイドのいずれかを参照してください。

2.19 論理バックアップ用のGDSカタログ・データのエクスポートに関する必知事項

GDSカタログには、GDS構成全体のメタデータが格納されるため、カタログ・データが損失または破損すると、それを手動で再作成するために相当の作業が必要になる可能性があります。GDSカタログが使用できなくなってもコアGDS機能(ロード・バランシング、サービス・フェイルオーバー、アプリケーション通知など)には影響がありませんが、カタログがリストアされるまでGDS構成を変更することはできません。そのため、GDSカタログを保護する計画を作成することが重要です。

GDSカタログをOracle RACやData GuardなどのHAテクノロジで保護している場合でも、定期的にGDSカタログをバックアップすることを強くお薦めします。カタログ・データをファイルにエクスポートすると、カタログの論理バックアップを作成できます。このGDSカタログのバックアップは、障害時リカバリ・シナリオの際や、最後にバックアップが作成されて以降にカタログに加えられた変更を元に戻す必要がある場合に役立ちます。バックアップは、GDSカタログを新しいデータベースに移動する場合にも使用できます。

GDSCTLが実行されているシステム上の指定したファイルにカタログ構成が保存されます。ファイルにはプール・データベースの接続文字列などの機密情報が含まれる可能性があるため、ファイルへのアクセスは、Global Data Services管理者に制限する必要があります。

注意:

  • カタログをエクスポートする前に、カタログ・データに不整合がないことを確認するためにカタログを検証することを強くお薦めします。validate catalogコマンドでエラーがレポートされた場合、カタログ・データをエクスポートする前に修正する必要があります。

  • エクスポートしたカタログ・データが含まれるファイルは変更しないでください。カタログを変更すると、カタログ・リストアにこのファイルを使用できなくなるか、リストア後にカタログが破損する可能性があります。バックアップ・ファイルとともにファイル・チェックサムも格納することをお薦めします。ファイルが変更された場合は、カタログ構成のリストアを行わないでください。

2.19.1 論理バックアップ用のGDSカタログ・データのエクスポート

GDSカタログ・データをファイルにエクスポートするには、カタログに接続していることを確認して次のコマンドを実行します。

GDSCTL> export catalog file_name_with_full_path

2.19.2 GDSカタログの論理バックアップの同じカタログ・データベースへのリストア

バックアップ・ファイルからGDSカタログ・データをリストアするには、次のようにします。

カタログ・データベースに接続して、次のコマンドを発行します。

GDSCTL> import catalog file_name_with_full_path

カタログ・データのインポートが完了すると、プール・データベースが自動的に同期化されます(「sync database (synchronize database)」sync databaseコマンドの説明を参照してください。)使用できるグローバル・サービス・マネージャが存在しない場合、このアクションは、グローバル・サービス・マネージャがカタログに登録されるまで遅延されます。

インポートが完了してすべてのデータベースが同期化された後に、カタログを検証することをお薦めします。

注意:

変更されているファイルからGDSカタログをリストアしようとすると、カタログが破損する可能性があります。チェックサムなどを使用してバックアップ・ファイルの一貫性をチェックすることは、GDS管理者の責任です。

2.19.3 GDSカタログの論理バックアップの新しいカタログ・データベースへのリストア

新しいデータベースにカタログを移動する場合、最初にそのデータベースに空のカタログを作成する必要があります(「Global Data Servicesカタログの作成に関する必知事項」を参照してください)。その後で、前の項の説明に従ってimport catalogコマンドを実行できます。

新しいカタログ・データベースの接続文字列が異なる場合、管理者の責任でグローバル・サービス・マネージャ・システムの接続文字列を変更します。この場合、すべてのグローバル・サービス・マネージャを再起動する必要もあります。少なくとも1つのグローバル・サービス・マネージャがカタログに登録されるまで、同期手順は完了しないため、リストア手順も終了しません。

2.20 GSMCATUSERのパスワードの変更

GSMCATUSERパスワードを変更するには、次のようにします。

  1. GDSカタログに接続した状態で、SQL*Plusで次のコマンドを実行します。
    ALTER USER gsmcatuser IDENTIFIED BY ****
    
  2. その後、GDSCTLで次のコマンドを実行します。
    GDSCTL> modify catalog -oldpwd oldpassword -newpwd newpassword