#备份

通过yasrman工具可以执行如下备份操作:

  • 备份全库:适用于所有部署形态,单机部署和共享集群部署的命令/用法完全一致。

  • 备份表空间:适用于单机部署,若为主备高可用环境则只能连接主库执行相关操作。

  • 备份归档日志:适用于单机部署和共享集群部署,且命令/用法完全一致。

备份会消耗一定的系统和数据库资源,请根据业务负载酌情选择备份窗口。当待备份对象的数据量大或希望提升备份效率时,可适当增大并发度,并发度默认为2。

通过yasrman工具备份时,可以按需将备份集文件存放在服务器端(DEST SERVER)或工具端(DEST CLIENT)。

# 备份全库

# 操作说明

  • 备份操作仅SYS超级用户或拥有SYSDBA、SYSBACKUP权限的用户才可执行。

  • 备份数据库不允许和表空间、redo文件等数据文件的增删、resize操作并发。在备库执行备份操作时还会阻塞备库回放表空间、数据文件操作相关的redo,此时会导致主备的日志差距增大,需等待备库的备份操作完成后备库才会正常回放主库redo。

  • 若在数据库只读模式或异常状态下执行全量备份,可以指定FORCE关键字,但强制备份不会记录系统表。

  • 在存算一体分布式集群部署中,若备份过程中任何一个节点备份出现异常,所有节点备份都将失败。

  • 备份前数据库环境准备:

    • 数据库实例处于OPEN阶段且已开启归档模式。

    • 已创建catalog路径,具体操作请查阅CREATE CATALOG

    • 如需自定义指定备份文件的保存路径,必须确保该路径为空且磁盘空间充足。

    • 如需备份加密对象,需先手动备份密钥钱包文件。

# 备份方式

# 全量备份

全量备份是指对某一时间点上的所有数据进行完全复制,不依赖之前的备份集。一个全量备份集可以恢复出所有数据。指定FULL关键字时表示执行全量备份。

示例(单机、共享集群部署)

$ yasrman sys/********@192.168.1.2:1688 
-c "BACKUP DATABASE TAG 'full_backup' FULL FORMAT 'full_001' PARALLELISM 3 DEST SERVER" 
-D /home/yashan/catalog

示例(存算一体分布式集群部署)

$ yasrman sys/********@192.168.1.2:1688 
-c "BACKUP CLUSTER TAG 'full_backup' FULL FORMAT 'full_001' PARALLELISM 3" 
-D /home/yashan/catalog

# 增量备份

增量备份是指首次执行基线备份(LEVEL 0),后续每次只需备份增量数据(LEVEL 1),备份LEVEL 1时可以基于LEVEL 0执行(即累积增量备份),也可以基于前序LEVEL 1执行(即差异增量备份)。

指定INCREMENTAL关键字表示执行增量备份。

增量备份需遵循如下使用规则:

  • 同一个增量备份链路中,连续LEVEL 1增量备份次数不得超过1000次。

  • 同一个增量备份链路中的多个备份集允许采用不同的压缩策略。

  • 同一个增量备份链路中的多个备份集必须采用一致的加密策略(都加密或都不加密,都加密时密码相同),但可以采用不同的加密算法。

  • 同一个增量备份链路中,DEST选项必须保持一致。

  • 恢复时需要依次恢复基线备份集、增量备份集。

# LEVEL 0

示例(单机、共享集群部署)

$ yasrman sys/password@192.168.1.2:1688 
-c "BACKUP DATABASE TAG 'incr_0_backup' INCREMENTAL LEVEL 0 FORMAT 'incr_0_002'" 
-D /home/yashan/catalog

示例(存算一体分布式集群部署)

$ yasrman sys/password@192.168.1.2:1688 
-c "BACKUP CLUSTER TAG 'incr_0_backup' INCREMENTAL LEVEL 0 FORMAT 'incr_0_002'" 
-D /home/yashan/catalog
# LEVEL 1

示例(单机、共享集群部署)

$ yasrman sys/********@192.168.1.2:1688 
-c "BACKUP DATABASE TAG 'incr_1_backup' INCREMENTAL LEVEL 1 FORMAT 'incr_1_002'" 
-D /home/yashan/catalog

示例(存算一体分布式集群部署)

$ yasrman sys/********@192.168.1.2:1688 
-c "BACKUP CLUSTER TAG 'incr_1_backup' INCREMENTAL LEVEL 1 FORMAT 'incr_1_002'" 
-D /home/yashan/catalog

# 压缩备份

执行数据库备份时,可以通过COMPRESSION关键字指定备份集压缩策略,可选项包括:

  • ALGORITHM关键字指定压缩算法:ZSTD或LZ4。

  • 压缩级别:HIGH、MEDIUM或LOW。

  • COMPRESSION后的选项都省略时,默认按ZSTD算法和LOW级别。

同一个增量备份链路中的多个备份集允许采用不同的压缩策略。

示例(单机、共享集群部署)

$ yasrman sys/********@192.168.1.2:1688 
-c "BACKUP DATABASE TAG 'full_compress' COMPRESSION ALGORITHM ZSTD LOW" 
-D /home/yashan/catalog

示例(存算一体分布式集群部署)

$ yasrman sys/********@192.168.1.2:1688 
-c "BACKUP CLUSTER TAG 'full_compress' COMPRESSION ALGORITHM ZSTD LOW" 
-D /home/yashan/catalog

# 加密备份

执行数据库备份时,可以通过ENCRYPTION关键字指定备份集加密策略,选项包括:

  • 加密算法:AES128、AES192、AES256或SM4,省略时默认采用SM4。

  • IDENTIFIED BY关键字指定指定密钥。

同一个增量备份链路中的多个备份集必须采用一致的加密策略(都加密或都不加密,都加密时密码相同),但可以采用不同的加密算法。

示例(单机、共享集群部署)

$ yasrman sys/********@192.168.1.2:1688 
-c "BACKUP DATABASE TAG 'full_encryption' ENCRYPTION AES256 IDENTIFIED BY yas2022" 
-D /home/yashan/catalog

示例(存算一体分布式集群部署)

$ yasrman sys/********@192.168.1.2:1688 
-c "BACKUP CLUSTER TAG 'full_encryption' ENCRYPTION AES256 IDENTIFIED BY yas2022" 
-D /home/yashan/catalog

# 备份表空间

备份表空间仅适用于单机部署,若为主备高可用环境则只能连接主库执行相关操作。

表空间备份时,不会备份对应的归档文件、BUCKET文件。

压缩、加密等通用备份属性与全库备份一致。

# 操作说明

  • 备份操作仅SYS超级用户或拥有SYSDBA、SYSBACKUP权限的用户才可执行。

  • 目标表空间不能为临时表空间、UNDO表空间和损坏的表空间。

  • 备份表空间不允许与表空间文件增删、表空间offline/online等操作并发。

  • 备份前数据库环境准备:

    • 数据库实例处于OPEN阶段且已开启归档模式。

    • 已创建catalog路径,具体操作请查阅CREATE CATALOG

    • 如需自定义指定备份文件的保存路径,必须确保该路径为空且磁盘空间充足。

    • 如需备份加密对象,需先手动备份密钥钱包文件。

# 操作示例

示例(单机、共享集群部署)

$ yasrman sys/********@192.168.1.2:1688 -c "backup tablespace user tag 'user_bak'" -D /home/yashan/catalog

# 备份归档日志

备份归档日志适用于单机部署和共享集群部署。

备份范围指定方式以及压缩、加密等通用备份属性与使用SQL语句备份一致。

# 操作说明

  • 备份操作仅SYS超级用户或拥有SYSDBA、SYSBACKUP权限的用户才可执行。

  • 备份归档日志时指定备份范围可以精确到某一条具体日志,但实际会以文件为最小单位进行备份,即会备份目标日志所在的整个文件。

  • 备份前数据库环境准备:

    • 数据库实例处于OPEN阶段且已开启归档模式。

    • 已创建catalog路径,具体操作请查阅CREATE CATALOG

    • 如需自定义指定备份文件的保存路径,必须确保该路径为空且磁盘空间充足。

# 操作示例

示例(单机、共享集群部署)

$ yasrman sys/********@192.168.1.2:1688 -c "BACKUP ARCHIVELOG TIME BETWEEN '2023-10-28 08:14:01' AND '2023-11-28 11:14:01'  FORMAT 'TIMERANGE' TAG 'TIMERANGE' COMPRESSION;" -D /home/yashan/catalog
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流