ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB BACKUP ARCHIVELOG语句

YashanDB BACKUP ARCHIVELOG语句

国内数据库 作者:崖山数据库系统YashanDB 时间:2025-08-19 10:24:52 0 删除 编辑

通用描述

BACKUP ARCHIVELOG用于执行对当前数据库归档日志文件的备份。

在 DBA_ARCHIVE_BACKUPSET视图中查询生成的备份集信息。

在 V$BACKUP_PROGRESS视图中查询备份的过程信息。

只能在数据库状态为OPEN时备份数据库,且归档模式必须为开启状态(使用 ALTER DATABASE语句调整归档模式)。

关于备份恢复的详细操作描述请参考 备份恢复。

该语句仅适用于单机和共享集群部署。

#语句定义

backup archivelog::=

语法图
代码
syntax::= BACKUP ARCHIVELOG archivelogRangeSpecifier [backupCommonSpecifier]

archive_log_range_specifier::=

语法图
代码
syntax::= (((FROM SCN | SCN BETWEEN interger AND | UNTIL SCN ) interger | (FROM SEQUENCE | SEQUENCE BETWEEN interger AND | UNTIL SEQUENCE ) interger [THREAD interger] | (FROM TIME | TIME BETWEEN date_string AND | UNTIL TIME ) date_string | ALL))

backup_common_specifier::=

语法图
代码
syntax::= ((COMPRESSION [ALGORITHM (ZSTD|LZ4) [LOW|MEDIUM|HIGH]])|(ENCRYPTION [AES128|AES192|AES256|SM4] IDENTIFIED BY password)|(FORMAT backup_path)|(TAG tag_name)|PARALLELISM integer|SECTION SIZE size_clause){" " ((COMPRESSION [ALGORITHM (ZSTD|LZ4) [LOW|MEDIUM|HIGH]])|(ENCRYPTION [AES128|AES192|AES256|SM4] IDENTIFIED BY password)|(FORMAT backup_path)|(TAG tag_name)|PARALLELISM integer|SECTION SIZE size_clause)}

archivelograngespecifier

用于指定需备份的归档日志范围。

若范围区间内有指定的归档日志文件不存在(例如文件已被删除、某一序列号对应的归档日志文件暂未生成等)现象,备份操作会失败并提示错误码YAS-02544。

#scn

用于指定需备份的归档日志SCN范围,SCN为64位无符号整数。

通过V$ARCHIVED_LOG视图可以获取当前已存在的归档日志文件中第一条日志的SCN(FIRST_CHANGE#字段)、最后一条日志的SCN(NEXT_CHANGE#字段)以及其他详细信息。

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

BACKUP ARCHIVELOG SCN BETWEEN 505411989407080448 AND 505412089999663104 FORMAT 'SCNRANGE' TAG 'SCNRANGE' COMPRESSION;
Copied!

#sequence

用于指定需备份的归档日志序列号范围,序列号为32位无符号整数。

通过V$ARCHIVED_LOG视图可以获取当前已存在的归档日志文件的序列号(SEQUENCE#字段)以及其他详细信息。

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

BACKUP ARCHIVELOG SEQUENCE BETWEEN 2 AND 10 FORMAT 'ASNRANGE' TAG 'ASNRANGE' PARALLELISM 8 SECTION SIZE 128M;
Copied!

#time

用于指定需备份的归档日志的时间范围,最早默认不早于当前环境的安装时间,最晚可以设置为未来时间但实际备份的内容截止于最大归档文件序列号所对应文件中的最后一条日志的SCN所对应的时间。

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

BACKUP ARCHIVELOG TIME BETWEEN TO_DATE('2023-10-28 08:14:01','yyyy-mm-dd hh24:mi:ss') AND TO_DATE('2023-11-28 11:14:01','yyyy-mm-dd hh24:mi:ss') FORMAT 'TIMERANGE' TAG 'TIMERANGE' COMPRESSION;
Copied!

#from

在归档备份语句中,与SCN、SEQUENCE或TIME配合使用指定归档日志备份的起点。

指定FROM指令备份归档日志时,备份的终点为当前数据库已存在的最大归档文件序列号所对应文件中的最后一条日志,通过V$ARCHIVED_LOG视图可以获取当前已存在的归档日志文件相关信息。

若指定的起点大于(或晚于)终点,则提示错误码YAS-02541,没有符合条件的归档文件。

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

BACKUP ARCHIVELOG FROM SCN 505412089999663104 FORMAT 'FROMSCN' TAG 'FROMSCN' COMPRESSION;BACKUP ARCHIVELOG FROM SEQUENCE 10 FORMAT 'FROMASN' TAG 'FROMASN' PARALLELISM 8 SECTION SIZE 128M;BACKUP ARCHIVELOG FROM TIME TO_DATE('2023-11-28 11:14:01','yyyy-mm-dd hh24:mi:ss')  FORMAT 'FROMTIME' TAG 'FROMTIME' COMPRESSION;
Copied!

#between … and …

在归档备份语句中,与SCN、SEQUENCE或TIME配合使用指定归档日志备份的区间。

指定BETWEEN …(起点) AND …(终点)指令备份归档日志时,备份的起点和终点均为指定值,通过V$ARCHIVED_LOG视图可以获取当前已存在的归档日志文件相关信息并按需选定起点和终点。

若指定的起点大于(或晚于)终点,则提示错误码YAS-02541,没有符合条件的归档文件。

#until

在归档备份语句中,与SCN、SEQUENCE或TIME配合使用指定为归档日志备份的终点。

指定UNTIL指令备份归档日志时,备份的起点为当前数据库已存在的最小归档文件序列号所对应文件中的第一条日志,通过V$ARCHIVED_LOG视图可以获取当前已存在的归档日志文件相关信息。

若指定的终点小于(或早于)起点,则提示错误码YAS-02541,没有符合条件的归档文件。

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

BACKUP ARCHIVELOG UNTIL SCN  505412089999663104 FORMAT 'UNTILSCN' TAG 'UNTILSCN' COMPRESSION;BACKUP ARCHIVELOG UNTIL SEQUENCE 10 FORMAT 'UNTILASN' TAG 'UNTILASN' PARALLELISM 8 SECTION SIZE 128M;BACKUP ARCHIVELOG UNTIL TIME TO_DATE('2023-11-28 11:14:01','yyyy-mm-dd hh24:mi:ss')  FORMAT 'UNTILTIME' TAG 'UNTILTIME' COMPRESSION;
Copied!

#backupcommonspecifier

用于指定备份操作的压缩、加密、并行度等通用配置。

#compression

该语句用于压缩备份集,COMPRESSION后的选项都省略时,表示按ZSTD算法和LOW级别压缩备份数据。

增量备份的每个备份集可采用不同的压缩算法及级别,不影响对其的恢复。

压缩算法

通过ALGORITHM关键字指定,YashanDB提供如下两种压缩算法供用户选择:

  • ZSTD:可提供更高的压缩率。
  • LZ4:可提供更高的压缩速率。

压缩级别

在指定压缩算法时可同时指定压缩级别,可省略,则缺省采用LOW级别。

压缩级别包含HIGH、MEDIUM、LOW三个选项,其中HIGH表示最高的压缩率(最低的压缩速度),LOW表示最低的压缩率(最高的压缩速度)。

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

BACKUP ARCHIVELOG ALL COMPRESSION;BACKUP ARCHIVELOG SEQUENCE BETWEEN 2 AND 10 COMPRESSION ALGORITHM lz4 HIGH;
Copied!

#encryption

该语句用于加密备份集。

增量备份的每个备份集需要保证统一的都加密或者都不加密,且每个备份集的密钥必须保持一致。

加密算法

YashanDB提供如下四种加密算法供选择,不指定时默认采用AES128加密算法:

  • AES128
  • AES192
  • AES256
  • SM4

IDENTIFIED BY

指定加密备份时必须输入的密钥,该密钥输入的约束规则同用户口令规则,参考 CREATE USER中password描述。

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

BACKUP ARCHIVELOG ALL ENCRYPTION IDENTIFIED BY 12345;
Copied!

#format

该语句用于指定生成的备份集的文件名称,省略则默认为 $YASDB_DATA/backup/bak_{date}。

当文件名称中未指定路径时,默认创建在数据库的$YASDB_DATA/backup文件夹下。

共享集群部署中,通过指定为 YFS路径,可将数据备份至共享存储上;指定为普通磁盘路径时,则将数据备份至实例所在服务器上。

#tag

该语句用于指定备份集的别名,该别名最大长度为64(包含结束符'\0')。

#parallelism

该语句用于指定多线程备份的并行度,取值范围为[1,8],省略时默认为2。

#section size

该语句用于指定文件分片大小,超过该值的文件会被拆分为多个小文件执行备份,取值范围为[128M,32T],省略时默认为系统自动计算的最优值。若指定默认文件大小不是1M整数倍,则会向下取整按照1M对齐。

Note:

请按照实际数据文件大小选择合适的分片大小,假设当前YashanDB中单个数据文件最大大小为MAXSIZE,建议分片大小应该小于(MAXSIZE/(PARALLELISM*2)),且建议最大不超过4G,其中PARALLELISM为备份指定的并行度,可有效提高备份效率。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3093741/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    639691