Skip to content

系统级备份

功能说明

系统级备份:全备份,备份文件中包含所有库及库中的所有数据。

由于系统级备份涉及整个系统内所有的数据,所需权限较高,因此该操作只能由系统管理员SYSDBA登录系统库SYSTEM执行。

语法格式

sql
BACKUP SYSTEM [opt_increment] [APPEND] TO file_path [opt_online] [opt_encryptor] [opt_compress];

参数说明

  • opt_increment[ ALL | INCREMENT ]是可选项,ALL是新建备份,INCREMENT是增量备份,默认是ALL。一般用于系统级增量备份。系统级备份推荐使用ALL。增量备份时,建议使用追加方式,将增量数据合并到上一次备份文件中,如果增量使用新建文件保存,在恢复时先清除XHOME,再按照全量文件,增量文件的顺序一次恢复。
  • [APPEND] TOAPPEND是可选项,用于追加增量备份,只能在INCREMENT存在时使用,全量备份不允许追加到现有文件;增量备份可以新建文件也可以追加到现有文件,其中INCREMENT APPEND是追加到全量备份文件,而只加INCREMENT是新建文件备份。
  • file_path:备份文件名,包含存储目录(指数据库的系统目录),需要用单引号包裹,如:/BACKUP/DEMO.DMP。
  • opt_online[ ONLINE | OFFLINE ]是可选项,备份时可选在线或离线备份,系统级的离线会强制断开当前所有的连接,缺省是OFFLINE
  • opt_encryptor:可选项,加密的密钥。一般用于需要在备份时对导出的内容加密使用。
  • opt_compress[ COMPRESS | NOCOMPRESS ]是可选项,指示是否启用压缩,缺省启用压缩,压缩可以对重复度高的数据减少物理存储的空间占用。

注意:

  • 本文file_path中的目录均为数据库内部的逻辑目录,并非操作系统目录。其对应的操作系统目录默认映射至安装目录下的XHOME/BACUP,具体的映射目录由SETUP/mount.ini中的配置确定,此配置文件详情可参考《安装指南》的安装前配置章节。
  • 对于集群环境下的全量备份恢复和增量备份恢复,由于暂时不支持三节点以上的集群进行备份,在备份时节点个数不能超过三个,并且备份操作需在主节点上进行。

示例

由系统管理员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';  --会将后续的修改保存到已经存在的全量备份文件中

集群备份示例:

  1. 当前示例环境为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';  --会将后续的修改保存到已经存在的全量备份文件中
  2. 执行命令后,等待出现Execute successful.Use time:xxx ms.回显,则表示备份成功。