greenplum gpcrondump命令使用

参考资料:

http://www.dbaref.com/gpcrondump

https://gp-docs-cn.github.io/docs/admin_guide/managing/backup-gpcrondump.html

目录

1、gpcrondump 详细介绍

2、gpcrondump 常用参数

3、查看表的信息

4、执行备份数据

5 、 查看备份后的数据文件

6 、总结gpcrondump命令

1、gpcrondump 详细介绍

使用gpcrondump来备份数据库、数据以及数据库角色和服务器配置文件之类的对象。
 
gpcrondump工具在Master和每个Segment上转储一个Greenplum数据库的内容为SQL脚本文件。
这些脚本文件接下来可以被用来恢复这个数据库。
 
Master的备份文件包含用于创建数据库模式的SQL命令。
Segment的数据转储文件包含将数据装载到表中的SQL语句。Segment的转储文件被使用gzip压缩。
可选地,服务器配置文件postgresql.conf、pg_ident.conf和pg_hba.conf以及角色和表空间
这类全局数据可以被包括在备份中。

2、gpcrondump 常用参数

$ gpcrondump  --help
gpcrondump -x database_name 
     [-s <schema> | -S <schema> | -t <schema>.<table> | -T <schema>.<table>] 
     [--table-file=<filename> | --exclude-table-file=<filename>] 
     [--schema-file=<filename> | --exclude-schema-file=<filename>] 
     [-u backup_directory] [-R post_dump_script] [--incremental] 
     [ -K <timestamp> [--list-backup-files] ] 
     [--prefix <prefix_string> [--list-filter-tables] ]
     [ -c  [ --cleanup-date yyyymmdd  |  --cleanup-total n ] ]
     [-z] [-r] [-f <free_space_percent>] [-b] [-h] [-H] [-j | -k]
     [-g] [-G] [-C] [-d <master_data_directory>] [-B <parallel_processes>] 
     [-a] [-q] [-l <logfile_directory>]
     [--email-file <path_to_file> ] [-v]
     { [-E encoding] [--inserts | --column-inserts] [--oids]
     [--no-owner | --use-set-session-authorization] 
     [--no-privileges] [--rsyncable] 
     { [--ddboost [--replicate --max-streams <max_IO_streams> 
     [--ddboost-skip-ping] ] 
     [--ddboost-storage-unit=<storage_unit_name>] ] } |
     { [--netbackup-service-host <netbackup_server> 
     --netbackup-policy <netbackup_policy> 
     --netbackup-schedule <netbackup_schedule> 
     [--netbackup-block-size <size> ] 
     [--netbackup-keyword <keyword> ] } }
 
gpcrondump --ddboost-host <ddboost_hostname>
     [--ddboost-host ddboost_hostname ... ]
     --ddboost-user <ddboost_user>
     --ddboost-backupdir <backup_directory>
     [--ddboost-storage-unit=<storage_unit_name>]
     [--ddboost-remote] [--ddboost-skip-ping]
 
gpcrondump --ddboost-config-remove
 
gpcrondump --ddboost-show-config [--ddboost-remote]
 
gpcrondump -o  [ --cleanup-date yyyymmdd  |  --cleanup-total n ]
 
gpcrondump -? 
 
gpcrondump --version
 
 
 
-a(不要提示)
不要提示用户进行确认。
 
-b(绕过磁盘空间检查)
绕过磁盘空间检查。默认设置是检查可用磁盘空间。
 
-B parallel_processes
要进行转储前/转储后验证的并行检查段数。如果未指定,该实用程序将启动多达60个并行进程,具体取决于数量
需要转储的段实例。
 
-c(首先清除旧的转储文件)
在执行转储之前清除旧的转储文件。默认情况下不清除旧转储文件。这将删除db_dumps目录中的所有旧转储目录,
除了当前日期的转储目录。
 
-C(清理旧目录转储)
在创建之前清除旧目录模式转储文件。
 
--column-inserts
将数据转储为具有列名称的INSERT命令。
 
-d master_data_directory
主主机数据目录。如果未指定,将使用为$ MASTER_DATA_DIRECTORY设置的值。
 
-D(调试)
将日志记录级别设置为debug。
 
-E encoding
转储数据的字符集编码。默认为要转储的数据库的编码。
 
-f free_space_percent
在进行检查以确保有足够的可用磁盘空间来创建转储文件时,指定在应用之后应保留的可用磁盘空间的百分比。
转储完成。默认值为10%。
 
-g(复制配置文件)
保护主要和段配置文件postgresql.conf,pg_ident.conf和pg_hba.conf的副本。这些配置文件被转储到
master或segment数据目录到db_dumps / YYYYMMDD / config_files_ <timestamp> .ta
 
-G(转储全局对象)
使用pg_dumpall转储角色和表空间等全局对象。全局对象在主数据目录中转储到db_dumps / YYYYMMDD / gp_global_1_1_ <timestamp>。
 
-i(忽略参数检查)
忽略初始参数检查阶段。
 
--inserts
将数据转储为INSERT,而不是COPY命令。
 
-j(转储前真空)
在转储开始之前运行VACUUM。
 
-k(转储后真空)
转储成功完成后运行VACUUM。
 
-l logfile_directory
写入日志文件的目录。默认为〜/ gpAdminLogs。
 
--no所有者
不输出命令来设置对象所有权。
 
--no-特权
不要输出命令来设置对象权限(GRANT / REVOKE命令)。
 
-o(仅清除旧转储文件)
仅清除旧转储文件,但不运行转储。这将删除除当前日期的转储目录之外的最旧的转储目录。其中的所有转储集
目录将被删除。
 
--oids
在转储数据中包含对象标识符(oid)。
 
-p(仅限主要部分)
转储所有主要段,这是默认行为。注意:不推荐使用此选项。
 
-q(无屏幕输出)
以安静模式运行。命令输出不会显示在屏幕上,但仍会写入日志文件。
 
-r(失败时无回滚)
如果检测到故障,请勿回滚转储文件(删除部分转储)。默认是回滚(删除部分转储文件)。
 
-R post_dump_script
成功转储操作后要运行的脚本的绝对路径。例如,您可能需要一个脚本将完成的转储文件移动到备份主机。此脚本必须位于主服务器和所有段主机上的相同位置。
 
-s schema_name
仅转储指定数据库中的命名模式。
 
-t schema.table_name
仅转储此数据库中的指定表。-t选项可以多次指定。
 
-T schema.table_name
要从数据库转储中排除的表名。-T选项可以多次指定。
 
-u backup_directory
指定备份文件将放置在每个主机上的绝对路径。如果路径不存在,则会创建该路径(如果可能)。如果未指定,则默认为要备份的每个实例的数据目录。如果每个段主机具有多个段实例,则可能需要使用此选项,因为它将在集中位置而不是段数据目录中创建转储文件。
 
--use设置会话授权
使用SET SESSION AUTHORIZATION命令而不是ALTER OWNER命令来设置对象所有权。
 
-v(显示实用程序版本)
显示此实用程序的版本,状态,上次更新日期和校验和。
 
-w dbid [,...](仅备份某些段)
指定要备份为段的dbid的逗号分隔列表的一组活动段实例。主服务器自动添加到列表中。默认设置是备份所有活动的段实例。
 
-x database_name
需要。要转储的Greenplum数据库的名称。
 
-y reportfile
指定备份作业日志文件将放置在主控主机上的完整路径名。如果未指定,则默认为主数据目录或正在运行
远程,当前的工作目录。
 
-z (no compression)
不要使用压缩。默认是使用gzip压缩转储文件。
 
-? (help)
显示在线帮助。

3、查看表的信息

select pg_size_pretty(pg_relation_size('dim.test1'));
-- 7455 MB
 
select count(*) from dim.test1;
-- 50000000

4、执行备份数据

$ gpcrondump -x stagging -c -g -s dim
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Starting gpcrondump with args: -x stagging -c -g -s dim
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:----------------------------------------------------
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Master Greenplum Instance dump parameters
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:----------------------------------------------------
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump type                            = Full database
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Database to be dumped                = stagging
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Schema to be dumped                  = ['dim']
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Master port                          = 5432
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Master data directory                = /greenplum/data/gpmaster/gpseg-1
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Run post dump program                = Off
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Rollback dumps                       = Off
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump file compression                = On
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Clear old dump files                 = On
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Update history table                 = On
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Secure config files                  = On
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump global objects                  = Off
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Vacuum mode type                     = Off
20190517:18:15:12:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Ensuring remaining free disk         > 10
 
Continue with Greenplum dump Yy|Nn (default=N):
> y
20190517:18:15:15:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Directory /greenplum/data/gpmaster/gpseg-1/db_dumps/20190517 exists
20190517:18:15:15:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Checked /greenplum/data/gpmaster/gpseg-1 on maste
20190517:18:15:18:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Configuring for single-database, include-table dump
20190517:18:15:18:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Validating disk space
20190517:18:15:20:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Creating filter file: /greenplum/data/gpmaster/gpseg-1/db_dumps/20190517/gp_dump_20190517181512_table
20190517:18:15:20:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Adding compression paramete
20190517:18:15:20:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Adding --no-expand-children
20190517:18:15:20:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump process command line gp_dump -p 5432 -U gpadmin --gp-d=db_dumps/20190517 --gp-r=/greenplum/data/gpmaster/gpseg-1/db_dumps/20190517 --gp-s=p --gp-k=20190517181512 --no-lock --gp-c --no-expand-children "stagging" --schema-file=/tmp/schema_listC3eB2C
20190517:18:15:20:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Starting Dump process
20190517:18:15:29:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Releasing pg_class lock
20190517:18:15:42:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump process returned exit code 0
20190517:18:15:42:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Timestamp key = 20190517181512
20190517:18:15:42:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Checked master status file and master dump file.
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Inserted dump record into public.gpcrondump_history in stagging database
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-No old backup sets to remove
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump status report
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:----------------------------------------------------
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Target database                          = stagging
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump subdirectory                        = 20190517
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump type                                = Full database
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Clear old dump directories               = On
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Backup set deleted                       = None
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump start time                          = 18:15:12
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump end time                            = 18:15:42
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Status                                   = COMPLETED
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump key                                 = 20190517181512
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dump file compression                    = On
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Vacuum mode type                         = Off
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Exit code zero, no warnings generated
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:----------------------------------------------------
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dumping master config files
20190517:18:15:45:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-Dumping segment config files
20190517:18:15:53:029923 gpcrondump:gpmdw:gpadmin-[WARNING]:-Found neither /greenplum/soft/greenplum-db/./bin/mail_contacts nor /home/gpadmin/mail_contacts
20190517:18:15:53:029923 gpcrondump:gpmdw:gpadmin-[WARNING]:-Unable to send dump email notification
20190517:18:15:53:029923 gpcrondump:gpmdw:gpadmin-[INFO]:-To enable email notification, create /greenplum/soft/greenplum-db/./bin/mail_contacts or /home/gpadmin/mail_contacts containing required email addresses

5 、 查看备份后的数据文件

$ ls 20190517
gp_cdatabase_-1_1_20190517181512          gp_dump_20190517181512_ao_state_file   gp_dump_20190517181512.rpt     gp_dump_status_-1_1_20190517181512
gp_dump_-1_1_20190517181512.gz            gp_dump_20190517181512_co_state_file   gp_dump_20190517181512_schema  gp_master_config_files_20190517181512.ta
gp_dump_-1_1_20190517181512_post_data.gz  gp_dump_20190517181512_last_operation  gp_dump_20190517181512_table

6 、总结gpcrondump命令

1、在以上可以看出备份7455 MB 的数据耗时(18:15:12到18:15:53)41s,大概181M/s ,包括所有的函数,以及配置文件和用户等信息
 
2、在备份出的文件可以看出使用时间戳,编译恢复数据使用

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券