备份恢复
📄字数 10.7K
👁️阅读量 加载中...
在实际生产环境中,很多异常(比如硬件资源故障)都有可能导致数据丢失,为保证数据的完整性,除多副本存储机制外,数据库还提供了更加灵活的备份方案供用户选择。目前,虚谷数据库提供两种备份恢复方案:
- 物理备份恢复:即系统级备份恢复,直接备份数据库的数据文件,备份文件中包含所有库及库中的所有数据。恢复时通过替换集群各个节点对应备份的数据库文件执行恢复操作即可。
- 逻辑备份恢复:对特定的数据库对象进行备份,支持库级、用户级、模式级、表级四种层级的备份方案,用户根据需要制定相关的备份恢复方案。
从数据库的备份策略角度出发,虚谷数据库支持全量备份和增量备份两种备份策略。
- 全量备份:每次对数据进行完整的备份,即对整个数据库、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础。全量备份的备份与恢复操作都非常简单方便,但是数据存在大量的重复,并且会占用大量的磁盘空间,备份的时间也很长。
- 增量备份:只有那些在上次全量备份或者增量备份后被修改的文件才会被备份。以上次完整备份或上次增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份开始到最后一次增量备份之间的所有增量依次恢复,如中间某次的备份数据损坏,将导致数据的丢失。
备份恢复总体结构如下图:

一、物理备份恢复
1.1 物理备份恢复定义
物理备份恢复是指直接复制数据库的二进制文件,包括数据文件、重做日志文件等,以磁盘块为基本单位将数据从主机复制到备机,主机是当前数据库所在的服务器,备机可以是当前服务器的另一个数据库,也可以是其他服务器的数据库,将本机备份的文件直接放到备机上恢复即可。
虚谷数据库物理备份即系统级备份,该备份为全备份,备份文件中包含所有库及库中的所有数据。由于系统级备份涉及整个系统内所有的数据,所需权限较高,因此该操作只能由系统管理员SYSDBA
登录系统库SYSTEM
执行。
1.2 物理备份恢复应用场景
- 大型数据库快速恢复:物理备份适用于大型且重要的数据库。在数据库出现问题时,物理备份能够快速恢复数据库,减少业务中断时间。
- 对数据安全有高需求:物理备份是对数据库的完整备份,可以使数据库恢复到发生故障之前,提高数据的安全性。
备份恢复能力 | 系统级备份恢复 |
---|---|
全量备份备份恢复 | 支持 |
增量备份备份恢复 | 支持 |
单机备份恢复 | 支持 |
集群备份恢复 | 3节点及以下支持 |
按时间恢复 | 支持 |
1.3 物理备份
1.3.1 语法格式
1.3.2 参数说明
opt_increment
:[ ALL | INCREMENT ]是可选项,ALL是新建备份,INCREMENT是在已存在的备份文件中追加,缺省是ALL。一般用于系统级增量备份。系统级备份推荐使用ALL。[APPEND] TO
:新建备份文件或追加备份内容至已存在的备份文件尾部。backup_file
:备份文件,路径+文件名表示,如:/BACKUP/DEMO.DMP
。opt_online
:[ ONLINE | OFFLINE ]是可选项,备份时可选在线或离线备份,系统级的离线会强制断开除当前连接外的所有连接,缺省是OFFLINE。key_str
:可选项,加密的密钥。用于在备份时对导出的内容加密。opt_compress
:[ COMPRESS | NOCOMPRESS ]是可选项,指示是否启用压缩,缺省时启用压缩,压缩可以有效减少高重复度数据的物理存储空间占用。
1.3.3 使用限制和注意事项
- 物理备份与恢复时的操作系统和数据库版本必须保持一致。
- 物理备份异常中断后,不能基于此异常备份文件进行增量备份,必须手动在删除已生成的异常备份文件后再重新进行全量备份。
- 物理备份必须保证备份存储磁盘有足够的磁盘空间存储备份数据。
- 冷备份必须在停止服务后进行。
- 多节点下的全量备份和增量备份必须在主节点上执行,并且集群节点数不能超过3个。
1.3.4 物理备份示例
由系统管理员SYSDBA
登录系统库SYSTEM
执行全量和增量备份命令。
sql
SQL> BACKUP SYSTEM TO '/BACKUP/SYS.DMP';
prepare system backup,close other db connection
create new backup file,start backing up entire system
backup file /CATA/GSYS1.SYS success
backup file /CATA/UNDO.SYS success
backup file /CATA/LSYS1.SYS success
backup file /DATA/DATA1.DBF success
backup file /DATA/DATA2.DBF success
backup file /DATA/DATA3.DBF success
backup file /DATA/DATA4.DBF success
backup system finish
Execute successful.
Use time:4517 ms.
-- 增量备份
-- 新增增量备份文件方式
SQL> BACKUP SYSTEM INCREMENT TO '/BACKUP/SYS1.DMP'; --会新增一个SYS1.DMP文件
-- 追加到全量备份文件的方式
SQL> BACKUP SYSTEM INCREMENT APPEND TO '/BACKUP/SYS.DMP'; --会将后续的修改保存到已经存在的全量备份文件中
-- 在线加密压缩
SQL> BACKUP SYSTEM TO '/BACKUP/SYS.DMP' ONLINE ENCRYPTOR IS 'BACKUO_ENCRY' COMPRESS;
集群备份示例:
当前示例环境为3节点,1、2号节点为Master,在1号与2号节点处均可进行备份操作。
sql-- 集群备份,先判断当前节点是否是主节点,并且确定当前集群节点数小于等于3 SQL> BACKUP SYSTEM TO '/BACKUP/SYS_CLUSTER.DMP'; -- 集群增量备份和单机语法一样 SQL> BACKUP SYSTEM INCREMENT APPEND TO '/BACKUP/SYS_CLUSTER.DMP'; --会将后续的修改保存到已经存在的全量备份文件中
执行命令后,等待出现
Execute successful.Use time:xxx ms.
回显,则表示备份成功。
1.4 物理恢复
1.4.1 语法格式
1.4.2 参数说明
backup_file
:备份文件,路径+文件名表示,如:/BACKUP/SYS.DMP
、/BACKUP/SYS.EXP
。key_str
:解密的密钥。如果在备份时使用了加密,那么在恢复的时候需要指定与备份相同密钥用于解密。opt_until_time
:恢复到指定时间的时间点。
1.4.3 使用限制和注意事项
- 集群系统级全量恢复和增量恢复集群同样不能超过三个节点,并且恢复时需非活跃主节点全部离线,只留下唯一的活跃主节点来执行恢复语句,恢复完成后服务会立即停止。此时重启集群,会自动将所有备份数据恢复到所有节点。
- 按时间点恢复时,必须开启归档并且必须将还未归档的redo日志拷贝到ARCH目录下,开启归档的方式为,设置参数log_archive_mode > 0,指令为set log_archive_mode to 1或者set log_archive_mode to 2,log_archive_mode 参数详细介绍请参阅log_archive_mode。
1.4.4 示例
恢复前,需要将备份文件拷贝至目标库的BACKUP下,然后由系统管理员SYSDBA
执行恢复命令。
sql
-- 系统级恢复
SQL> RESTORE SYSTEM FROM '/BACKUP/SYS.DMP';
-- 对于增量备份的恢复方式
-- 非追加方式备份
SQL> RESTORE SYSTEM FROM '/BACKUP/SYS.DMP'; --先恢复全量备份数据
SQL> RESTORE SYSTEM FROM '/BACKUP/SYS1.DMP'; ---恢复增量备份的数据
-- 追加方式
SQL> RESTORE SYSTEM FROM '/BACKUP/SYS.DMP'; --由于所有数据都在一个文件中,直接恢复
-- 系统级恢复解密
SQL> RESTORE SYSTEM FROM '/BACKUP/SYS.DMP' ENCRYPTOR IS 'BACKUO_ENCRY';
集群恢复示例:集群节点数小于3,当前节点为活跃主master节点,且其余节点均不在线。
sql
-- 全量恢复
SQL> RESTORE SYSTEM FROM '/BACKUP/SYS.DMP'; --恢复全量备份数据
-- 追加模式,全量恢复文件包含所有要恢复的数据,无需操作
-- 非追加模式
SQL> RESTORE SYSTEM FROM '/BACKUP/SYS1.DMP'; ---恢复增量备份的数据
按时间点恢复示例:开启归档之后。
sql
-- 按时间点恢复
SQL> RESTORE SYSTEM FROM '/BACKUP/SYS.DMP' UNTIL TUME '9999-12-31 23:59:59.999'; --恢复到指定的时间点
二、逻辑备份恢复
2.1 逻辑备份恢复定义
逻辑备份是数据库的一种备份方式,涉及将数据库中的数据和结构以可读的格式导出,并保存到文件中。
逻辑备份相对系统级备份而言,其备份的数据更加灵活,备份最小粒度支持到表级,提供了更多的备份选择。同时,逻辑备份不受数据库系统的限制,在单机和集群上均可执行逻辑备份操作。
2.2 逻辑备份恢复应用场景
- 小量数据迁移:逻辑备份特别适合于帮助业务用户、DBA方便、简洁地迁移小量数据(通常认为在5GB内)。
- 跨平台和跨版本恢复:逻辑备份可以跨平台和跨版本恢复数据,为数据库迁移和升级提供了便利。
- 特定对象备份:可以选择性地备份特定的数据库对象(如库、用户、模式、表),从而节省备份空间和时间。
- 数据查看和验证:逻辑备份文件是可读的文本格式,方便用户查看和验证数据内容。
备份恢复能力 | 库级逻辑备份 | 用户级恢复 | 模式级恢复 | 表级逻辑备份 |
---|---|---|---|---|
全量备份 | 支持 | 支持 | 支持 | 支持 |
增量备份 | 不支持 | 不支持 | 不支持 | 不支持 |
单机恢复 | 支持 | 支持 | 支持 | 支持 |
集群恢复 | 支持 | 支持 | 支持 | 支持 |
表级恢复 | 支持 | 支持 | 支持 | 支持 |
模式级恢复 | 支持 | 支持 | 支持 | 不支持 |
用户级恢复 | 支持 | 支持 | 不支持 | 不支持 |
库级恢复 | 支持 | 不支持 | 不支持 | 不支持 |
2.3 库级逻辑备份
2.3.1 功能说明
库级逻辑备份:备份目标库下所有的对象。因此,库级逻辑备份需要由备份库的管理员SYSDBA
登录至备份目标库进行操作。
2.3.2 语法格式
2.3.3 参数说明
backup_file
:备份文件,路径+文件名表示,如:/BACKUP/DB.DMP
、/BACKUP/DB.EXP
。key_str
:可选项,加密的密钥。用于在备份时对导出的内容加密。opt_compress
:[ COMPRESS | NOCOMPRESS ]
是可选项,指示是否启用压缩,缺省时启用压缩,压缩可以有效减少高重复度数据的物理存储空间占用。
2.3.4 使用限制和注意事项
- 库级备份是对库的完整备份,库包含的所有对象都会被备份。
- 系统库也可以执行库级备份操作,并且也会备份系统表信息。
2.3.5 示例
由备份库的管理员SYSDBA
登录至需要做备份的库,执行备份命令。
sql
SQL> CREATE DATABASE db_bak;
Execute successful.
Use time:1 ms.
SQL> USE db_bak;
db_name db_bak
Execute successful.
Use time:0 ms.
SQL> CREATE TABLE t_bak(c1 INT,c2 VARCHAR);
Execute successful.
Use time:21 ms.
SQL> BEGIN
FOR i IN 1..100 LOOP
INSERT INTO t_bak VALUES(i,'test'||i);
END LOOP;
COMMIT;
END;
/
Execute successful.
Use time:0 ms.
SQL> BACKUP DATABASE TO '/BACKUP/DB_BAK.EXP';
备份表 SYSDBA.T_BAK -------------------------------------------------- 数据行数 100
Execute successful.
Use time:60 ms.
--加密压缩
SQL> BACKUP DATABASE TO '/BACKUP/DB_BAK_ENCRY.EXP' ENCRYPTOR IS 'BACKUO_ENCRY' COMPRESS;
2.4 库级逻辑恢复
2.4.1 功能说明
为保证历史数据不受恢复操作影响,库级恢复不支持在非空库下进行操作,因此在执行恢复操作前,需要创建一个新库,然后由新库管理员执行。
2.4.2 语法格式
2.4.3 参数说明
db_name
:库名。backup_file
:备份文件,路径+文件名表示,如:/BACKUP/DB.DMP
、/BACKUP/DB.EXP
。key_str
:解密的密钥。如果在备份时使用了加密,那么在恢复的时候需要指定与备份相同密钥用于解密。WITH REINDEX
:可选项,表示在恢复的时候重建索引,缺省是不重建索引。因为重建恢复库中所有的索引有可能耗时很长,所以在数据量很大的时候,可以在恢复完成之后手动重建索引。
2.4.4 使用限制和注意事项
- 恢复目标库和备份库字符集必须保持一致。
- 库级恢复过程被中断,执行删库操作后存储有几率不能回收。
- 当指定了
WITH REINDEX
,库级恢复会在所有表都恢复完成后重建所有索引。 - 库级恢复须在一个非空库完成,如果参数security_level>0,创建库时会产生审计结果表,此时创建的库非空,会抛出非空库不能恢复的异常,参数security_level 详细介绍请参阅security_level。
2.4.5 示例
库级恢复前,需要将库级备份文件拷贝至恢复目录下,然后由库管理员登录到目标库执行恢复命令。
sql
SQL> USE SYSTEM;
SQL> CREATE DATABASE db_restore;
Execute successful.
Use time:1 ms.
SQL> USE db_restore;
db_name db_restore
Execute successful.
Use time:0 ms.
SQL> RESTORE DATABASE db_bak FROM '/BACKUP/DB_BAK.EXP';
恢复表 SYSDBA.T_BAK -------------------------------------------------- 数据行数 100
Execute successful.
Use time:97 ms.
-- 库级恢复带解密
SQL> RESTORE DATABASE db_bak FROM '/BACKUP/DB_BAK_ENCRY.EXP' ENCRYPTOR IS 'BACKUO_ENCRY';
-- 库级恢复重建索引
SQL> RESTORE DATABASE db_bak FROM '/BACKUP/DB_BAK.EXP' WITH REINDEX;
2.5 用户级逻辑备份
2.5.1 功能说明
用户级逻辑备份:备份指定用户下所有对象。用户级备份需要由库管理员SYSDBA
登录至用户所在库执行。
2.5.2 语法格式
2.5.3 参数说明
user_name
:需要备份的用户名。backup_file
:备份文件,路径+文件名表示,需要用单引号包裹,如:/BACKUP/USR.DMP
、/BACKUP/USR.EXP
。key_str
:可选项,加密的密钥。用于在备份时对导出的内容加密。opt_compress
:[ COMPRESS | NOCOMPRESS ]
是可选项,指示是否启用压缩,缺省时启用压缩,压缩可以有效减少高重复度数据的物理存储空间占用。
2.5.4 使用限制和注意事项
- 用户级备份只备份了用户下的表对象,其他对象均没有备份,表的依赖也没有备份。
- 用户级备份只能备份指定用户,不能备份多个用户或者特定范围内的用户,例如一个库下的所有用户。
2.5.5 示例
由库管理员登录用户所在库执行备份命令。
sql
SQL> USE db_bak;
db_name db_bak
Execute successful.
Use time:0 ms.
SQL> CREATE USER u_bak IDENTIFIED BY 'abc@1234';
Execute successful.
Use time:0 ms.
SQL> CREATE TABLE u_bak.t_bak(c1 INT,c2 VARCHAR);
Execute successful.
Use time:21 ms.
SQL> BEGIN
FOR i IN 1..100 LOOP
INSERT INTO u_bak.t_bak VALUES(i,'test'||i);
END LOOP;
COMMIT;
END;
/
Execute successful.
Use time:0 ms.
SQL> BACKUP USER u_bak TO '/BACKUP/U_BAK.EXP';
备份表 U_BAK.T_BAK --------------------------------------------------- 数据行数 100
Execute successful.
Use time:0 ms.
-- 用户级备份加密并且压缩
SQL> BACKUP USER u_bak TO '/BACKUP/U_BAK_ENCRY.EXP' ENCRYPTOR IS 'BACKUO_ENCRY' COMPRESS;
2.6 用户级逻辑恢复
2.6.1 功能说明
用户级恢复:恢复指定用户下所有对象的数据,恢复时,会执行对象创建操作。因此,在恢复前如果已存在此用户,则需要保证该用户下不存在任何数据,否则会出现恢复后的数据与备份数据不一致的情况。
2.6.2 语法格式
2.6.3 参数说明
user_name
:恢复用户的用户名。backup_file
:备份文件,路径+文件名表示,如:/BACKUP/USR.DMP
、/BACKUP/USR.EXP
。key_str
:解密的密钥。如果在备份时使用了加密,那么在恢复的时候需要指定与备份相同密钥用于解密。
2.6.4 使用限制和注意事项
- 用户级逻辑恢复时默认重建索引。
- 用户恢复时对应的模式不存在会创建用户同名模式恢复。
2.6.5 示例
恢复前,需要将备份文件拷贝至恢复目录,然后由库管理员登录至恢复目标库执行恢复命令。
sql
SQL> USE db_restore;
db_name db_restore
Execute successful.
Use time:0 ms.
SQL> RESTORE USER u_bak FROM '/BACKUP/U_BAK.EXP';
恢复表 U_BAK.T_BAK --------------------------------------------------- 数据行数 100
Execute successful.
Use time:107 ms.
-- 恢复并且解密
SQL> RESTORE USER u_bak FROM '/BACKUP/U_BAK_ENCRY.EXP' ENCRYPTOR IS 'BACKUO_ENCRY';
2.7 模式级逻辑备份
2.7.1 功能说明
模式级逻辑备份:备份指定模式下的所有对象。模式级备份需要由库管理员SYSDBA
登录至模式所在库执行。
2.7.2 语法格式
2.7.3 参数说明
schema_name
:需要备份的模式名。backup_file
:备份文件,路径+文件名表示,需要用单引号包裹,如:/BACKUP/SCH.DMP
、/BACKUP/SCH.EXP
。key_str
:可选项,加密的密钥。用于在备份时对导出的内容加密。opt_compress
:[ COMPRESS | NOCOMPRESS ]
是可选项,指示是否启用压缩,缺省时启用压缩,压缩可以有效减少高重复度数据的物理存储空间占用。
2.7.4 使用限制和注意事项
- 模式级备份只会备份表对象,其他对象都没有备份。
2.7.5 示例
由库管理员登录至模式所在库,执行备份命令。
sql
SQL> USE db_bak;
db_name db_bak
Execute successful.
Use time:0 ms.
SQL> CREATE SCHEMA s_bak AUTHORIZATION u_bak;
Execute successful.
Use time:0 ms.
SQL> CREATE TABLE s_bak.t_bak(c1 INT,c2 VARCHAR);
Execute successful.
Use time:21 ms.
SQL> BEGIN
FOR i IN 1..100 LOOP
INSERT INTO s_bak.t_bak VALUES(i,'test'||i);
END LOOP;
COMMIT;
END;
/
Execute successful.
Use time:0 ms.
SQL> BACKUP SCHEMA s_bak TO '/BACKUP/S_BAK.EXP';
-- 加密压缩模式级备份
SQL> BACKUP SCHEMA s_bak TO '/BACKUP/S_BAK_ENCRY.EXP' ENCRYPTOR IS 'BACKUO_ENCRY' COMPRESS;
2.8 模式级逻辑恢复
2.8.1 功能说明
模式级恢复:恢复指定模式下所有的对象,默认恢复至备份模式下。
2.8.2 语法格式
2.8.3 参数说明
schema_name
:需要恢复的模式名。new_schema_name
:可选项,恢复至新的目标模式名。backup_file
:备份文件,路径+文件名表示,如:/BACKUP/SCH.DMP
、/BACKUP/SCH.EXP
。key_str
:解密的密钥。如果在备份时使用了加密,那么在恢复的时候需要指定与备份相同密钥用于解密。
2.8.4 使用限制和注意事项
- 模式级逻辑恢复时默认重建索引。
- 执行恢复操作时,
schema_name
必须是一个已经备份的模式。如果提供的schema_name
与备份中的模式名称不一致,会报需恢复的模式不存在的错误。 - RENAME TO new_schema_name操作可以指定一个模式名,若此模式名不存在就会创建该模式。
2.8.5 示例
由库管理员SYSDBA
登录至恢复目标库执行恢复命令。
sql
SQL> USE db_restore;
db_name db_restore
Execute successful.
Use time:0 ms.
SQL> RESTORE SCHEMA s_bak FROM '/BACKUP/S_BAK.EXP';
恢复表 S_BAK.T_BAK --------------------------------------------------- 数据行数 100
Execute successful.
Use time:107 ms.
-- 模式级恢复解密
SQL> RESTORE SCHEMA s_bak FROM '/BACKUP/S_BAK_ENCRY.EXP' ENCRYPTOR IS 'BACKUO_ENCRY';
-- 模式级恢复改模式名
SQL> RESTORE SCHEMA s_bak RENAME TO s_bak1 FROM '/BACKUP/S_BAK.EXP';
2.9 表级逻辑备份
2.9.1 功能说明
表级逻辑备份:相比于库级逻辑备份,备份粒度更细,用户可通过此种方式精确备份指定的表。执行表级逻辑备份时,可以将一个表备份至一个文件,也可以将多个表备份至同一个文件。
2.9.2 语法格式
2.9.3 参数说明
table_name
:目标备份的表名。schema_name
:表所属的模式名,默认为当前登录用户的同名模式。[APPEND] TO
:新建备份文件或追加备份内容至已存在的备份文件尾部。backup_file
:备份文件,路径+文件名表示,需要用单引号包裹,如:/BACKUP/TB.DMP
、/BACKUP/TB.EXP
。key_str
:可选项,加密的密钥。用于在备份时对导出的内容加密。opt_compress
:[ COMPRESS | NOCOMPRESS ]
是可选项,指示是否启用压缩,缺省时启用压缩,压缩可以有效减少高重复度数据的物理存储空间占用。
2.9.4 使用限制和注意事项
- 表级备份会备份表的结构和数据到文件中,包括表的字段、约束、数据、分区、索引。
- 表级备份是将表结构和索引写成sql语句。
2.9.5 示例
由对象所属的用户登录数据库,执行备份命令。
sql
SQL> CREATE TABLE t_backup(c1 INT,c2 VARCHAR);
Execute successful.
Use time:21 ms.
SQL> BEGIN
FOR i IN 1..100 LOOP
INSERT INTO t_backup VALUES(i,'test'||i);
END LOOP;
COMMIT;
END;
/
Execute successful.
Use time:0 ms.
SQL> BACKUP TABLE t_backup TO '/BACKUP/T_BACKUP.EXP';
备份表 SYSDBA.T_BACKUP ----------------------------------------------- 数据行数 100
Execute successful.
Use time:0 ms.
-- 表级备份加密压缩
SQL> BACKUP TABLE t_backup TO '/BACKUP/T_BACKUP_ENCRY.EXP' ENCRYPTOR IS 'BACKUO_ENCRY' COMPRESS;
-- 表级备份追加
SQL> BACKUP TABLE t_backup APPEND TO '/BACKUP/T_BACKUP.EXP';
2.10 表级逻辑恢复
2.10.1 功能说明
执行表级恢复时,允许要恢复的表在恢复库中已经存在,前提是两个表的表结构完全一致,否则无法恢复。表备份恢复支持两种恢复模式,按原表名恢复和按新表名恢复。
2.10.2 语法格式
2.10.3 参数说明
table_name
:目标备份的表名。schema_name
:表所属的模式名,默认为当前登录用户的同名模式。RENAME
:可以将原备份的表恢复到指定模式下的表。backup_file
:备份文件,路径+文件名表示,如:/BACKUP/TB.DMP
、/BACKUP/TB.EXP
。key_str
:解密的密钥。如果在备份时使用了加密,那么在恢复的时候需要指定与备份相同密钥用于解密。
2.10.4 使用限制和注意事项
- 表级逻辑恢复时默认重建索引。
2.10.5 示例
由库管理员SYSDBA
登录至恢复目标库,执行恢复命令。
sql
SQL> DROP TABLE t_backup;
Execute successful.
Use time:0 ms.
SQL> RESTORE TABLE t_backup FROM '/BACKUP/T_BACKUP.EXP';
恢复表 SYSDBA.T_BACKUP ----------------------------------------------- 数据行数 100
Execute successful.
Use time:107 ms.
-- 表级恢复解密
SQL> RESTORE TABLE t_backup FROM '/BACKUP/T_BACKUP_ENCRY.EXP' ENCRYPTOR IS 'BACKUO_ENCRY';
-- 表级恢复改名
SQL> RESTORE TABLE t_backup RENAME TO t_backup1 FROM '/BACKUP/T_BACKUP.EXP';