库级逻辑恢复
功能说明
为保证历史数据不受恢复操作影响,库级恢复不支持在非空库下进行操作,因此在执行恢复操作前,需要创建一个新库,然后由新库管理员执行。
语法格式
sql
RESTORE DATABASE db_name FROM file_path [opt_encryptor] [WITH REINDEX];
参数说明
db_name
:库名。file_path
:备份文件的路径字符串,用单引号包裹。opt_encryptor
:加密的密钥。如果在备份时使用了加密,那么在恢复的时候需要指定密钥用于解密。WITH REINDEX
:可选项,表示在恢复的时候重建索引,缺省是不重建索引。因为重建恢复库中所有的索引有可能耗时很长,所以在数据量很大的时候,可以在恢复完成之后手动重建索引。
说明:
恢复目标库和备份库字符集必须保持一致。
示例
库级恢复流程:
- 恢复系统表。
- 创建表对象。
- 导入数据。
- 重复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.