適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity Editionは、現在アービトレーションサービス機能をサポートしていません。
アービトレーションサービスが不要になった場合、またはアービトレーションサービスに障害が発生した場合、クラスタからアービトレーションサービスを削除できます。
前提条件
アービトレーションサービスを削除する前に、すべてのテナント(sys テナントを含む)のアービトレーションサービスが無効になっていることを確認してください。アービトレーションサービスが無効になっていないテナントがある場合、削除操作時にエラーが発生します。アービトレーションサービスを無効にする詳細な操作については、アービトレーションサービスを無効にするを参照してください。
操作手順
rootユーザーでクラスタのsysテナントにログインします。接続例は以下のとおりです。データベースへの接続時は、実際の環境に基づいてください。
obclient -h10.xx.xx.xx -P2883 -uroot@sys#obdemo -p***** -Aデータベース接続の詳細な操作ガイドについては、データベース接続の概要(MySQLモード)およびデータベース接続の概要(Oracleモード)を参照してください。
以下のコマンドを実行して、アービトレーションサービスを削除します。
ALTER SYSTEM REMOVE ARBITRATION SERVICE 'arb_server_ip:arb_server_port';関連パラメータの説明は以下のとおりです:
arb_server_ip:削除対象のアービトレーションサービスのIPアドレスを表します。arb_server_port:削除対象のアービトレーションサービスのRPCポートを表します。デフォルトは2882です。
例:
ALTER SYSTEM REMOVE ARBITRATION SERVICE 'xx.xx.xx.192:2882';削除コマンドの実行が成功した場合、そのアービトレーションサービスが削除前に正常な状態であれば、システムは自動的にそのアービトレーションサーバー上に残存するクラスタ情報をクリーンアップします。一方、アービトレーションサービスが削除前に障害状態であった場合、システムは警告メッセージを表示し、アービトレーションサービスの削除後も元のアービトレーションサーバー上にクラスタ関連情報が残存していることを示します。そのため、ob_adminツールを使用して手動で残存情報をクリーンアップするかどうか選択する必要があります。残存するクラスタ情報の詳細な操作については、残存するクラスタ情報のクリーンアップを参照してください。
警告メッセージを確認するステートメントは以下のとおりです。
SHOW WARNINGS;警告メッセージは以下のとおりです。
+---------+-------+--------------------------------------------------------------------------------------------------------------------------+ | Level | Code | Message | +---------+-------+--------------------------------------------------------------------------------------------------------------------------+ | Warning | 4757 | Cluster info may remain on arbitration server 'xx.xx.xx.192:2882', please make sure whether to use ob_admin to clean it. | +---------+-------+--------------------------------------------------------------------------------------------------------------------------+ 1 rows in set(オプション)アービトレーションサービスの削除が成功した後、
DBA_OB_ROOT_SERVICE_EVENT_HISTORYビューで指定されたmoduleを照会することで、アービトレーションサービスの削除履歴を確認できます。ステートメントは以下のとおりです:
SELECT * FROM oceanbase.DBA_OB_ROOTSERVICE_EVENT_HISTORY WHERE module LIKE "%arb_service%";クエリ結果は以下のとおりです:
+----------------------------+-------------+-----------------------------------+-------+--------+-------+--------------------------------------------------------------------------------------------------+-------+--------+-------+--------+-------+--------+-------+--------+------------+----------------+-------------+ | TIMESTAMP | MODULE | EVENT | NAME1 | VALUE1 | NAME2 | VALUE2 | NAME3 | VALUE3 | NAME4 | VALUE4 | NAME5 | VALUE5 | NAME6 | VALUE6 | EXTRA_INFO | RS_SVR_IP | RS_SVR_PORT | +----------------------------+-------------+-----------------------------------+-------+--------+-------+--------------------------------------------------------------------------------------------------+-------+--------+-------+--------+-------+--------+-------+--------+------------+----------------+-------------+ | 2023-06-26 19:30:19.245664 | arb_service | admin_add_arbitration_service | ret | 0 | arg | {arbitration_service_:"xx.xx.xx.192:2882"} | | | | | | | | | | xx.xx.xx.194 | 2882 | | 2023-06-30 09:42:35.623655 | arb_service | admin_replace_arbitration_service | ret | 0 | arg | {arbitration_service_:"xx.xx.xx.64:2882", previous_arbitration_service_:"xx.xx.xx.192:2882"} | | | | | | | | | | xx.xx.xx.194 | 2882 | | 2023-06-30 09:51:09.756970 | arb_service | admin_remove_arbitration_service | ret | -4179 | arg | {arbitration_service_:"xx.xx.xx.192:2882"} | | | | | | | | | | xx.xx.xx.194 | 2882 | | 2023-06-30 10:10:48.858650 | arb_service | admin_replace_arbitration_service | ret | 0 | arg | {arbitration_service_:"xx.xx.xx.192:2882", previous_arbitration_service_:"172.xx.xxx.xx:2882"} | | | | | | | | | | xx.xx.xx.194 | 2882 | | 2023-06-30 10:42:32.688523 | arb_service | admin_remove_arbitration_service | ret | -4179 | arg | {arbitration_service_:"xx.xx.xx.192:2882"} | | | | | | | | | | xx.xx.xx.194 | 2882 | | 2023-06-30 10:43:41.913339 | arb_service | admin_remove_arbitration_service | ret | -4179 | arg | {arbitration_service_:"xx.xx.xx.192:2882"} | | | | | | | | | | xx.xx.xx.194 | 2882 | | 2023-06-30 10:44:05.616094 | arb_service | admin_remove_arbitration_service | ret | 0 | arg | {arbitration_service_:"xx.xx.xx.192:2882"} | | | | | | | | | | xx.xx.xx.194 | 2882 | +----------------------------+-------------+-----------------------------------+-------+--------+-------+--------------------------------------------------------------------------------------------------+-------+--------+-------+--------+-------+--------+-------+--------+------------+----------------+-------------+ 7 rows in set
次のステップ
アービトレーションサービスを削除した後、再度使用する必要がある場合は、アービトレーションサービスを再デプロイする必要があります。具体的な操作については、2レプリカとアービトレーションサービスをデプロイするOceanBaseクラスタを参照してください。
関連ドキュメント
アービトレーションサービスに関する詳細情報については、以下を参照してください: