1. 查看备份文件信息

gaussdb200查看WDR snapshot_备份文件


查看、删除备份时特有选项

参数名

描述

timeline

查看备份文件的时间线。

DATE

查看指定的备份文件的详细信息。
取值范围:备份的开始时间,即使用gs_rman show命令查看到的开始时间(start)。
默认值:如果没有指定,将持续还原到最新的备份时间。

查看、删除备份时公共参数

参数名/缩写

描述

-d / --dbname dbname

"指定要连接的数据库名称,如postgres。 DBNAME的取值范围和默认值如下: 取值范围:GaussDB中存在的数据库名称。 默认值:与当前操作系统用户同名的数据库名称。"

-h / --host HOSTNAME

"指定数据库服务所在的IP地址或者主机名。 HOSTNANME的取值范围和默认值如下: 取值范围: 127.0.0.1 localhost 默认值:localhost。"

-p / --port port

"指定数据库服务的端口号。 PORT的取值范围和默认值如下: 取值范围:GaussDB的端口号。 默认值:5432。"

-U / --username username

"指定连接到数据库的数据库用户名。 USERNAME的取值范围和默认值如下: 取值范围:GaussDB中存在的数据库用户名称。 默认值:与当前操作系统用户同名的数据库用户的名称。"

-d / --gaussdata path

"指定数据库数据存放位置。 说明: gs_rman在root用户下使用sudo命令切换到某一用户运行时,需要增加此参数,以指定数据库数据存放位置。 PATH的取值范围和默认值如下: 取值范围:GaussDB的数据目录。 默认值:与GaussDB的环境变量GAUSSDATA的值相同。"

-A / --arclog-path path

"指定数据库WAL归档日志文件存放位置。 PATH的取值范围和默认值如下: 取值范围:GaussDB的WAL归档日志目录。 默认值:可以通过环境变量ARCLOG_PATH 指定默认值,详细请参见初始化配置。"

-S / --srvlog-path path

"指定数据库日志存放位置。 PATH的取值范围和默认值如下: 取值范围:GaussDB的运行日志目录。 默认值:$GAUSSDATA/pg_log。也可以通过环境变量SRVLOG_PATH指定默认值,详细请参见初始化配置。"

-b / --backup-path path

"指定备份数据存放位置。 PATH的取值范围和默认值如下: 取值范围:GaussDB的数据目录。 默认值:可以通过环境变量BACKUP_PATH指定默认值,详细请参见初始化配置。"

--debug

显示命令的调试信息。

--verbose / -v

显示命令的执行信息。

操作步骤

查看备份文件信息可在单机、双机(主机)上执行。下面以在主机上查看为例进行介绍,在单机上的操作方法与此相同。

假设备份目录为/home/gaussdba/backup,执行如下命令可查看备份文件

gs_rman show -B /home/gaussdba/backup

示例1:查看备份文件。

假设备份目录为/home/gaussdba/backup

gaussdba@linux:~> gs_rman show -B /home/gaussdba/backup
===========================================================================================
Start                Time   Total    Data     WAL     Log  Backup   BackupID   Status  Type
===========================================================================================
2013-01-15 15:12:38    0m    37MB    ----   268MB      0B  3869kB      1007     DONE  ZLIB
2013-01-15 15:08:36    0m    ----    37MB   234MB  3200kB   616kB      1006       OK  ZLIB
2013-01-15 15:08:18    0m    37MB    ----   201MB  3200kB  3925kB      1005       OK  ZLIB
2013-01-15 14:41:23    0m    ----    37MB   167MB    ----   428kB      1004       OK  ZLIB
2013-01-15 14:36:18    0m    ----    ----   134MB    ----   395kB      1003       OK  ZLIB
2013-01-15 14:35:41    0m    ----    37MB   100MB    ----   359kB      1002       OK  ZLIB
2013-01-15 14:34:14    0m    ----    37MB    67MB    ----    78MB      1001       OK  FALSE

字段说明

字段

说明

Start

备份的启动时间。

Time

备份使用的时间,单位是分钟。小于1分钟则显示为0。

Total

全量备份时读取的数据库的大小。

Data

增量备份时读取的数据库的大小。

WAL

备份时读取的WAL日志文件的大小。

Log

备份时读取的服务器日志文件的大小。

Backup

本次备份所占用的磁盘空间大小。

BackupID

本次备份的ID号。

Status

备份的状态,不同取值的含义如下。
OK表示备份状态正确,并且是经过验证的。
DONE表示备份状态正确,但是还未经过验证。
RUNNING表示备份正在进行,还未完成。
DELETING表示备份正在被删除,还未完成。
DELETED表示备份已经被删除。
ERROR表示备份不可用,可能是因为在备份过程中发生了某些错误。
CORRUPT表示备份不可用,可能是因为备份文件被破坏了。

Type

备份时使用的压缩格式。
FALSE表示未对备份文件进行压缩。
ZLIB/BZIP/ZLMA分别表示压缩格式为ZLIB/BZIP/ZLMA。

示例2:查看备份文件的时间线。

假设备份目录为/home/gaussdba/backup

gaussdba@linux:~> gs_rman show timeline -B /home/gaussdba/backup/
=====================================================================
Start                Mode  Current TLI  Parent TLI  Backup ID  Status
=====================================================================
2013-01-23 19:08:24  ARCH           17          12       1006  OK
2013-01-23 19:07:21  INCR           17          12       1005  OK
2013-01-23 19:05:31  FULL           17          12       1004  OK
2013-01-23 19:04:51  ARCH           17          12       1003  ERROR
2013-01-23 16:21:51  FULL           17          12       1002  OK
2013-01-23 15:55:06  FULL           16          14       1001  OK

字段说明

字段

说明

Start

备份的启动时间。

Mode

备份模式。
FULL表示全量备份。
INCR表示增量备份。
ARCH表示归档模式备份。

Current TLI

备份的时间线(timeline),与父时间线成对出现。
初始值为1。
每进行一次恢复时间线加1。
如果恢复时指定恢复到时间线,则会恢复到时间线相同的最近一次备份。

Parent TLI

当前时间线的父时间线,用来表明时间线之间的关系。

BackupID

本次备份的ID号。

Status

备份的状态。

示例3:查看指定时间点产生的备份文件的详细信息。

假设备份目录为/home/gaussdba/backup

gaussdba@linux:~/backup> gs_rman show 2013-01-13 10:37:50 -B /home/gaussdba/backup
# configuration
BACKUP_MODE=FULL
WITH_SERVERLOG=false
COMPRESS_DATA=FALSE
# result
TIMELINEID=1
START_LSN=0/0a000020
STOP_LSN=0/0a0000e0
START_TIME='2013-01-13 10:37:50'
END_TIME='2013-01-13 10:37:53'
RECOVERY_XID=1327
RECOVERY_TIME='2013-01-13 10:37:53'
TOTAL_DATA_BYTES=29979901
READ_DATA_BYTES=29979901
READ_ARCLOG_BYTES=0
WRITE_BYTES=20667777
BLOCK_SIZE=8192
XLOG_BLOCK_SIZE=8192
STATUS=DONE
BACKUPID=1002

字段说明

字段

说明

START_TIME

备份开始的时间。

END_TIME

备份结束的时间。

RECOVERY_XID

备份时截止的事务ID值。

2. 查看备份文件时间线

gaussdb200查看WDR snapshot_取值范围_02

参数名

描述

-q / --quiet

屏蔽gs_rman运行中在控制台输出的日志、信息和提示消息。

操作

查看备份文件时间线可在单机、双机(主机)上执行。下面以在主机上查看为例进行介绍,在单上的操作方法与此相同。

假设备份目录为/home/gaussdba/backup,执行如下命令可查看备份文件时间线。

gs_rman show timeline -B /home/gaussdba/backup

示例

假设备份目录为/home/gaussdba/backup。

gaussdba@linux:~> gs_rman show timeline -B /home/gaussdba/backup/
============================================================
Start                Mode  Current TLI  Parent TLI  Status
============================================================
2013-01-23 19:08:24  ARCH           17          12  OK
2013-01-23 19:07:21  INCR           17          12  OK
2013-01-23 19:05:31  FULL           17          12  OK
2013-01-23 19:04:51  ARCH           17          12  ERROR
2013-01-23 16:21:51  FULL           17          12  OK
2013-01-23 15:55:06  FULL           16          14  OK

3. 查看备份日志

gaussdb200查看WDR snapshot_取值范围_03


选项介绍

参数名

描述

-q / --quiet

屏蔽gs_rman运行中在控制台输出的日志、信息和提示消息。

--operation MODE

指定需要查看的操作。
MODE的取值范围和默认值如下:
取值范围:
backup:备份
restore:恢复
delete:删除
validate:验证
默认值:如果没有指定,将显示所有的操作。

--start-time TIME

指定日志的起始时间。
默认值:执行第一个操作的时间。
说明:
时间要放在单引号里。

--end-time TIME

指定日志的结束时间。如果没有指定起始时间和结束时间,显示所有的操作。
说明:
时间要放在单引号里。

操作

查看备份日志可在单机、双机(主机)上执行。下面以在主机上查看为例进行介绍,在单上的操作方法与此相同。

假设备份目录为/usr/local/pgsql/rmandatabackup,执行如下命令可查看备份日志。

gs_rman -W test@123 -D /usr/local/pgsql/database -A /usr/local/pgsql/archive -S /usr/local/pgsql/srvlog -B /usr/local/pgsql/rmandatabackup showactivity --start-time='2013-05-23 15:37:52' --end-time='2013-05-23 16:49:43' --operation='backup'

示例

假设备份目录为/usr/local/pgsql/rmandatabackup

gaussdba@linux:~> gs_rman -W test@123 -D /usr/local/pgsql/database -A /usr/local/pgsql/archive -S /usr/local/pgsql/srvlog -B /usr/local/pgsql/rmandatabackup   showactivity --start-time='2013-05-23 15:37:52' --end-time='2013-05-23 16:49:43' --operation='backup'
=====================================================================
Time                             Operation                BackupID
=====================================================================
2013-05-23 15:37:52                 init                      NA
2013-05-23 15:38:17               backup                    1001
2013-05-23 15:38:37             validate                    1001
2013-05-23 16:49:43               backup                    1002
2013-05-23 20:30:49             validate                    1001
2013-05-23 20:30:49             validate                    1002
2013-05-23 20:46:34             validate                    1001
2013-05-23 20:46:35             validate                    1002

字段说明

字段

说明

Time

操作的执行时间。

Operation

操作类型。

BackupID

备份编号。

4. 删除备份文件

一般情况下,配置备份文件的自动保存时间,就可以满足删除多余备份文件的要求。关于配置备份文件自动保存时间的方法请参见gs_rman初始化配置。

gaussdb200查看WDR snapshot_默认值_04

操作

1.参见查看备份文件信息查看当前已有的备份文件。

例如,使用如下命令查看备份信息。并对如下四个备份信息标识为A1、A2、A3和A4。

gs_rman show timeline -B /home/gaussdba/backup/
=======================================================================
Start                Mode  Current TLI  Parent TLI  Backup ID  Status
=======================================================================
2013-01-15 18:24:10  FULL            1           0       1004  OK            /// A1
2013-01-15 18:24:03  ARCH            1           0       1003  OK            /// A2
2013-01-15 18:23:46  FULL            1           0       1002  OK            /// A3
2013-01-15 18:22:01  FULL            1           0       1001  OK            /// A4

2.执行如下命令删除不需要的备份文件信息。

例如,执行下面的命令会把A2、A3、A4都删除,仅保留A1。

gs_rman -B /home/gaussdba/backup/ delete 2013-01-15 18:24:10

说明时间必须指定为全量备份的“Start”时间,或者稍微之后的时间;此时间之前的所有备份(包括全量备份、增量备份和WAL备份)会被删除,但是至少保留最近的一次全量备份。

示例

1.执行如下命令查看备份信息。

gs_rman show timeline -B /home/gaussdba/backup/
=======================================================================
Start                Mode  Current TLI  Parent TLI  Backup ID  Status
=======================================================================
2013-01-16 10:56:48  FULL            1           0       1005  OK
2013-01-16 10:31:57  FULL            1           0       1004  OK
2013-01-16 10:31:14  FULL            0           0       1003  ERROR
2013-01-16 10:30:50  FULL            1           0       1002  OK
2013-01-15 18:24:10  FULL            1           0       1001  OK

2.执行如下命令删除备份文件。

指定删除2013-01-16 10:56:48时间点之前的备份文件。

gs_rman -B /home/gaussdba/backup/ delete 2013-01-16 10:56:48
gaussdba: delete: 2013-01-16 10:31:57
gaussdba: delete: 2013-01-16 10:31:14
gaussdba: delete: 2013-01-16 10:30:50
gaussdba: delete: 2013-01-15 18:24:10

3.执行如下命令查看删除结果。

gs_rman show timeline -B /home/gaussdba/backup/

从如下结果来看,2013-01-16 10:56:48时间点之前的备份文件都已经被删除了。

=======================================================================
Start                Mode  Current TLI  Parent TLI  Backup ID  Status
=======================================================================
2013-01-16 10:56:48  FULL            1           0       1005  OK

总结:

从备份层面看删除备份已经成功,但从操作系统层面看备份目录下仍然存在删除后的残余文件(由于文件很小,可忽略不计)