前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >greenplum gpcrondump命令使用

greenplum gpcrondump命令使用

作者头像
小徐
发布2019-08-05 14:50:36
1.9K0
发布2019-08-05 14:50:36
举报
文章被收录于专栏:Greenplum

参考资料:http://www.dbaref.com/gpcrondump

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

代码语言:javascript
复制
目录

1、gpcrondump 详细介绍

2、gpcrondump 常用参数

3、查看表的信息

4、执行备份数据

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

6 、总结gpcrondump命令

1、gpcrondump 详细介绍

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

2、gpcrondump 常用参数

代码语言:javascript
复制
$ 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> .tar
 
-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、查看表的信息

代码语言:javascript
复制
select pg_size_pretty(pg_relation_size('dim.test1'));
-- 7455 MB
 
select count(*) from dim.test1;
-- 50000000

4、执行备份数据

代码语言:javascript
复制

$ 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 master
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 parameter
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 、 查看备份后的数据文件

代码语言:javascript
复制

$ 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.tar
gp_dump_-1_1_20190517181512_post_data.gz  gp_dump_20190517181512_last_operation  gp_dump_20190517181512_table

6 、总结gpcrondump命令

代码语言:javascript
复制
1、在以上可以看出备份7455 MB 的数据耗时(18:15:12到18:15:53)41s,大概181M/s ,包括所有的函数,以及配置文件和用户等信息
 
2、在备份出的文件可以看出使用时间戳,编译恢复数据使用
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 河马coding 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、gpcrondump 详细介绍
  • 2、gpcrondump 常用参数
  • 3、查看表的信息
  • 4、执行备份数据
  • 5 、 查看备份后的数据文件
  • 6 、总结gpcrondump命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档