Skip to content

库级逻辑备份

功能说明

库级逻辑备份:备份目标库下所有的对象。因此,库级逻辑备份需要由备份库的管理员SYSDBA登录至备份目标库进行操作。

语法格式

sql
BACKUP DATABASE [opt_increment] [APPEND] TO file_path [opt_encryptor] [opt_compress];

参数说明

  • opt_increment[ ALL | INCREMENT ]是可选项,ALL是新建备份,INCREMENT是在已存在的备份文件中追加,缺省是ALL。一般用于系统级增量备份。系统级备份推荐使用ALL
  • [APPEND] TO:新建备份文件或追加备份内容至已存在的备份文件尾部。
  • file_path:备份文件名,包含存储目录(指数据库的系统目录),需要用单引号包裹,如:/BACKUP/DEMO.DMP
  • opt_encryptor:可选项,加密的密钥。一般用于在备份时对导出的内容进行加密。
  • opt_compress[ COMPRESS | NOCOMPRESS ]是可选项,指示是否启用压缩,缺省启用压缩,压缩可以对重复度高的数据减少物理存储的空间占用。

说明:

  • 系统级备份与库级备份语法上唯一的区别在于关键字(系统级:BACKUP SYSTEM,库级:BACKUP DATABASE),注意区分。
  • 库级备份无法指定某个库进行备份。

示例

由备份库的管理员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.