Zoneを追加する操作は、通常、クラスタの拡張シナリオで使用されます。
手順
rootユーザーでクラスタのsysテナントにログインします。接続例は以下のとおりです。データベースへの接続時は、実際の環境に合わせてください。
obclient -h10.xx.xx.xx -P2883 -uroot@sys#obdemo -p***** -Aより詳細なデータベース接続操作の手順については、データベース接続の概要(MySQLモード)およびデータベース接続の概要(Oracleモード)を参照してください。
以下のコマンドを実行し、クラスタにZoneを追加します。
ステートメントは以下のとおりです:
obclient [(none)]> ALTER SYSTEM ADD ZONE zone_name [IDC [=] 'idc_name', REGION [=] 'region_name', ZONE_TYPE [=] 'ReadWrite'];関連パラメータの説明は以下のとおりです:
zone_name:追加するZoneの名前です。各ステートメントでは、一度に1つのZoneのみの追加がサポートされます。複数のZoneを追加する必要がある場合は、このステートメントを繰り返し実行する必要があります。idc_name:Zoneが配置されるデータセンターの名前を指定します。指定しない場合、デフォルトは空です。region_name:Zoneが配置されるリージョンの名前を指定します。指定しない場合、デフォルト値はdefault_regionです。ZONE_TYPE:Zoneのタイプを指定します。現在のバージョンでは、読み書き可能なZone(ReadWrite)のみがサポートされています。指定しない場合、デフォルトは読み書き可能なZoneです。
クラスタに
zone4を追加する例は以下のとおりです:obclient [(none)]> ALTER SYSTEM ADD ZONE zone4 IDC 'hz1', REGION 'hangzhou';操作が成功した後、
oceanbase.DBA_OB_ZONESビューをクエリして確認できます。obclient [(none)]> SELECT * FROM oceanbase.DBA_OB_ZONES; +-------+----------------------------+----------------------------+----------+-----+----------+-----------+ | ZONE | CREATE_TIME | MODIFY_TIME | STATUS | IDC | REGION | TYPE | +-------+----------------------------+----------------------------+----------+-----+----------+-----------+ | zone1 | 2022-12-20 17:50:17.168745 | 2022-12-20 17:50:40.801054 | ACTIVE | HZ0 | hangzhou | ReadWrite | | zone2 | 2022-12-20 17:50:17.168745 | 2022-12-20 17:50:40.809504 | ACTIVE | HZ0 | hangzhou | ReadWrite | | zone3 | 2022-12-20 17:50:17.169804 | 2022-12-20 17:50:40.815833 | ACTIVE | SH0 | shanghai | ReadWrite | | zone4 | 2023-01-06 14:57:18.775946 | 2023-01-06 14:57:18.776974 | INACTIVE | hz1 | hangzhou | ReadWrite | +-------+----------------------------+----------------------------+----------+-----+----------+-----------+ 4 rows in setクエリ結果に新しく追加されたZoneが含まれている場合、Zoneの追加は成功したことを意味します。新しく追加されたZoneの状態は
INACTIVEです。DBA_OB_ZONESビューの詳細については、oceanbase.DBA_OB_ZONESを参照してください。Zoneを追加した後、そのZoneを使用する必要がある場合は、Zoneを起動してZoneの状態を
ACTIVEに変更する必要があります。ステートメントは以下のとおりです:
obclient [(none)]> ALTER SYSTEM START ZONE zone_name;ここで、
zone_nameは起動するZoneの名前です。例は以下のとおりです:
obclient [(none)]> ALTER SYSTEM START ZONE zone4; Query OK, 0 rows affected obclient [(none)]> SELECT * FROM oceanbase.DBA_OB_ZONES; +-------+----------------------------+----------------------------+--------+-----+----------+-----------+ | ZONE | CREATE_TIME | MODIFY_TIME | STATUS | IDC | REGION | TYPE | +-------+----------------------------+----------------------------+--------+-----+----------+-----------+ | zone1 | 2022-12-20 17:50:17.168745 | 2022-12-20 17:50:40.801054 | ACTIVE | HZ0 | hangzhou | ReadWrite | | zone2 | 2022-12-20 17:50:17.168745 | 2022-12-20 17:50:40.809504 | ACTIVE | HZ0 | hangzhou | ReadWrite | | zone3 | 2022-12-20 17:50:17.169804 | 2023-01-30 17:34:11.228474 | ACTIVE | HZ1 | hangzhou | ReadWrite | | zone4 | 2023-01-06 15:30:30.887362 | 2023-01-31 13:47:56.107429 | ACTIVE | hz1 | hangzhou | ReadWrite | +-------+----------------------------+----------------------------+--------+-----+----------+-----------+ 4 rows in set例の結果からわかるように、Zoneを正常に起動すると、新しく追加されたZoneの状態は
ACTIVEに変わります。
次のステップ
Zoneを追加した後、そのZoneが配置されている
idc_nameやregion_nameを変更する必要がある場合は、Zoneを変更することで対応できます。Zoneの変更手順の詳細については、Zoneの変更を参照してください。Zoneを追加した後、そのZoneを使用するには、そのZoneにノードを追加する必要があります。ノードの追加手順の詳細については、ノードの追加を参照してください。
関連ドキュメント
その他のZone関連の運用操作については、以下の情報を参照してください: