Skip to content

库级逻辑恢复

功能说明

为保证历史数据不受恢复操作影响,库级恢复不支持在非空库下进行操作,因此在执行恢复操作前,需要创建一个新库,然后由新库管理员执行。

语法格式

sql
RESTORE DATABASE db_name FROM file_path [opt_encryptor] [WITH REINDEX];

参数说明

  • db_name:库名。
  • file_path:备份文件的路径字符串,用单引号包裹。
  • opt_encryptor:加密的密钥。如果在备份时使用了加密,那么在恢复的时候需要指定密钥用于解密。
  • WITH REINDEX:可选项,表示在恢复的时候重建索引,缺省是不重建索引。因为重建恢复库中所有的索引有可能耗时很长,所以在数据量很大的时候,可以在恢复完成之后手动重建索引。

说明:

恢复目标库和备份库字符集必须保持一致。

示例

库级恢复流程:

  1. 恢复系统表。
  2. 创建表对象。
  3. 导入数据。
  4. 重复2、3步。

库级恢复前,需要将库级备份文件拷贝至恢复目录下,然后由库管理员登录到目标库执行恢复命令。

sql
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.