首批通过分布式安全可靠测评,为关键业务系统打造
设置日志恢复源
更新时间:2024-10-30 11:01:49
描述
该语句用于设置日志恢复源。
此外,用户在使用“创建空备租户功能”创建备租户时,获取 CREATE STANDBY TENANT 语句中的 LOG_RESTORE_SOURCE 字段所需信息,也可以参考该 SQL 语句的内容。
主租户系统日志流的位置信息是备租户连接的入口点,在设置日志恢复源时,需要首先获取主租户系统日志流的位置信息。主租户可以通过 DBA_OB_ACCESS_POINT 视图查询系统日志流的位置信息。
如果在单机场景使用备库功能,则主租户系统日志流的位置信息即为单机 OBServer 节点的地址。
语法
/* 通过创建空备租户方式创建的备租户时,设置日志恢复源 */
ALTER SYSTEM SET LOG_RESTORE_SOURCE = 'SERVICE=$host_ip_list USER=$user_name@$tenant_name PASSWORD=$password' [ TENANT = standby_tenant_name ];
/* 通过物理备份恢复方式创建的备租户时,设置或修改日志恢复源 */
ALTER SYSTEM SET LOG_RESTORE_SOURCE ='LOCATION=archive_path' [ TENANT = standby_tenant_name ];
说明
子配置项之间使用空格作为分隔符,解析时也是根据空格切分不同的子配置项,因此暂不支持子配置项中添加空格。
如 LOG_RESTORE_SOURCE = 'SERVICE=$host_ip_list USER=$user_name@$tenant_name PASSWORD=$password' 中 SERVICE=$host_ip_list、USER=$user_name@$tenant_name、PASSWORD=$password 三个子配置项,每个子配置项中均不支持添加空格。
参数解释
| 参数 | 描述 |
|---|---|
| LOG_RESTORE_SOURCE | 日志恢复源配置。 |
| host_ip_list | 主租户系统日志流的位置信息,即主租户或源端的备租户所在副本的 OBServer 节点的 IP 及 RPC 端口号,多个 IP 地址之间使用分号(;)分隔。备租户会秒级探测主租户系统日志流的位置变化并自动更新,在主租户执行负载均衡或容灾时不需要手动更新 LOG_RESTORE_SOURCE。 |
| user_name | 所创建的复制专用用户名称。备租户在连接主租户时,需要有主租户下部分系统视图的查询权限,因此需要创建对应权限的复制专用用户供设置日志恢复源使用。该用户需要具备如下租户内视图的只读权限:
|
| password | 访问视图的专用用户对应的用户密码。 |
| tenant_name | 待连接的主租户或源端的备租户名。 |
| standby_tenant_name | 备租户名称。备租户所在集群的系统租户下设置日志恢复源时需要指定 standby_tenant_name。 |
| LOCATION | 表示日志恢复源是日志归档。archive_path 指定主日志归档的路径信息。 |
示例
通过物理备份恢复方式创建的备租户时,备租户配置本租户的恢复源。
obclient> ALTER SYSTEM SET LOG_RESTORE_SOURCE='LOCATION=file:///data/1/example_archive'; Query OK, 0 rows affected通过创建空备租户方式创建的备租户时,在备租户所在集群的系统租户下设置日志源。
在主租户
primary_tenant1下获取主租户系统日志流的 IP List(返回结果取决于主租户有多少个副本)。obclient> SELECT svr_ip, svr_port FROM GV$OB_LOG_STAT WHERE LS_ID=1; +-----------------+----------+ | svr_ip | svr_port | +-----------------+----------+ | 11.xxx.xxx.xxx | 17860 | +-----------------+----------+ 1 row in set在备租户
standby_tenant1所在集群的系统租户下设置日志源。obclient> ALTER SYSTEM SET LOG_RESTORE_SOURCE = 'SERVICE=11.xxx.xxx.xxx:17860; USER=test@mysql PASSWORD=******' TENANT = standby_tenant1;