#备份
通过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

