構成のデプロイ

GDSCTLコマンドで分散データベース・トポロジの構成を完了したら、GDSCTL DEPLOYコマンドを実行してOracle Globally Distributed Database構成をデプロイします。

GDSCTL DEPLOYコマンドを実行すると、出力は次のようになります。

GDSCTL> deploy
deploy: examining configuration...
deploy: requesting Data Guard configuration on shards via GSM
deploy: shards configured successfully
The operation completed successfully

デプロイ時の処理

DEPLOYを実行すると、いくつかの処理が発生します。

  • GDSCTLは、シャード・カタログで分散データベース・トポロジ構成を調べるPL/SQLプロシージャをコールして、デプロイ可能なアンデプロイ状態のシャードが存在するかどうかを判断します。
  • デプロイする必要があるシャードについては、シャード・カタログがシャード・ディレクタに向けてシャードのデータベース・パラメータを更新して、シャードのトポロジ・メタデータを移入するようにリクエストを送信します。また、シャード・ディレクタに登録するようにシャードに指示します。
  • Oracle Data Guardレプリケーションを使用しているときに、デプロイにスタンバイ・データベースが存在している場合、シャード・ディレクタは、プライマリ・シャードでPL/SQL APIをコールしてData Guard構成を作成するか、プライマリとスタンバイのセットに既存の構成を検証します。ファスト・スタート・フェイルオーバー機能が、すべてのシャードで有効化されます。さらに、シャード・ディレクタは、そのホストでData Guardオブザーバ・プロセスを起動して、Data Guard構成を監視します。
  • デプロイされたシャードがすでに含まれている既存の分散データベースに新しいシャードを追加する場合(増分デプロイ)は、以前に実行されたDDL文が新しいシャードで実行され、すべてのシャード間でアプリケーション・スキーマが同じになるようにします。
  • 最後に、システム管理またはコンポジットのデータ分散方法を使用して分散データベースに増分デプロイを実施する場合は、バックグラウンドでの自動チャンク移動がスケジュールされます。これは、現在の構成でチャンクの数がシャード間に均等に分散されるようにするためです。このプロセスは、DEPLOYコマンドがGDSCTLに制御を戻した後で、GDSCTL CONFIG CHUNKSコマンドを使用することで監視できます。

デプロイメント成功時の表示

デプロイメントが正常に完了すると、Data Guardアクティブ・スタンバイ・シャードが使用されているときのCONFIG SHARDからの出力は、次のようになります。

GDSCTL> config shard
Name      Shard Group          Status   State     Region   Availability
--------- -------------------  -------  --------  -------  ------------
cdb1_pdb1 shardgroup_primary   Ok       Deployed  region1  ONLINE
cdb2_pdb1 shardgroup_standby   Ok       Deployed  region2  READ ONLY
cdb3_pdb2 shardgroup_primary   Ok       Deployed  region1  ONLINE
cdb4_pdb2 shardgroup_standby   Ok       Deployed  region2  READ ONLY

マウント済で未オープンのスタンバイが使用されていると、シャード・ディレクタはマウント済データベースのステータスをチェックするためにログインできないため、出力は次のようになります。

GDSCTL> config shard
Name      Shard Group         Status        State     Region   Availability
--------- ------------------  ------------- --------  -------  ------------
cdb1_pdb1 shardgroup_primary  Ok            Deployed  region1  ONLINE
cdb2_pdb1 shardgroup_standby  Uninitialized Deployed  region2  -
cdb3_pdb2 shardgroup_primary  Ok            Deployed  region1  ONLINE
cdb4_pdb2 shardgroup_standby  Uninitialized Deployed  region2  -

問題の修正方法

シャードの可用性にPENDINGが示されている場合は、トポロジ構成のADD INVITEDNODEおよびCONFIG VNCRに関連するすべてのステップが完了していることを確認します。完了していない場合は、そのステップを今すぐ完了してから、GDSCTL SYNC DATABASE -database shard_nameを実行することでシャードのデプロイメントを完了します。

GDSCTL config shardコマンド出力の「State」列に「Deployed」ではなく「Replicated」のシャードが表示されている場合、デプロイメント中にシャードはGSMリスナーに登録されませんでした。「ホスト・メタデータの追加」ADD INVITEDNODEおよびCONFIG VNCRステップが完了したと仮定すると、次のステップのいずれかで問題を解決できます。

  1. SYSとしてシャードに接続し、実行します

    alter system register reconnect;
  2. シャードPDBを停止して再起動します。

  3. すべてのGSMを停止して再起動します。

前述の3つの処理のいずれかを実行した後、CONFIG SHARDを実行してシャードの状態を確認します。