version:4.3.0.1
mysql> select * from dba_ob_tenants where TENANT_ID%2=0 \G
*************************** 1. row ***************************
TENANT_ID: 1002
TENANT_NAME: tnt_odc
TENANT_TYPE: USER
CREATE_TIME: 2024-06-16 14:02:26.701239
MODIFY_TIME: 2024-06-16 14:02:59.517108
PRIMARY_ZONE: RANDOM
LOCALITY: FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3
PREVIOUS_LOCALITY: NULL
COMPATIBILITY_MODE: MYSQL
STATUS: NORMAL
IN_RECYCLEBIN: NO
LOCKED: NO
TENANT_ROLE: PRIMARY
SWITCHOVER_STATUS: NORMAL
SWITCHOVER_EPOCH: 0
SYNC_SCN: 1736504501073148845
REPLAYABLE_SCN: 1736504501073148845
READABLE_SCN: 1736504501073148845
RECOVERY_UNTIL_SCN: 4611686018427387903
LOG_MODE: NOARCHIVELOG
ARBITRATION_SERVICE_STATUS: DISABLED
UNIT_NUM: 1
COMPATIBLE: 4.3.0.1
MAX_LS_ID: 1003
确认 PRIMARY_ZONE: RANDOM,然后把zone1设置为primary_zone,并且zone2优先级等于zone3
mysql> alter tenant tnt_odc PRIMARY_ZONE='zone1;zone2,zone3';
Query OK, 0 rows affected (0.06 sec)
修改后确认:
mysql> select * from dba_ob_tenants where TENANT_ID=1002\G
*************************** 1. row ***************************
TENANT_ID: 1002
TENANT_NAME: tnt_odc
TENANT_TYPE: USER
CREATE_TIME: 2024-06-16 14:02:26.701239
MODIFY_TIME: 2025-01-10 18:22:05.336706
PRIMARY_ZONE: zone1;zone2;zone3
LOCALITY: FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3
PREVIOUS_LOCALITY: NULL
COMPATIBILITY_MODE: MYSQL
STATUS: NORMAL
IN_RECYCLEBIN: NO
LOCKED: NO
TENANT_ROLE: PRIMARY
SWITCHOVER_STATUS: NORMAL
SWITCHOVER_EPOCH: 0
SYNC_SCN: 1736504535293326649
REPLAYABLE_SCN: 1736504535293326649
READABLE_SCN: 1736504535136367112
RECOVERY_UNTIL_SCN: 4611686018427387903
LOG_MODE: NOARCHIVELOG
ARBITRATION_SERVICE_STATUS: DISABLED
UNIT_NUM: 1
COMPATIBLE: 4.3.0.1
MAX_LS_ID: 1003
1 row in set (0.02 sec)
为什么这里显示的优先级是zone1>zone2>zone3,而不是zone1>zone2=zone3 呢?