ux_rman — 备份工具,支持全量,增量和差异备份
ux-rman
[option
] [init |
backup |
restore |
show [DATE] |
show detail [DATE] |
validate [DATE] |
delete DATE |
purge
...]
ux_rman是一个实用程序,用于备份和还原数据库。 它对整个数据库集群进行存档WAL和服务器日志物理备份,支持全量,增量和差异备份。
ux_rman目前仅支持Linux系统。
-D
--pgdata=PATH
数据存储目录的路径。
-A
--arclog-path=PATH
归档WAL日志的路径。
-S
--srvlog-path=PATH
存储服务器日志的路径。
-B
--backup-path=PATH
备份数据的存储路径。
-c
--check
检查。
-v
--verbose
显示详细信息。
-P
--progress
显示已处理文件的进度。
-b
--backup-mode=MODE
全量、增量、差异和归档备份,可选参数:full、 difference、 incremental和archive。
-s
--with-serverlog
备份服务器日志文件。
-Z
--compress-data
使用zlib压缩数据备份。
-C
--smooth-checkpoint
备份前进行平滑检查点。
-F
--full-backup-on-error
切换到完全备份模式。
此选项仅用于“--backup-mode=incremental或archive”。
--keep-data-generations=NUM
保留NUM代完整数据备份。
--keep-data-days=NUM
保持足够的数据备份以恢复到N天前。
--keep-arclog-files=NUM
保留NUM个已归档的WAL日志。
--keep-arclog-days=DAY
保持存档的WAL在DAY天内修改。
--keep-srvlog-files=NUM
保留NUM个服务器日志。
--keep-srvlog-days=DAY
保留在DAY天内修改的服务器日志。
--standby-host=HOSTNAME
从待机状态进行备份时备用主机。
--standby-port=PORT
从待机状态进行备份时的备用端口。
--recovery-target-time
恢复进行的时间戳。
--recovery-target-xid
恢复继续进行的事务ID。
--recovery-target-inclusive
是否在目标恢复完成之后就停止。
--recovery-target-timeline
恢复到特定的时间。
--hard-copy
复制archivelog而不是符号链接。
-a
--show-all
显示已删除的备份。
-f
--force
强制删除比规定日期更早的备份。
-d
--dbname=DBNAME
连接指定数据库。
-h
--host=HOSTNAME
数据库主机。
-P
--port=PORT
数据库端口。
-U
--username=USERNAME
数据库用户名。
-w
--no-password
不提示密码。
-W
--password
强制提示密码。
-q
--quiet
不显示任何info和debug信息。
--debug
查看debug信息。
--help
查看帮助信息。
--version
查看版本信息。
BACKUP_PATH
备份路径。
例如:
export BACKUP_PATH=/home/uxdb/backup
来设置备份路径。
如果不设置环境变量,则涉及路径的命令都需要添加 “-B backup_path” 指定备份路径。
创建归档目录。
mkdir /home/uxdb/archivedir
修改目标数据库配置文件。
vi uxsinodb.conf
重启数据库。
初始化备份目录。
ux_rman -D PATH init
PATH是备份目标(实例)的路径,例如:/home/uxdb/uxdbinstall/dbsql/bin/test。
初始化成功后,如图所示:
初始化成功后,进入备份目录可以看到ux_rman配置文件ux_rman.ini ,初始配置文件内容如图所示:
可以在此文件中添加其他配置参数。
下面的PATH指的是备份目标(实例)的路径,例如:/home/uxdb/uxdbinstall/dbsql/bin/test。
全量备份
ux_rman -D PATH backup --backup-mode=full --progress
备份成功后,提示信息:
再次全备时,若备份目录中存在已校验的早期备份,则再次全备会跳过已备份的WAL日志以减少I/O操作。所以建议再次全备时手动将已存在的早期备份转移到其他目录。
增量备份
ux_rman -D PATH backup --backup-mode=incremental --progress
备份成功后,提示信息:
归档备份(增量模式)
ux_rman -D PATH backup --backup-mode=archive --progress
备份成功后,提示信息:
差异备份
ux_rman -D PATH backup --backup-mode=difference --progress
备份成功后,提示信息:
每次备份完成后必须进行校验操作,否则此次备份不可以作为下一次备份的基础,且不可用于还原操作。
ux_rman validate
恢复时可选择原地恢复或异地恢复,原地恢复时需要停止数据库服务,以免发生意外造成数据丢失。
ux_rman restore -D PATH --recovery-target-time TIME
恢复到指定时间点TIME之前,原地恢复时,PATH为原库路径;异地恢复时,PATH为备库路径。