ITPub博客

首页 > 数据库 > 数据库开发技术 > OB 社区版 4.1 备份恢复实践

OB 社区版 4.1 备份恢复实践

原创 数据库开发技术 作者:plvision 时间:2023-06-13 17:25:56 0 删除 编辑

概述

OceanBase 数据库 V4.1.0 版本支持 OSS、NFS 两种备份介质,提供了备份、恢复、清理三大功能。不管是社区版还是企业版,备份恢复功能应该是一致的。

由于企业版 4.1 没有对外发布,所以本文分享的是 社区版 4.1 的备份恢复实践。

 

跟 3.2 版本相比, 4.1 版本在备份方面最大的变化就是支持租户级别的物理备份。备份策略依然是支持数据全量备份、增量备份和事务日志备份(即归档)。备份目录有些变化,这个以后再专门分析。

 

本次实践是将一个单副本架构的 OB 社区版集群里的业务租户备份,并还原到历史时间点。新租户就在当前 OB 集群中(也可以在其他独立的 OB 集群中)。OB 租户还原不支持覆盖形式恢复,可以恢复出新名字的租户。如果需要替换原租户,可以通过租户重命名的方式。

 

备份介质准备

OB 的备份目前支持 NFS 和 云盘 OSS 。这个参考文章:OB 企业版 3.2 备份恢复实践 (qq.com) ,这里就不再重复了。

 

OB 集群手动备份

 

本文演示的是 OB 社区版 5.7.25-OceanBase_CE-v4.1.0.0 。

OB 4.1 版本支持租户级别的备份,所以备份参数设置也改为租户级别了。

此外,加上 4.1 版本支持日志流(Log stream)设计,租户的事务日志也是独立的。所以事务日志备份也要按租户粒度开启。

 

配置 OB 事务日志备份参数

  • 配置租户备份目录

备份目录依然是通过参数  LOG_ARCHIVE_DEST 配置。

 

如果是在 SYS 租户里设置业务租户的备份目录,需要加上生效范围  TENANT = obmysql 。

[root@server066 ~]$mysql -h10.0.0.66 -uroot@sys#obcedemo -P2883 -paaAA11__ -c -A oceanbase(root@10.0.0.66:2883) [oceanbase]> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///backup/obbackup/' TENANT = obmysql;ERROR 9080 (HY000): the format file does not exist under the destination(root@10.0.0.66:2883) [oceanbase]> ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///backup/obcebackup/obmysql' TENANT = obmysql;Query OK, 0 rows affected (0.55 sec)

如果是在业务租户里,就可以直接设置。

[root@server066 ~]$mysql -h10.0.0.66 -uroot@obmysql#obcedemo -P2883 -paaAA11__ -c -A testALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///backup/obcebackup/obmysq

l' ;

 

上面第一次设置备份目录,报错信息官网有解释,这个设计跟之前的备份逻辑有所变化。目录不为空时会检查是否有 Format 文件(设置过备份目录为当前目录)。

ERROR 9080 (HY000) : the format file does not exist under the destinationOceanBase 错误码:9080错误原因:备份目的端的 Format 文件不存在。原因如下:目的端在参与备份任务前,Format 文件被移除。设置的目的端非空,且目的端下没有 Format 文件。解决方式:检查备份目的端的 Format 文件是否存在,如果不存在,则此目的端已失效

。设置新的目的端时,需要将目的端的文件都清空后,再加入备份。

 

设置后,OB 会在备份目录生成一个  format 文件,用于校验备份目录的有效性。

 

[root@server066 obmysql]$ls -lrth /backup/obcebackup/obmysql/total 8.0Kdrwx------. 2 nfsnobody nfsnobody 4.0K Jun 13 2023 check_file-rw-------. 1 nfsnobody nfsnobody 141 Jun 13 2023 format.obbak

 

LOG_ARCHIVE_DEST 有多个属性,其中  LOCATION 是必填的,指定备份目录。BINDING 属性是可选的,默认值是  Optional 模式,另外一种值是  Mandatory 模式。选哪个取决于在事务日志备份速度赶不上事务日志生成速度时,是备份重要还是业务可用性重要。如果是备份重要,OB 会减慢或者挂起租户的事务;如果是业务可用性重要,事务日志可能被回收导致日志归档断流,从而导致备份链路设计出现缺口,影响恢复的能力。

 

  • 配置归档目的端状态

通常第一次设置归档目的端后,状态都是  ENABLE 状态。后期也可以通过参数  LOG_ARCHIVE_DEST_STATE 暂停这个归档目录。这个应该是参考 ORACLE 设计。也许将来还会支持多个归档路径。

 

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE='DEFER';

 

  • 查看日志归档参数。

租户日志归档参数查看租户下的视图。

SELECT * FROM DBA_OB_ARCHIVE_DEST ;

DEST_NO
NAME
VALUE
0
binding
OPTIONAL
0
dest_id
1004
0
lag_target
2m
0
path
file:///backup/obcebackup/obmysql
0
piece_switch_interval
1d
0
state
ENABLE

在 SYS 租户则查看视图  CDB_OB_ARCHIVE_DEST 。

 

发起事务日志备份(归档)

可以在 SYS 租户里发起所有租户的事务日志归档,也可以指定某个租户的事务日志归档。该命令对后期创建的租户不会生效(即使租户删除重建)。

 

ALTER SYSTEM ARCHIVELOG TENANT = obmysql ;

 

也可以登录业务租户发起该租户的事务日志归档。

 

ALTER SYSTEM ARCHIVELOG ;

 

  • 查看租户的事务日志归档状态

查看租户视图  DBA_OB_TENANTS 。

 

SELECT TENANT_ID , TENANT_NAME , TENANT_TYPE , COMPATIBILITY_MODE ,status, IN_RECYCLEBIN , TENANT_ROLE , LOG_MODE FROM DBA_OB_TENANTS t;

业务租户结果:

TENANT_ID
TENANT_NAME
TENANT_TYPE
COMPATIBILITY_MODE
status
TENANT_ROLE
LOG_MODE
1,004
obmysql
USER
MYSQL
NORMAL
PRIMARY
ARCHIVELOG

SYS 租户结果:

TENANT_ID
TENANT_NAME
TENANT_TYPE
COMPATIBILITY_MODE
status
TENANT_ROLE
LOG_MODE
1
sys
SYS
MYSQL
NORMAL
PRIMARY
NOARCHIVELOG
1,001
META$1002
META
MYSQL
NORMAL
PRIMARY
NOARCHIVELOG
1,002
ocp
USER
MYSQL
NORMAL
PRIMARY
NOARCHIVELOG
1,003
META$1004
META
MYSQL
NORMAL
PRIMARY
NOARCHIVELOG
1,004
obmysql
USER
MYSQL
NORMAL
PRIMARY
ARCHIVELOG
  • 关闭事务日志归档

 

关闭事务日志归档用  NOARCHIVELOG 命令,跟前面一样,可以在 SYS 租户和业务租户执行。

 

ALTER SYSTEM NOARCHIVELOG TENANT = obmysql ;

 

  • 查看事务日志归档文件 Pieces 信息。

在 SYS 租户下查看视图  CDB_OB_ARCHIVELOG_PIECE_FILES , 在业务租户下查看视图  DBA_OB_ARCHIVELOG_PIECE_FILES 。

 

SELECT dest_id, ROUND_ID ,PIECE_ID ,INCARNATION ,DEST_NO ,status, COMPRESSION ,INPUT_BYTES_DISPLAY ,OUTPUT_BYTES_DISPLAY ,COMPRESSION_RATIO ,FILE_STATUS ,PATH FROM oceanbase.DBA_OB_ARCHIVELOG_PIECE_FILES ;

dest_id
ROUND_ID
PIECE_ID
INCARNATION
DEST_NO
status
COMPRESSION
INPUT_BYTES_DISPLAY
OUTPUT_BYTES_DISPLAY
COMPRESSION_RATIO
FILE_STATUS
PATH
1,004
1
1
1
0
ACTIVE
none
57.72MB
57.72MB
1
AVAILABLE
file:///backup/obcebackup/obmysql

SELECT TENANT_ID ,DEST_ID ,ROUND_ID ,PIECE_ID ,INCARNATION ,DEST_no,STATUS ,COMPRESSION ,INPUT_BYTES_DISPLAY ,OUTPUT_BYTES_DISPLAY ,COMPRESSION_RATIO ,FILE_STATUS ,path FROM oceanbase.CDB_OB_ARCHIVELOG_PIECE_FILES ;

TENANT_ID
DEST_ID
ROUND_ID
PIECE_ID
INCARNATION
DEST_no
STATUS
COMPRESSION
INPUT_BYTES_DISPLAY
OUTPUT_BYTES_DISPLAY
COMPRESSION_RATIO
FILE_STATUS
path
1,004
1,004
1
1
1
0
ACTIVE
none
58.63MB
58.63MB
1
AVAILABLE
file:///backup/obcebackup/obmysql

 

  • 查看事务日志归档进度信息。

在 SYS 租户下查看视图  CDB_OB_ARCHIVE_LOG , 在业务租户下查看视图  DBA_OB_ARCHIVE_LOG 。

 

SELECT DEST_ID ,ROUND_ID ,INCARNATION ,DEST_NO ,STATUS ,BASE_PIECE_ID ,USED_PIECE_ID ,INPUT_BYTES_DISPLAY ,OUTPUT_BYTES_DISPLAY ,COMPRESSION ,COMPRESSION_RATIO ,COMMENT , `PATH` FROM oceanbase.DBA_OB_ARCHIVELOG ;

DEST_ID
ROUND_ID
INCARNATION
DEST_NO
STATUS
BASE_PIECE_ID
USED_PIECE_ID
INPUT_BYTES_DISPLAY
OUTPUT_BYTES_DISPLAY
COMPRESSION
COMPRESSION_RATIO
COMMENT
PATH
1,004
1
1
0
DOING
1
1
59.66MB
59.66MB
none
1

file:///backup/obcebackup/obmysql

SELECT TENANT_ID ,DEST_ID ,ROUND_ID ,INCARNATION ,DEST_NO ,STATUS ,BASE_PIECE_ID ,USED_PIECE_ID ,INPUT_BYTES_DISPLAY ,OUTPUT_BYTES_DISPLAY ,COMPRESSION ,COMPRESSION_RATIO ,COMMENT ,`PATH` FROM oceanbase.CDB_OB_ARCHIVELOG l ;

TENANT_ID
DEST_ID
ROUND_ID
INCARNATION
DEST_NO
STATUS
BASE_PIECE_ID
USED_PIECE_ID
INPUT_BYTES_DISPLAY
OUTPUT_BYTES_DISPLAY
COMPRESSION
COMPRESSION_RATIO
COMMENT
PATH
1,004
1,004
1
1
0
DOING
1
1
60.19MB
60.19MB
none
1

file:///backup/obcebackup/obmysql

 

  • 查看事务日志归档历史

在 SYS 租户查看视图  CDB_OB_ARCHIVELOG_SUMMARY ,在业务租户查看视图  DBA_OB_ARCHIVELOG_SUMMARY 。

 

这个字段跟上面一样,不重复展示了。

 

发起数据备份

  • 设置数据备份目录。

数据备份目录参数是  DATA_BACKUP_DEST ,也支持在 SYS 租户和业务租户下设置两种方法。

下面在业务租户下设置。

ALTER SYSTEM SET DATA_BACKUP_DEST = 'file:///backup/obcebackup/obmysql_data'; (root@10.0.0.66:2883) [test]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'file:///backup/obcebackup/obmysql_data';ERROR 4009 (58030): IO error(root@10.0.0.66:2883) [test]> ALTER SYSTEM SET DATA_BACKUP_DEST = 'file:///backup/obcebackup/obmysql_data';Query OK, 0 rows affected (0.12 sec)

 

第一次报错的原因是新增的目录没有读写权限。需要在 NFS Server 上将新增目录  owner 设置为  nfsnobody 。

 

  • 查看数据备份目录信息

在 SYS 租户可以查看视图  CDB_OB_BACKUP_PARAMETER ,在业务租户查看视图  DBA_OB_BACKUP_PARAMETER 。

 

SELECT * FROM oceanbase.CDB_OB_BACKUP_PARAMETER ;

TENANT_ID
NAME
VALUE
1,004
data_backup_dest
file:///backup/obcebackup/obmysql_data

这两个视图字段略显单薄,后面估计还会进一步丰富。

 

  • 发起全量数据备份

 

首先全量数据备份之前要自己确认事务日志归档已经打开。

备份之前也可以在会话级别设置密码。

 

SET ENCRYPTION ON IDENTIFIED BY 'aaAA11__' ONLY;

 

全量备份可以在 SYS 租户里发起,指定所有租户或者某个租户。也可以在业务租户里发起。这里我选用先在业务租户下发起备份。

 

ALTER SYSTEM BACKUP DATABASE;

 

再到 SYS 租户发起一次全量备份和增量备份。

mysql -h10.0.0.66 -uroot@sys#obcedemo -P2883 -paaAA11__ -c -A oceanbase

ALTER SYSTEM BACKUP TENANT = obmysql ;ALTER SYSTEM BACKUP INCREMENTAL TENANT = obmysql ;

 

 

  • 查看备份进度和历史。

在 SYS 租户查看视图  CDB_OB_BACKUP_JOBS 和  CDB_OB_BACKUP_TASKS , 在业务租户查看视图  DBA_OB_BACKUP_JOBS 和  DBA_OB_BACKUP_TASKS 。这些视图也有响应的历史视图。

 

这里我在业务租户查询。

 

SELECT jh.JOB_ID ,jh.INCARNATION ,jh.BACKUP_SET_ID ,jh.INITIATOR_TENANT_ID ,jh.EXECUTOR_TENANT_ID , jh.PLUS_ARCHIVELOG , jh.BACKUP_TYPE , jh.JOB_LEVEL , jh.ENCRYPTION_MODE ,jh.START_TIMESTAMP ,jh.END_TIMESTAMP , jh.STATUS , jh.`RESULT` , jh.COMMENT , th.task_ID, th.INPUT_BYTES , th.OUTPUT_BYTES , th.`RESULT` , th.`PATH` FROM DBA_OB_BACKUP_JOBS jh, DBA_OB_BACKUP_TASKS thWHERE jh.JOB_ID =th.JOB_ID AND jh.BACKUP_SET_ID = th.BACKUP_SET_ID;

SELECT jh.JOB_ID ,jh.INCARNATION ,jh.BACKUP_SET_ID ,jh.INITIATOR_TENANT_ID ,jh.EXECUTOR_TENANT_ID , jh.PLUS_ARCHIVELOG , jh.BACKUP_TYPE , jh.JOB_LEVEL , jh.ENCRYPTION_MODE ,jh.START_TIMESTAMP ,jh.END_TIMESTAMP , jh.STATUS , jh.`RESULT` , jh.COMMENT , th.task_ID, th.INPUT_BYTES , th.OUTPUT_BYTES , th.`RESULT` , th.`PATH` FROM DBA_OB_BACKUP_JOB_HISTORY jh, DBA_OB_BACKUP_TASK_HISTORY thWHERE jh.JOB_ID =th.JOB_ID AND jh.BACKUP_SET_ID = th.BACKUP_SET_ID;

JOB_ID
INCARNATION
BACKUP_SET_ID
INITIATOR_TENANT_ID
EXECUTOR_TENANT_ID
PLUS_ARCHIVELOG
BACKUP_TYPE
JOB_LEVEL
ENCRYPTION_MODE
START_TIMESTAMP
END_TIMESTAMP
STATUS
RESULT
COMMENT
task_ID
INPUT_BYTES
OUTPUT_BYTES
RESULT
PATH
1
1
1
1,004
1004
OFF
FULL
USER_TENANT
PASSWORD
2023-06-13 11:05:15.516
2023-06-13 11:08:27.251
COMPLETED
0

1
6,804,143,719
6,321,315,070
0
file:///backup/obcebackup/obmysql_data
2
1
2
1
1004
OFF
FULL
USER_TENANT
NONE
2023-06-13 11:29:27.120
2023-06-13 11:32:27.638
COMPLETED
0

2
6,885,941,198
6,322,193,311
0
file:///backup/obcebackup/obmysql_data
3
1
3
1
1004
OFF
INC
USER_TENANT
NONE
2023-06-13 11:37:53.299
2023-06-13 11:39:18.864
COMPLETED
0

3
185,533,642
26,475,442
0
file:///backup/obcebackup/obmysql_data

 

 

(可选)停止备份

如果数据库很大,备份时间很久,中间想取消,可以发命令:CANCEL BACKUP 。

这个就不演示了。

 

OB 集群手动恢复

OB 4.1 版本的恢复依然是租户粒度的恢复,需要提前准备新租户的资源池,(可选)设置加密信息等。

准备恢复租户的资源池

首先查看当前租户剩余资源。

 

select svr_ip, CPU_CAPACITY, (CPU_CAPACITY-CPU_ASSIGNED) CPU_FREE , round(MEM_CAPACITY/1024/1024/1024) MEM_CAPACITY_GB, round((MEM_CAPACITY-MEM_ASSIGNED)/1024/1024/1024,2) MEM_FREE_GB , round(DATA_DISK_CAPACITY/1024/1024/1024) DATA_CAPACITY_GB, round((DATA_DISK_CAPACITY-DATA_DISK_IN_USE)/1024/1024/1024,2) DATA_FREE_GB , round(DATA_DISK_CAPACITY/1024/1024/1024) LOG_CAPACITY_GB, round((LOG_DISK_CAPACITY-LOG_DISK_IN_USE)/1024/1024/1024,2) LOG_FREE_GB from GV$OB_SERVERS ;

svr_ip
CPU_CAPACITY
CPU_FREE
MEM_CAPACITY_GB
MEM_FREE_GB
DATA_CAPACITY_GB
DATA_FREE_GB
LOG_CAPACITY_GB
LOG_FREE_GB
10.0.0.66
16
0
7
0
30
23.18
30
28.69

 

内存资源没有剩余。

先创建一个用于检验的表,然后再删除这个业务租户释放一些资源。

 

[root@server066 ~]$mysql -h10.0.0.66 -uroot@obmysql#obcedemo -P2883 -paaAA11__ -c -A test<...>Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

(root@10.0.0.66:2883) [test]> create table t_backup(id bigint not null auto_increment primary key, c1 varchar(100) , c2 timestamp default current_timestamp );Query OK, 0 rows affected (0.88 sec)

(root@10.0.0.66:2883) [test]> insert into t_backup(c1) values('test ob 4.1 backup and restore');Query OK, 1 row affected (0.41 sec)

(root@10.0.0.66:2883) [test]> insert into t_backup(c1) values('test ob 4.1 backup and restore 2 ');Query OK, 1 row affected (0.03 sec)

(root@10.0.0.66:2883) [test]> select * from t_backup;+----+-----------------------------------+---------------------+| id | c1 | c2 |+----+-----------------------------------+---------------------+| 1 | test ob 4.1 backup and restore | 2023-06-13 11:47:11 || 2 | test ob 4.1 backup and restore 2 | 2023-06-13 11:48:08 |+----+-----------------------------------+---------------------+2 rows in set (0.01 sec)

恢复目标是恢复到时间点:2023-06-13 11:48:00 。

 

直接在 OCP-Express 里删除了租户。确认租户已经删除。

 

(root@10.0.0.66:2883) [oceanbase]> select tenant_id,tenant_name,status from __all_tenant;+-----------+-------------+--------+| tenant_id | tenant_name | status |+-----------+-------------+--------+| 1 | sys | NORMAL || 1001 | META$1002 | NORMAL || 1002 | ocp | NORMAL |+-----------+-------------+--------+3 rows in set (0.01 sec)

 

再次确认剩余可分配资源。

svr_ip
CPU_CAPACITY
CPU_FREE
MEM_CAPACITY_GB
MEM_FREE_GB
DATA_CAPACITY_GB
DATA_FREE_GB
LOG_CAPACITY_GB
LOG_FREE_GB
10.0.0.66
16
10
7
3
30
29.44
30
48.5

 

创建用于恢复的租户的资源池。

 

CREATE RESOURCE UNIT b_4c2g MAX_CPU 4, MEMORY_SIZE = '2G', MAX_IOPS 10240, MIN_IOPS=10240;CREATE RESOURCE POOL restore_pool unit = 'b_4c2g', unit_num = 1, zone_list = ('

zone1');

 

开始不完全恢复

恢复新租户到时间点:2023-06-13 11:48:00 。

  • (可选)设置解密密码。

如果备份中使用了密码,这里就需要设置解密密码。否则后面恢复的时候会报错提示密码不对。

SET DECRYPTION IDENTIFIED BY 'aaAA11__' ;

 

  • 恢复租户到指定时间点。

 

ALTER SYSTEM RESTORE restored_obmysql FROM 'file:///backup/obcebackup/obmysql_data,file:///backup/obcebackup/obmysql' UNTIL TIME='2023-06-13 11:48:00' WITH 'pool_list=restore_pool&locality=F@zone1' ;

跟 3.2 版本恢复不同的是,4.1 版本的恢复命令会阻塞一会,原因不明。

 

  • 查看恢复进度和详情

在 SYS 租户查看视图  CDB_OB_RESTORE_PROGRESS 和  CDB_OB_RESTORE_HISTORY 。

 

SELECT p.TENANT_ID , p.JOB_ID , p.RESTORE_TENANT_ID , p.RESTORE_TENANT_NAME , p.BACKUP_TENANT_ID , p.BACKUP_TENANT_NAME, p.BACKUP_CLUSTER_NAME , p.BACKUP_DEST , p.RESTORE_OPTION , p.STATUS , p.START_TIMESTAMP , p.BACKUP_SET_LIST , p.BACKUP_PIECE_LIST , p.TOTAL_BYTES_DISPLAY , p.FINISH_BYTES_DISPLAY FROM CDB_OB_RESTORE_PROGRESS p ;

SELECT h.TENANT_ID , h.JOB_ID , h.RESTORE_TENANT_ID , h.RESTORE_TENANT_NAME , h.BACKUP_TENANT_ID , h.BACKUP_TENANT_NAME, h.BACKUP_CLUSTER_NAME , h.BACKUP_DEST , h.RESTORE_OPTION , h.STATUS , h.START_TIMESTAMP , h.BACKUP_SET_LIST , h.BACKUP_PIECE_LIST , h.TOTAL_BYTES_DISPLAY , h.FINISH_BYTES_DISPLAY FROM CDB_OB_RESTORE_HISTORY h ;

TENANT_ID

JOB_ID

RESTORE_TENANT_ID

RESTORE_TENANT_NAME

BACKUP_TENANT_ID

BACKUP_TENANT_NAME

BACKUP_CLUSTER_NAME

BACKUP_DEST

RESTORE_OPTION

STATUS

START_TIMESTAMP

BACKUP_SET_LIST

BACKUP_PIECE_LIST

TOTAL_BYTES_DISPLAY

FINISH_BYTES_DISPLAY

1

2

1,006

restored_obmysql

1,004

obmysql

obcedemo

file:///backup/obcebackup/obmysql_data,file:///backup/obcebackup/obmysql

pool_list=restore_pool&locality=F@zone1

SUCCESS

2023-06-13 12:06:40.323

file:///backup/obcebackup/obmysql_data/backup_set_2_full,file:///backup/obcebackup/obmysql_data/backup_set_3_inc

file:///backup/obcebackup/obmysql/piece_d1004r1p1

25.25MB

0.00MB

1,006

2

1,006

restored_obmysql

1,004

obmysql

obcedemo

file:///backup/obcebackup/obmysql_data,file:///backup/obcebackup/obmysql

pool_list=restore_pool&locality=F@zone1

SUCCESS

2023-06-13 12:06:40.323

file:///backup/obcebackup/obmysql_data/backup_set_2_full,file:///backup/obcebackup/obmysql_data/backup_set_3_inc

file:///backup/obcebackup/obmysql/piece_d1004r1p1

25.25MB

0.00MB

一次租户恢复任务会产生两笔记录。分别是:sys 租户的任务记录(记录被恢复租户的恢复相关信息)和 新租户的记录(记录被恢复出来的租户的恢复进度信息)。status 字段会反应具体的恢复阶段。详情参考官网:查看恢复进度-OceanBase 数据库 -OceanBase文档中心-分布式数据库使用文档 。
 

验证恢复结果

登录被恢复出的租户,查看表的记录。
 
从上图结果看,符合不完全恢复的预期。
随后,修改租户名为  obmysql 。
 
alter tenant restored_obmysql rename global_name to obmysql;select tenant_id, tenant_name , locality from __all_tenant;
 
租户恢复出来替换原租户后,租户的备份策略需要重新配置。


 

总结

 
在备份恢复功能上,OB 社区版跟企业版的能力应该是一致的。OB 4.1 版本的备份支持租户级别的备份后,备份参数的设置、备份命令的下达、备份相关视图都可以在 SYS 租户和业务租户下分别查询。SYS 租户下的视图是  CDB_ 开头,业务租户下的视图是  DBA_ 开头。SYS 租户下能查询和管理整个集群里所有租户的备份相关事情,业务租户只查看和管理当前租户的备份相关事情。租户的备份相关元数据是跟租户 ID 关联,而不是名字。被恢复出来的租户虽然名字可以改为一样,但实际是不同的租户。
 

更多阅读


原文作者:数据库技术闲谈;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2018-11-02

  • 博文量
    156
  • 访问量
    96829