【 使用环境 】 测试环境
【 OB or 其他组件 】
【 使用版本 】oceanbase-ce-4.3.5.1
【问题描述】 创建空备租户报错:
CREATE STANDBY TENANT IF NOT EXISTS haiyisec LOG_RESTORE_SOURCE = “SERVICE=10.22.10.92:3306 USER=rep_user@mysql PASSWORD=123456” RESOURCE_POOL_LIST=(‘haiyisec_pool’);
ERROR 4765 (HY000): create standby tenant may fail, SYS LS sync status is abnormal: NOT AVAILABLE, please check V$OB_LS_LOG_RESTORE_STATUS
【复现路径】
1.机器A (10.22.10.92)和机器B(10.22.10.93) 分别部署oceanbase容器,执行以下命令:
docker run -d
-p 3306:2881
-p 2882:2882
-v /root/oceanbase/ob:/root/ob
-v /root/oceanbase/obd/cluster:/root/.obd/cluster
-v /root/oceanbase/hybackup:/hybackup
–name odb
-e OB_TENANT_NAME=mysql
-e OB_TENANT_PASSWORD=123456
oceanbase/oceanbase-ce
2.机器A: 备租户的源端 ,进行如下操作
(SELECT LS_ID FROM oceanbase.CDB_OB_LS_HISTORY WHERE TENANT_ID = ‘mysql’) EXCEPT (SELECT LS_ID FROM oceanbase.CDB_OB_LS WHERE TENANT_ID = ‘mysql’);
(SELECT LS_ID FROM oceanbase.DBA_OB_LS_HISTORY) EXCEPT (SELECT LS_ID FROM oceanbase.DBA_OB_LS);
以上查询结果都为空;
然后执行:ALTER SYSTEM ARCHIVELOG;
接着创建用户:CREATE USER rep_user IDENTIFIED BY ‘123456’;
GRANT SELECT ON oceanbase.* TO rep_user;
3.机器B:
a.先删除租户:DROP TENANT mysql;
b.创建空备租户出现问题描述的错误。
4.配置文件config.yaml:
oceanbase-ce:
servers:
- 172.17.0.2
global:
home_path: /root/ob/observer
mysql_port: 2881
rpc_port: 2882
zone: zone1
appname: obcluster
memory_limit: 6G
system_memory: 1G
datafile_size: 5G
log_disk_size: 5G
root_password:
scenario: express_oltp
obconfig_url:
cpu_count: 16
production_mode: false
syslog_level: INFO
enable_syslog_wf: false
enable_syslog_recycle: true
max_syslog_file_count: 4
enable_rich_error_msg: true
cluster_id: 1754299056
5.参考的文档:
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013557
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!