構成のデプロイ
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
ステップが完了したと仮定すると、次のステップのいずれかで問題を解決できます。
-
SYSとしてシャードに接続し、実行します
alter system register reconnect;
-
シャードPDBを停止して再起動します。
-
すべてのGSMを停止して再起動します。
前述の3つの処理のいずれかを実行した後、CONFIG SHARD
を実行してシャードの状態を確認します。