OceanBase
  • 产品
  • 解决方案
  • 客户
  • 合作伙伴
  • 资源与服务
  • 文档
  • 社区
云控制台登录 / 注册
  • 免费试用
OceanBase AI 数据平台

基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。

一体化能力

TP 事务处理

关键业务稳定运行,保障数据零丢失

AP 实时分析

事务分析一体,驱动智能决策与运营

AI 现代负载

统一多模态数据,支撑生产级应用

关键产品
OceanBase 分布式数据库

首批通过安全可靠测评,面向关键业务

OceanBase 集中式数据库

集中式架构,兼具性能与成本优势

OceanBase AI 湖库

湖库一体的多模态数据处理平台

OceanBase DataPilot

企业级 AI 数据分析 Agent

OB Cloud

一体化云数据库,提供多云一致体验

OceanBase 数据库一体机

软硬一体,极致性能与高可靠性保障

OceanBase AI 一体机

开箱即用的 AI 数据库一体机

OMA 迁移评估工具

全链路数据库迁移评估

OMS 数据迁移工具

一站式数据传输与同步

OCP 运维管理工具

数据库全生命周期管理

ODC 开发者工具

数据库开发与管控协同

OAS 自治服务工具

数据库智能诊断与自治

通用场景
全场景业务系统 OLTP
实时分析混合负载
异地多活
多基础设施部署
一站式传统数据库升级
混合云部署
一库多芯软硬件混合部署
分布式数据库单机部署
大存储类数据库降本
冷数据归档降本
多实例资源整合
分库分表一体化升级
高并发场景
数据中台
行业解决方案
国有大行和股份制银行核心系统解决方案
区域性银行核心系统解决方案
寿险核心系统解决方案
产险核心系统解决方案
资管交易类系统解决方案
资管 TA 清算类系统解决方案
运营商核心系统解决方案
人社核心系统解决方案
电力核心系统解决方案
行业专区
银行专区

助力银行完成各类核心业务系统升级

保险专区

寿险、产险核心系统升级的更佳选择

零售专区

助力200+零售行业客户规模化落地

DB 大咖说
oceanbase爱奇艺

百亿级卡券业务的“单库双擎”架构升级

oceanbase四川银行

800个测试用例选定分布式数据库

oceanbase太平洋保险

先难后易,核心系统数据库升级复盘

行业案例
oceanbase交通银行

核心数据库的“分布式革命”

oceanbase中国移动

B域核心CRM&BOSS近乎零改造分布式升级

oceanbase理想

打造领先的智能制造系统和自动驾驶体验

演讲实录
oceanbase中国联通

集团应用分布式数据库覆盖B/O/M域

oceanbase国泰海通

智能推送系统稳定支撑单日亿级消息处理量

oceanbase中国联合航空

中国首款机票盲盒背后的数据库力量

用户实践
oceanbase北京银行

最快速度完成40余套系统国产数据库升级

oceanbaseVIVO

替换 MySQL 分库分表,探索成本效益最优

oceanbase滴滴

数据库大规模运维体系建设及落地实践

合作伙伴
合作伙伴类型
联合解决方案
产业生态伙伴
经销商伙伴
技术服务伙伴
培训认证伙伴
生态联合解决方案
神州信息 x OceanBase 银行核心系统
长亮科技 x OceanBase 新核心系统
中电金信 x OceanBase 金融分布式核心系统
天阳科技 x OceanBase 贷记卡方案
易诚互动 x OceanBase 手机银行方案
恒生 x OceanBase UF3.0/O45/TA/估值方案
商业发行版
云树®数据库软件 ActionDB
服务
支持与服务
提交工单
软件下载
OceanBase 企业版
OceanBase 社区版
OB Cloud
学习
培训与认证
在线课堂
在线体验
开发者
开发者中心
资料
行业报告与白皮书
官方博客
年度发布会资料
开发者大会资料
oceanbase白皮书

金融核心系统数据库升级路径与场景实践

oceanbase白皮书

人社关键业务数据库一体化升级实践

产品文档
oceanbaseOceanBase 数据库
数据库一体机
oceanbaseOceanBase Database AI
工具与组件
oceanbaseOB Cloud 云数据库
驱动和中间件
快速上手
OceanBase 数据库
OB Cloud 云数据库
知识库
汇聚常见产品使用问题案例
在线体验

Demo与实验,感受 OceanBase 的核心能力与应用场景

OceanBase 最佳实践
了解 OceanBase 分布式数据库的架构与系统原理
技术博客

技术解析 | 用户实践 | 社区月报

在线课堂

电子书 |视频课程|在线培训

Developer Hub
应用开发Demo | 数据开发与集成工具
问答论坛

快速答疑 | 常见问题 | 技术交流

社区活动

Meetup | 技术公开课

GitHub

查看源码 | 贡献代码 | 建议反馈

加入社区

社区组织 | 社区用户贡献 |开发者贡献

进入社区首页
oceanbase数据库大赛

第六届OceanBase数据库大赛

oceanbase免费课程

《Easy Data x AI》:面向所有 AI 爱好者的 Data 与 AI 基础知识入门教程

切换语言
  • 中文站 - 简体中文
  • International - English
  • 日本站 - 日本語
文档反馈
  1. 文档中心
  2. OceanBase 数据库
  3. 分布式版
  4. V4.5.0
  5. 管理数据库
  6. 高可用
  7. 物理备库容灾
  8. 创建备租户
  9. 使用备份恢复(带日志)功能创建备租户
分布式版-V4.5.0
  • What's New
  • 简介
  • 快速上手
  • 应用开发
  • 部署数据库
  • 数据迁移
  • 管理数据库
    • 登录 OceanBase 租户
    • 集群管理
    • 租户管理
    • 日志流管理
    • 副本管理
    • 数据负载均衡
    • 高可用
      • 高可用概述
      • 多副本容灾
      • 物理备库容灾
        • 物理备库概述
        • 功能使用限制
        • 创建备租户
          • 创建备租户前准备
          • 创建空备租户
          • 使用备份恢复(带日志)功能创建备租户
          • 使用 BACKUP DATABASE PLUS ARCHIVELOG 功能创建备租户
        • 日志传输服务
        • 日志存储服务
        • 角色切换
        • 删除主备租户
      • 仲裁高可用
      • 回收站管理
      • 闪回查询
    • 安全权限
    • 备份恢复
    • 监控指标
    • 日志
    • 性能调优
    • 日常巡检
    • 问题排查
    • 应急处理
  • AP
  • AI
  • 生态集成
  • 实践教程
  • 参考指南
  • 常见问题
  • 版本发布记录
  • 术语
  1. 文档中心
  2. OceanBase 数据库
  3. 分布式版
  4. V4.5.0
  5. 管理数据库
  6. 高可用
  7. 物理备库容灾
  8. 创建备租户
  9. 使用备份恢复(带日志)功能创建备租户

使用备份恢复(带日志)功能创建备租户

更新时间:2026-02-15 09:27:54

github-fill编辑
编组分享

使用备份恢复(带日志)功能创建备租户的方式为一种通用方式,该方式主要是从数据备份和日志归档中恢复出备租户,并且既可以从主租户的数据备份和日志归档中恢复,也可以从已存在的备租户的数据备份和日志归档中恢复。

步骤一:主租户或其他的备租户开启归档模式并执行数据备份

由于新的备租户需要从数据备份和日志归档中恢复出来,故在新建备租户前,需要为主租户或源端的备租户开启归档模式并执行一次全量数据备份。

说明

设置归档目的端、开启归档模式、设置备份目的端以及执行数据备份等操作均支持在系统租户(sys 租户)或用户租户下执行,在系统租户下执行时,需要在对应命令的结尾加 tenant = 'tenant_name',本文以在用户租户下的操作为例,提供操作指导。

  1. 主租户或源端的备租户开启归档模式,并保证归档状态一直为 DOING。

    1. 设置归档目的端。

      假设归档介质使用 NFS,归档目的端路径为 /data/1/sh_archive/,用户租户设置归档目的端的 SQL 语句示例如下:

      ALTER SYSTEM SET LOG_ARCHIVE_DEST = 'LOCATION=file:///data/1/sh_archive';
      

      设置归档目的端的详细操作,请参见 日志归档前准备。

    2. 开启主租户或源端的备租户的归档模式。

      注意

      为了保证数据备份期间的日志都能被归档,必须先开启租户的归档模式后,再执行数据备份。

      用户租户开启归档模式的 SQL 语句如下:

      ALTER SYSTEM ARCHIVELOG;
      

      开启归档模式的详细操作,请参见 开启归档模式。

    3. 确认归档状态是否为 DOING。

      用户租户查询归档状态的语句如下,如果是系统租户,需要查询 CDB_OB_ARCHIVELOG 视图。

      • 系统租户

        SELECT DEST_ID, ROUND_ID, DEST_NO, STATUS, CHECKPOINT_SCN, CHECKPOINT_SCN_DISPLAY, PATH FROM oceanbase.CDB_OB_ARCHIVELOG;
        
      • MySQL 租户

        SELECT DEST_ID, ROUND_ID, DEST_NO, STATUS, CHECKPOINT_SCN, CHECKPOINT_SCN_DISPLAY, PATH FROM oceanbase.DBA_OB_ARCHIVELOG;
        
      • Oracle 租户

        SELECT DEST_ID, ROUND_ID, DEST_NO, STATUS, CHECKPOINT_SCN, CHECKPOINT_SCN_DISPLAY, PATH FROM SYS.DBA_OB_ARCHIVELOG;
        

      查询结果的示例如下:

      +---------+----------+---------+--------+---------------------+----------------------------+--------------------------------+
      | DEST_ID | ROUND_ID | DEST_NO | STATUS | CHECKPOINT_SCN      | CHECKPOINT_SCN_DISPLAY     | PATH                           |
      +---------+----------+---------+--------+---------------------+----------------------------+--------------------------------+
      |    1001 |        1 |       0 | DOING  | 1680265982125159110 | 2023-03-31 20:33:02.125159 | file:///data/1/sh_archive      |
      +---------+----------+---------+--------+---------------------+----------------------------+--------------------------------+
      1 row in set
      

      根据查询结果,STATUS 的值为 DOING,表示归档处于正常工作状态。

      查看归档状态的详细操作,请参见 查看归档进度。

  2. 主租户或源端的备租户开启数据备份,并完成一次全量备份。

    开启归档模式后,主租户或源端的备租户需要执行一次数据备份。

    1. 设置数据备份的备份目的端。

      假设备份介质使用 NFS,备份目的端路径为 /data/1/sh_databackup,用户租户设置备份目的端的 SQL 语句示例如下:

      ALTER SYSTEM SET DATA_BACKUP_DEST = 'file:///data/1/sh_databackup';
      

      设置备份目的端的详细操作,请参见 备份前准备。

    2. 执行数据备份。

      用户租户执行数据备份的 SQL 语句如下:

      ALTER SYSTEM BACKUP DATABASE;
      

      发起租户全量数据备份的详细操作,请参见 发起数据备份。

    3. 确认数据备份状态。

      用户租户下通过 DBA_OB_BACKUP_JOBS 视图(系统租户查询 CDB_OB_BACKUP_JOBS 视图)查询数据备份进度的 SQL 语句如下:

      • 系统租户

        SELECT * FROM oceanbase.CDB_OB_BACKUP_JOBS;
        
      • MySQL 租户

        SELECT * FROM oceanbase.DBA_OB_BACKUP_JOBS;
        
      • Oracle 租户

        SELECT * FROM SYS.DBA_OB_BACKUP_JOBS;
        

      如果备份正在执行,则该视图中会显示备份任务的进度信息。查看数据备份进度的详细操作,请参见 查看数据备份进度。

      如果备份已完成,可以通过 DBA_OB_BACKUP_JOB_HISTORY 视图(系统租户查询 CDB_OB_BACKUP_JOB_HISTORY 视图)进一步查询数据备份历史。

      • 系统租户

        SELECT * FROM oceanbase.CDB_OB_BACKUP_JOB_HISTORY;
        
      • MySQL 租户

        SELECT * FROM oceanbase.DBA_OB_BACKUP_JOB_HISTORY;
        
      • Oracle 租户

        SELECT * FROM SYS.DBA_OB_BACKUP_JOB_HISTORY;
        

      查询数据备份历史的结果如下:

      +--------+-------------+---------------+---------------------+------------------+--------------------+-----------------+-------------+-------------+-----------------+--------+----------------------------+----------------------------+-----------+--------+---------+-------------+-------------------------------+
      | JOB_ID | INCARNATION | BACKUP_SET_ID | INITIATOR_TENANT_ID | INITIATOR_JOB_ID | EXECUTOR_TENANT_ID | PLUS_ARCHIVELOG | BACKUP_TYPE | JOB_LEVEL   | ENCRYPTION_MODE | PASSWD | START_TIMESTAMP            | END_TIMESTAMP              | STATUS    | RESULT | COMMENT | DESCRIPTION | PATH                          |
      +--------+-------------+---------------+---------------------+------------------+--------------------+-----------------+-------------+-------------+-----------------+--------+----------------------------+----------------------------+-----------+--------+---------+-------------+-------------------------------+
      |      1 |           1 |             1 |                1004 |                0 | 1004               | OFF             | FULL        | USER_TENANT | NONE            |        | 2023-03-31 20:48:32.342315 | 2023-03-31 20:49:39.908559 | COMPLETED |      0 |         |             | file:///data/1/sh_databackup  |
      +--------+-------------+---------------+---------------------+------------------+--------------------+-----------------+-------------+-------------+-----------------+--------+----------------------------+----------------------------+-----------+--------+---------+-------------+-------------------------------+
      1 row in set
      

      根据查询结果,当 STATUS 的值为 COMPLETED 时,表示数据备份已完成。

步骤二:恢复出备租户

  1. 使用 root 用户登录到待创建的备租户所在集群的 sys 租户。

  2. 执行以下命令,创建备租户所需的 Unit 规格。

    例如,创建一个 CPU 为 1 核且内存为 5 GB 的 Unit 规格 unit1。

    CREATE RESOURCE UNIT unit1 MAX_CPU 1, MEMORY_SIZE = '5G';
    

    有关 Unit 规格的详细创建操作,请参见 创建租户。

  3. 创建备租户所需的资源池。

    为备租户创建资源池时,建议尽量与源端租户保持同构,即建议备租户的资源池中 unit_num 的个数与源端租户相同。

    例如,创建资源池 pool_for_standby。

    CREATE RESOURCE POOL pool_for_standby UNIT = 'unit1', UNIT_NUM = 1, ZONE_LIST = ('zone1','zone2','zone3');
    

    有关资源池的详细创建操作,请参见 创建租户。

  4. 执行 RESTORE 命令,使用租户的数据备份和日志归档功能,恢复出备租户。

    语句如下:

    ALTER SYSTEM RESTORE standby_tenant_name FROM uri UNTIL TIME ='timestamp' WITH 'restore_option' [WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password'] [DESCRIPTION description];
    

    相关参数说明如下:

    • standby_tenant_name:指待恢复出的备租户的名称。

    • uri:需要分别指定主租户或源端的备租户的数据备份路径和归档路径。

    • UNTIL TIME= timestamp:用于指定的恢复终点,恢复到该位点为止,且包括该位点。指定 timestamp 必须以 = 连接。timestamp 仅支持 YYYY-MM-DD HH24:MI:SS.FF 格式, 精确到纳秒。

      关于如何选取 timestamp 的详细说明,请参见 物理恢复相关参数介绍。

    • restore_option 支持指定 pool_list、locality、primary_zone, 其中 pool_list 为必选项, 其余为可选项。不同参数之间通过 & 分隔。在指定 locality 和 primary_zone 时,建议尽量与源租户保持同构。如果不同构,待租户恢复后激活为主租户可能会产生负载均衡操作,影响性能。

      有关 restore_option 中各参数的详细说明,请参见 物理恢复相关参数介绍。

    • WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password':指定加密租户的秘钥备份信息。仅当源租户配置了透明加密,才需要在恢复时指定秘钥备份相关的信息。

      • backup_key_path:秘钥的备份路径。

      • password:备份秘钥时设置的加密密码。

    从日志归档路径 file:///data/1/sh_archive 与数据备份路径 file:///data/1/sh_databackup 恢复出备租户 standby_tenant 的示例如下:

    ALTER SYSTEM RESTORE standby_tenant 
    FROM 'file:///data/1/sh_databackup,file:///data/1/sh_archive' 
    UNTIL TIME='2023-05-26 15:04:23.825558' WITH 'pool_list=pool_for_standby';
    

    关于 RESTORE 命令的更多介绍,请参见 物理恢复相关参数介绍。

  5. 确认恢复是否完成。

    恢复过程中,可以通过 DBA_OB_TENANTS 视图确认恢复是否完成。

    SELECT TENANT_NAME, TENANT_TYPE, CREATE_TIME, STATUS, TENANT_ROLE,SCN_TO_TIMESTAMP(SYNC_SCN)  FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'standby_tenant';
    

    查询结果如下

    +----------------+-------------+----------------------------+--------+-------------+----------------------------+
    | TENANT_NAME    | TENANT_TYPE | CREATE_TIME                | STATUS | TENANT_ROLE | SCN_TO_TIMESTAMP(SYNC_SCN) |
    +----------------+-------------+----------------------------+--------+-------------+----------------------------+
    | standby_tenant | USER        | 2023-04-02 20:42:38.800518 | NORMAL | STANDBY     | 2023-04-02 20:42:30.736135 |
    +----------------+-------------+----------------------------+--------+-------------+----------------------------+
    1 row in set
    

    根据查询结果,当 TENANT_ROLE 的值为 STANDBY 时,则表示备租户恢复完成。

    有关查看恢复进度的更多详细介绍,请参见 查看恢复进度。

步骤三:开启日志持续同步

使用默认的 RESTORE 命令创建的新备租户,不会连续同步主租户或源端备租户归档的日志,需要手动再执行 RECOVER 命令重新设置新备租户的恢复终点,开启日志持续同步模式。

  1. 使用管理员用户登录新备租户或新备租户所在集群的 sys 租户。

  2. 根据实际使用场景,执行 RECOVER 命令,更改新备租户的恢复终点。

    • 新备租户所在集群的 sys 租户为新备租户开启日志持续同步

      ALTER SYSTEM RECOVER STANDBY TENANT = tenant_name UNTIL UNLIMITED;
      

      其中,UNLIMITED 表示无穷大。

      示例如下:

      ALTER SYSTEM RECOVER STANDBY TENANT = standby_tenant UNTIL UNLIMITED;
      
    • 新备租户为本租户开启日志持续同步

      ALTER SYSTEM RECOVER STANDBY UNTIL UNLIMITED;
      
  3. 再次查询 DBA_OB_TENANTS 视图,通过 SYNC_SCN 字段确认新备租户的同步位点。

    其中,SCN_TO_TIMESTAMP(SYNC_SCN) 列显示了新备租户当前的同步进度。

    • 新备租户所在集群的 sys 租户查询视图

      SELECT TENANT_NAME, TENANT_TYPE, CREATE_TIME, STATUS, TENANT_ROLE,SCN_TO_TIMESTAMP(SYNC_SCN)  FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'standby_tenant';
      
    • 新备租户查询视图

      • MySQL 租户

        SELECT TENANT_NAME, TENANT_TYPE, CREATE_TIME, STATUS, TENANT_ROLE,SCN_TO_TIMESTAMP(SYNC_SCN)  FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'standby_tenant';
        

        查询结果如下:

        +----------------+-------------+----------------------------+--------+-------------+----------------------------+
        | TENANT_NAME    | TENANT_TYPE | CREATE_TIME                | STATUS | TENANT_ROLE | SCN_TO_TIMESTAMP(SYNC_SCN) |
        +----------------+-------------+----------------------------+--------+-------------+----------------------------+
        | standby_tenant | USER        | 2023-04-02 20:42:38.800518 | NORMAL | STANDBY     | 2023-04-02 21:06:50.810688 |
        +----------------+-------------+----------------------------+--------+-------------+----------------------------+
        1 row in set
        
      • Oracle 租户

        SELECT TENANT_NAME, TENANT_TYPE, CREATE_TIME, STATUS, TENANT_ROLE,SCN_TO_TIMESTAMP(SYNC_SCN)  FROM SYS.DBA_OB_TENANTS WHERE TENANT_NAME = 'standby_tenant';
        

        查询结果如下:

        +------------------+-------------+------------------------------+--------+-------------+---------------------------------+
        | TENANT_NAME      | TENANT_TYPE | CREATE_TIME                  | STATUS | TENANT_ROLE | SCN_TO_TIMESTAMP(SYNC_SCN)      |
        +------------------+-------------+------------------------------+--------+-------------+---------------------------------+
        | standby_tenant   | USER        | 23-MAY-23 02.37.58.647507 PM | NORMAL | STANDBY     | 26-MAY-23 01.34.46.896905660 PM |
        +------------------+-------------+------------------------------+--------+-------------+---------------------------------+
        1 row in set
        

相关文档

  • 创建备租户前准备

  • 创建空备租户

  • 使用 BACKUP DATABASE PLUS ARCHIVELOG 功能创建备租户

  • 设置日志恢复源

本文目录

步骤一:主租户或其他的备租户开启归档模式并执行数据备份步骤二:恢复出备租户步骤三:开启日志持续同步相关文档
有帮助
无帮助
反馈
AI

OceanBase

OceanBase 海扬数据库始创于 2010 年,是完全自主研发的数据库公司。2020年开始独立商业化运作,历经15年大规模核心场景验证,目前是中国数据库的领军企业之一。从分布式数据库到 AI 数据库,为企业提供安全、稳定、可扩展的数据底座,推动数据基础设施全面拥抱 AI 时代。

关于我们

关于 OceanBase最新动态资质荣誉客户专家委员会招贤纳士合作伙伴年度发布会开发者大会

资源与服务

支持与服务文档知识库软件与工具下载培训与认证在线体验数据库专题视频

社区

快速上手开发者中心博客活动学习问答GitHub

数据库百科

分布式数据库国产数据库OLTP 数据库OLAP 数据库HTAP 数据库数据库向量数据库向量检索

联系我们

服务热线:
400-109-0633
商务咨询
培训认证技术支持媒体合作
京公网安备11010802047223号京公网安备11010802047223号
京ICP备20024574号-1
合字B1.B2-20250395
网站服务协议隐私协议安全响应协议
OceanBase 版权所有 © 2026 基础资源和备案服务由阿里云提供