数据的备份备份
数据的备份备份是指将源端备份中所保存的备份数据转移到目的备份处。
您可以通过以下命令来进行数据的备份备份。
obclient> ALTER SYSTEM BACKUP BACKUPSET ALL;
obclient> ALTER SYSTEM BACKUP BACKUPSET N;
其中:
ALL
表示所有备份的备份集合。N
表示待执行备份备份的backup_set_id
。
假设当前有 1
、2
、3
、4
、5
共 5 个 backup_set_id
,且 1
、2
、4
为全量备份,3
、5
为增量备份,执行备份备份的示例如下:
备份当前所有的备份集合
obclient> ALTER SYSTEM BACKUP BACKUPSET ALL;
备份
backup_set_id
为3
的备份obclient> ALTER SYSTEM BACKUP BACKUPSET 3;
在备份指定的
backup_set_id
时,对于有依赖关系的两个backup_set_id
,如果先对被依赖的backup_set_id
执行了备份备份操作,再对另外一个backup_set_id
执行备份备份操作时,会提示执行失败。例如,在本节的示例中,先执行
ALTER SYSTEM BACKUP BACKUPSET 3;
后,再执行ALTER SYSTEM BACKUP BACKUPSET 1;
会失败。
非分片日志的备份备份
非分片日志的备份备份是指将源端备份中所保存的日志转存到目的备份处。
配置备份的备份目的端。
在启动备份备份操作前,需要先通过
backup_backup_dest
配置备份的备份目的端,可设置为 OSS 或 NFS,设置方法与backup_dest
配置项类似,backup_dest
的设置请参见 通过命令行备份。示例如下:
其中,
xxx
表示备份的备份目的端。obclient> ALTER SYSTEM SET backup_backup_dest='xxx';
设置备份备份的工作线程的时间间隔。
backup_backup_dest_option
配置项中 log_archive_checkpoint_interval 用于控制备份备份日志的时间间隔。更多backup_backup_dest_option
配置项的使用说明请参见《参考指南(MySQL 模式) 》或《参考指南(Oracle 模式)》文档中 backup_backup_dest_option 章节。示例如下:
obclient> ALTER SYSTEM SET backup_backup_dest_option = 'log_archive_checkpoint_interval='30s';
启动备份备份日志的工作线程。
obclient> ALTER SYSTEM START BACKUP ARCHIVELOG;
说明
备份备份日志的工作线程启动后,后续如果需要停止,可通过执行
ALTER SYSTEM STOP BACKUP ARCHIVELOG;
语句来停止。
分片日志的备份备份
物理备份恢复支持备份目录的拆分,备份目录拆分后,您可以通过备份备份的操作来解决备份存储介质容量不够的问题。
备份备份前准备
如果需要拆分备份目录,则需要在备份前对每个备份目的端选项进行设置,即设置
backup_dest_option
和backup_backup_dest_option
。设置备份目的端的
backup_dest_option
backup_dest_option
配置项用于控制备份相关的参数。更多backup_dest_option
配置项的使用说明请参见《参考指南(MySQL 模式) 》或《参考指南(Oracle 模式)》文档中 backup_dest_option 章节。示例如下:
obclient> ALTER SYSTEM SET backup_dest_option='log_archive_checkpoint_interval=2m&recovery_window=7d&auto_delete_obsolete_backup=true&log_archive_piece_switch_interval=1d&backup_copies=2';
该示例中,日志归档频率为 5s,且日志备份会每天切分一个日志 Piece,备份数据会保留 7 天,7 天后,自动清理 7 天之前的数据。
backup_copies
为2
表示在执行备份备份后才会回收原备份。设置备份的备份目的端的
backup_backup_dest_option
backup_backup_dest_option
配置项用于控制备份备份相关的参数。更多backup_backup_dest_option
配置项的使用说明请参见《参考指南(MySQL 模式) 》或《参考指南(Oracle 模式)》文档中 backup_backup_dest_option 章节。示例如下:
obclient> ALTER SYSTEM SET backup_backup_dest_option='log_archive_checkpoint_interval=2m&recovery_window=14d&auto_delete_obsolete_backup=true';
该示例中,备份备份日志的归档频率为 2 分钟,且备份的备份数据 14 天后过期。
开始物理备份,物理备份相关操作请参见 通过命令行备份 章节。
备份单一目录的备份
如果需要备份单一目录的备份,您可以指定备份一个 backup_set
或者 backup_piece
。同时,如果您希望将备份的备份归档到与配置项 backup_backup_dest
不同的目的端上,可以在备份备份的命令中显示指定备份目的端。
执行备份单一目录的备份的命令如下:
obclient> ALTER SYSTEM BACKUP BACKUPSET [=N] [backup_backup_dest = uri];
obclient> ALTER SYSTEM BACKUP BACKUPPIECE [=N] [backup_backup_dest = uri];
其中:
N
表示待执行备份备份的backup_set_id
或piece_id
。uri
表示指定的备份的备份目的端。
示例如下:
备份
backup_set_id
为1
的备份到file:///data/backup_backup_nfs
目录。obclient> ALTER SYSTEM BACKUP BACKUPSET 1 backup_backup_dest = 'file:///data/backup_backup_nfs';
备份
piece_id
为1
的备份到file:///data/backup_backup_nfs
目录。obclient> ALTER SYSTEM BACKUP BACKUPPIECE 1 backup_backup_dest = 'file:///data/backup_backup_nfs';
备份多目录的备**份**
执行备份多目录的备份的命令如下:
备份
backup_set
的所有目录或指定目录obclient> ALTER SYSTEM BACKUP BACKUPSET ALL [backup_backup_dest = 'xxxxx'];
obclient> ALTER SYSTEM BACKUP BACKUPSET ALL NOT BACKED UP N TIMES backup_backup_dest = 'xxxxx';
备份
backup_piece
的所有目录或指定目录obclient> ALTER SYSTEM BACKUP BACKUPPIECE ALL [backup_backup_dest = 'xxxxx'];
obclient> ALTER SYSTEM BACKUP BACKUPPIECE ALL NOT BACKED UP N TIMES backup_backup_dest = 'xxxxx';
其中:
ALL
表示会归档所有的file_status
为AVAILBLE
的backup_set_id
和piece_id
。指定
NOT BACKED UP N TIMES
参数表示已经备份过 N 次的数据,将不会再被重复归档。其中,N
表示次数。如果命令中指定了
NOT BACKED UP N TIMES
参数,则必须指定backup_backup_dest
参数;如果命令中未指定NOT BACKED UP N TIMES
参数,则可以不指定backup_backup_dest
参数,默认会归档到配置项backup_backup_dest
指定的目录下。