暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【YashanDB认证】YashanDB物理备份

Kubee 2024-07-21
381

备份和恢复

RTO和RPO

  • RTO(Recovery Time Objective),是指系统灾难发生后,从宕机到系统恢复之间的时间;
  • RPO(Recovery Point Objective),是指数据能够恢复到发生故障前的哪个时间节点。

image-20240718165027287

备份方式

  • 全量备份:备份整个数据库或文件
  • 增量备份:备份新增的数据
    • 差异备份:备份自**上次备份(可以是全备也可以是增备)**以来新增的数据
    • 累积备份:备份自上次全量(level 0)备份以来发生变化的数据。备份集占用空间相对大,恢复时间相对短

image-20240718165220123

使用SQL命令

backup(备份)

全量备份

BACKUP DATABASE FULL FORMAT '/backup/full' TAG 'full_01' PARALLELISM 3;
  • parallelism:指定多线程备份的并行度,取值范围[1,8],默认是2。

level 0级增量备份

BACKUP DATABASE INCREMENTAL LEVEL 0 FORMAT '/backup/incr_0_001';
  • level 0:表明当前为0级增量备份
  • incremental:代表备份方式是增量备份

Level 1 差异增量备份

BACKUP DATABASE INCREMENTAL LEVEL 1 FORMAT '/backup/incr_1_1_001';
  • level 1:表明当前为一级增量备份

image-20240718170610023

Level 1 累积增量备份

BACKUP DATABASE INCREMENTAL LEVEL 1 CUMULATIVE FORMAT '/backup/incr_1_2_001';
  • cumulative:表示增量备份方式为累积增量备份

image-20240718170729069

压缩备份

BACKUP DATABASE COMPRESSION ALGORITHM ZSTD LOW FORMAT '/backup/full_compress';
  • compression:代表压缩备份集,默认是按ZSTD算法和LOW级别压缩备份数据。
  • algorithm:指定压缩算法
    • ZSTD
    • LZ4
  • low:代表压缩级别为low
    • HIGH: 表示最高的压缩率(最低的压缩速度)
    • MEDIUM
    • LOW: 表示最低的压缩率(最高的压缩速度)

删除备份

# 通过别名tag删除 BACKUP DATABASE DELETE BACKUPSET TAG 'full_01'; # 通过文件名删除 BACKUP DATABASE DELETE BACKUPSET PATH '/backup/incr_1_2_001';

相关视图

select type,increment_level,path,tag,output_bytes/1024/1024 output_mb from dba_backup_set;

restore(恢复)

数据库需要启动到nomount状态

全量恢复

RESTORE DATABASE FROM '/backup/full'; -- 如果备份集是加密生成的备份集,在恢复时还需要指定解密密码。 RESTORE DATABASE DECRYPTION 12356 FROM '/backup/full'; RECOVER DATABASE; ALTER DATABASE OPEN;

指定时间点恢复

不完全恢复

-- 从level 0增量备份集中还原数据文件 RESTORE DATABASE FROM '/backup/incr_0_001' PARALLELISM 6; -- 恢复日志 RECOVER DATABASE UNTIL TIME TO_DATE('2024-07-18 17:18:55','yyyy-mm-dd hh24:mi:ss'); -- 指定SCN, SELECT CURRENT_SCN FROM V$DATABASE; RECOVER DATABASE until SCN 258477020237086720; ALTER DATABASE OPEN RESETLOGS;
  • RESTORE: 指定NOREDO参数可加快恢复速度
  • 执行RECOVER DATABASE完成恢复后不可再执行增量备份集恢复

yasrman 工具

yasrman是YashanDB配套的在线备份恢复工具。

catalog

yasrman使用catalog保存参数和备份集元信息,catalog 是一个文件夹,主要包含:

  • backup:备份集目录,用于存放指定存储到工具侧的备份集文件。
  • catalog.meta:元数据文件,用于存放备份集位置、TAG等相关信息,为二进制文件。
  • config.ini:配置文件,用于存放于备份恢复的语句配置信息。

初次使用yasrman时,必须先创建catalog

用法(yasrman -h)

Usage 1: yasrman -H | -V -H show version and help -V show version Usage 2: yasrman {<logon>} {<option>} <logon> is {<username>/<password>@<connect_identifier>} <option> is { -c "SQL"} {-D catalogpath} -c run only single backup command -D specify the catalog path

示例

1.创建catalog

yasrman sys/sys@127.0.0.1:1688 -c 'create catalog' -D /data/yashan_backup/catalog

2.配置config.ini文件

将所配置的内容持久化到catalog的config.ini文件。

配置参数命令优先级:backup或restore命令指定的参数 > configure命令配置的参数 > 默认参数。

# 将SECTION_SIZE参数值覆盖config.ini文件的默认值 yasrman sys/sys@127.0.0.1:1688 -c 'configure section size 128M' -D /data/yashan_backup/catalog # 指定CLEAR时,恢复会默认值 yasrman sys/sys@127.0.0.1:1688 -c 'configure section size clear' -D /data/yashan_backup/catalog

查看配置

# 列出config.ini中已经配置的备份参数 yasrman sys/sys@127.0.0.1:1688 -c 'show all' -D /data/yashan_backup/catalog

全量备份

yasrman sys/sys@127.0.0.1:1688 -c "BACKUP DATABASE TAG 'full_backup' FULL FORMAT 'full_001' PARALLELISM 3 DEST SERVER" -D /data/yashan_backup/catalog
  • "sys/sys@127.0.0.1:1688"是连接分布式部署中的CN节点或单机部署中的主库的用户名、密码和地址。
  • full关键字表明当前为全量备份。
  • format关键字指定生成备份集的文件名称为"$YASDB_DATA/backup/full_001"。由于分布式备份是对所有节点的备份,每个节点(除了备节点)都会生成各自的备份集,因此format建议用相对路径,使备份集保存在各节点的"$YASDB_DATA/backup"目录下;如使用绝对路径需保证所有节点不在同一个服务器,否则可能会报文件已存在的错误。
  • tag关键字指定备份集的标识为"full_backup"。
  • parallelism关键字指定备份任务以3个线程的并行度执行。
  • -D指定catalog所在文件路径。
  • DEST关键字指定备份集备份在服务器端还是工具端,server即为指定备份在服务器端,client指定备份在工具端,缺省为server。分布式备份不可指定为client。

查询备份集信息

# 显示所有的备份集信息 yasrman sys/sys@127.0.0.1:1688 -c "LIST BACKUP" -D /data/yashan_backup/catalog

删除备份

yasrman sys/sys@127.0.0.1:1688 -c "DELETE BACKUPSET TAG 'full_backup'" -D /data/yashan_backup/catalog

附录

YCA官方报名链接:https://www.yashandb.com/YCA_courses

参考文档

https://doc.yashandb.com/yashandb/23.2/zh/%E5%B7%A5%E5%85%B7%E6%89%8B%E5%86%8C/yasrman/00yasrman.html

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论