OB 社区版 4.1 备份恢复实践

2024年 5月 7日 70.8k 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 事务日志备份参数

l  配置租户备份目录

备份目录依然是通过参数  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 test
 
ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///backup/obcebackup/obmysql' ;

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

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

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

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

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

l  配置归档目的端状态

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

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE='DEFER';
 

l  查看日志归档参数。

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

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 ;
 

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

查看租户视图  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

l  关闭事务日志归档

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

ALTER SYSTEM NOARCHIVELOG TENANT = obmysql ;
 

l  查看事务日志归档文件 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

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

在 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

l  查看事务日志归档历史

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

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

发起数据备份

l  设置数据备份目录。

数据备份目录参数是  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 。

l  查看数据备份目录信息

在 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

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

l  发起全量数据备份

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

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

SET ENCRYPTION ON IDENTIFIED BY 'aaAA11__' ONLY;
 

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

ALTER SYSTEM BACKUP DATABASE;

OB 社区版 4.1 备份恢复实践-1

再到 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 ;

l  查看备份进度和历史。

在 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 th
WHERE 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 th
WHERE 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 。

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

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

SET DECRYPTION IDENTIFIED BY 'aaAA11__' ;
 

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

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' ;

OB 社区版 4.1 备份恢复实践-2

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

l  查看恢复进度和详情

在 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文档中心-分布式数据库使用文档 。

验证恢复结果

登录被恢复出的租户,查看表的记录。

OB 社区版 4.1 备份恢复实践-3

从上图结果看,符合不完全恢复的预期。

随后,修改租户名为  obmysql 。

alter tenant restored_obmysql rename global_name to obmysql;
select tenant_id, tenant_name , locality from __all_tenant;

OB 社区版 4.1 备份恢复实践-4

租户恢复出来替换原租户后,租户的备份策略需要重新配置。

总结

在备份恢复功能上,OB 社区版跟企业版的能力应该是一致的。OB 4.1 版本的备份支持租户级别的备份后,备份参数的设置、备份命令的下达、备份相关视图都可以在 SYS 租户和业务租户下分别查询。SYS 租户下的视图是  CDB_ 开头,业务租户下的视图是  DBA_ 开头。SYS 租户下能查询和管理整个集群里所有租户的备份相关事情,业务租户只查看和管理当前租户的备份相关事情。

更多阅读

  • OB 企业版 3.2 备份恢复实践 (qq.com)
  • OB 社区版 4.1 和 OCP express 笔记本电脑部署体验 (qq.com)

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论