---
title: "设置日志恢复源 - OceanBase 数据库 V4.2.0 | OceanBase 文档中心"
description: 设置日志恢复源 描述 该语句用于设置日志恢复源。 此外，用户在使用“创建空备租户功能”创建备租户时，获取 CREATE STANDBY TENANT 语句中的 LOG_RESTORE_SOURCE 字段所需信息，也可以参考该 SQL 语句的内容。 主租户系统日志流的位置信息是备租户连接的入口点，在设置日志恢复源时，需…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.0

# 设置日志恢复源

更新时间：2024-10-30 11:01:49

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/100.system-tenants/200.alter-system/2600.log-restore-source.md)  

## 描述

该语句用于设置日志恢复源。

此外，用户在使用“创建空备租户功能”创建备租户时，获取 `CREATE STANDBY TENANT` 语句中的 `LOG_RESTORE_SOURCE` 字段所需信息，也可以参考该 SQL 语句的内容。

主租户系统日志流的位置信息是备租户连接的入口点，在设置日志恢复源时，需要首先获取主租户系统日志流的位置信息。主租户可以通过 `DBA_OB_ACCESS_POINT` 视图查询系统日志流的位置信息。

如果在单机场景使用备库功能，则主租户系统日志流的位置信息即为单机 OBServer 节点的地址。

## 语法

```sql
/* 通过创建空备租户方式创建的备租户时，设置日志恢复源 */
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 | 所创建的复制专用用户名称。备租户在连接主租户时，需要有主租户下部分系统视图的查询权限，因此需要创建对应权限的复制专用用户供设置日志恢复源使用。该用户需要具备如下租户内视图的只读权限：   - `GV$OB_LOG_STAT`：用于查询租户机器列表、副本服务的日志流 LSN 范围、角色（是否 Leader）等信息。 - `GV$OB_UNITS`：用于查询服务租户的所有 Unit 信息，获取副本状态、Zone、Region 等信息，用于过滤、获取和维护租户机器连接等。 - `GV$OB_PARAMETERS`：用于查询 `cluster_id`、`tenant_id` 等服务必需的元信息。 - `DBA_OB_ACCESS_POINT`：用于获取访问入口信息。在主租户迁移复制、容灾等场景下，如果访问入口发生变化，备租户可以自动感知，不需要用户手动修改。 - `DBA_OB_TENANTS`：用于获取主租户的兼容模式。 - `DBA_OB_LS`：用于获取主租户的日志流列表以及日志流状态。 |
| password | 访问视图的专用用户对应的用户密码。 |
| tenant_name | 待连接的主租户或源端的备租户名。 |
| standby_tenant_name | 备租户名称。备租户所在集群的系统租户下设置日志恢复源时需要指定 `standby_tenant_name`。 |
| LOCATION | 表示日志恢复源是日志归档。`archive_path` 指定主日志归档的路径信息。 |

## 示例

- 通过物理备份恢复方式创建的备租户时，备租户配置本租户的恢复源。

  ```shell
  obclient> ALTER SYSTEM SET LOG_RESTORE_SOURCE='LOCATION=file:///data/1/example_archive';
  Query OK, 0 rows affected

  ```
 - 通过创建空备租户方式创建的备租户时，在备租户所在集群的系统租户下设置日志源。

     1. 在主租户 `primary_tenant1` 下获取主租户系统日志流的 IP List（返回结果取决于主租户有多少个副本）。

       ```shell
       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

       ```
     2. 在备租户 `standby_tenant1` 所在集群的系统租户下设置日志源。

       ```shell
       obclient> ALTER SYSTEM SET LOG_RESTORE_SOURCE = 'SERVICE=11.xxx.xxx.xxx:17860; USER=test@mysql PASSWORD=******' TENANT = standby_tenant1;

       ```

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
