【openGauss数据库】--运维指南03--数据导出

这篇具有很好参考价值的文章主要介绍了【openGauss数据库】--运维指南03--数据导出。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall


👈【上一篇】
💖The Begin💖 点点关注,收藏不迷路💖
【下一篇】👉

🔻 一、openGauss导出数据

🔰 1.1 概述

openGauss提供的gs_dumpgs_dumpall工具,能够帮助用户导出需要的数据库对象或其相关信息。通过导入工具将导出的数据信息导入至需要的数据库,可以完成数据库信息的迁移。gs_dump支持导出单个数据库或其内的对象,而gs_dumpall支持导出openGauss中所有数据库或各库的公共全局对象

【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

gs_dumpgs_dumpall通过对导出的数据文件加密导入时对加密的数据文件进行解密可以防止数据信息泄露,为数据库的安全提供保证。

  • 🧬 说明:

💠1、使用gs_dump加密的纯文本格式文件如果导出的数据库中包含存储过程,因gsql不支持解密导入存储过程和函数,因此如果导出的数据库中包含存储过程/函数需使用另外三种模式导出数据库,并使用gs_restore恢复。

💠2、gs_dump和gs_dumpall工具在进行数据导出时,其他用户可以访问数据库(读或写)。

💠3、gs_dump和gs_dumpall工具支持导出完整一致的数据。例如,T1时刻启动gs_dump导出A数据库,或者启动gs_dumpall导出openGauss数据库,那么导出数据结果将会是T1时刻A数据库或者该openGauss数据库的数据状态,T1时刻之后对A数据库或openGauss数据库的修改不会被导出。

  • 🧬 注意事项:

💠1、禁止修改-F c/d/t 格式导出的文件和内容,否则可能无法恢复成功。对于-F p 格式导出的文件,如有需要,可根据需要谨慎编辑导出文件。

💠2、如果数据库中包含的对象数量(数据表、视图、索引)在50万以上,为了提高性能且避免出现内存问题,建议通过gs_guc工具设置数据库节点的如下参数(如果参数值大于如下建议值,则无需设置)。
gs_guc set -N all -I all -c 'max_prepared_transactions = 1000'
gs_guc set -N all -I all -c 'max_locks_per_transaction = 512'

若设置如上参数,则需重启数据库使参数生效。

gs_om -t stop && gs_om -t start

💠3、为了保证数据一致性和完整性,导出工具会对需要转储的表设置共享锁。如果表在别的事务中设置了共享锁,gs_dump和gs_dumpall会等待锁释放后锁定表。如果无法在指定时间内锁定某个表,转储会失败。用户可以通过指定–lock-wait-timeout选项,自定义等待锁超时时间。

💠4、由于gs_dumpall读取所有数据库中的表,因此必须以openGauss管理员身份进行连接,才能导出完整文件。在使用gsql执行脚本文件导入时,同样需要管理员权限,以便添加用户和组,以及创建数据库。

🔰 1.2 导出单个数据库

🔷 1.2.1 导出数据库

🟢 1、以操作系统用户omm登录数据库主节点。
[root@klgdj ~]$ su - omm
     
🟢 2、使用gs_dump导出db_test01 数据库全量信息为tar归档格式。
[omm@klgdj back_up]$ gs_dump -U omm -f /home/omm/back_up/db_test01_backup.tar -p 15400 db_test01 -F t

【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

  • 🧬 示例:

🟢 1、执行gs_dump,导出db_test01 数据库全量信息,导出文件格式为sql文本格式。
[omm@klgdj back_up]$ gs_dump -U omm -f /home/omm/back_up/db_test01_backup.sql -p 15400 db_test01 -F p
    【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 2、执行gs_dump,仅导出db_test01 数据库中的数据,不包含数据库对象定义,导出文件格式为自定义归档格式。
[omm@klgdj back_up]$ gs_dump -U omm -f /home/omm/back_up/db_test01_data_backup.dmp -p 15400 db_test01 -a -F c
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 3、执行gs_dump,仅导出db_test01 数据库所有对象的定义,导出文件格式为sql文本格式。
[omm@klgdj back_up]$ gs_dump -f /home/omm/back_up/db_test01_def_backup.sql -p 15400 db_test01 -s -F p
    【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 4、执行gs_dump,仅导出db_test01 数据库的所有对象的定义,导出文件格式为文本格式,并对导出文件进行加密。
[omm@klgdj back_up]$ gs_dump -f /home/omm/back_up/db_test01_def_backup02.sql -p 15400 db_test01 --with-encryption AES128 --with-key 123456#abcdef -s -F p
    【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

  • 🧬 gs_dump 参数详解:

🩸 gs_dump -U jack -W abcd@123 -f /home/omm/back_up/userdatabase_backup.tar -p 8000 dbname -F t
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

🔷 1.2.2 导出模式

🟢 1、以操作系统用户omm登录数据库主节点。
[root@klgdj ~]$ su - omm
   
🟢 2、使用gs_dump同时导出db_test01public模式。
[omm@klgdj back_up]$ gs_dump -U omm -f /home/omm/back_up/db_test01_schema_backup -p 15400 db_test01 -n db_test01 -n public -F d
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

  • 🧬 示例:

🟢 1、执行gs_dump,导出db_test01的db_test01 模式全量信息,导出文件格式为文本格式。
[omm@klgdj back_up]$ gs_dump -f /home/omm/back_up/db_test01_schema_backup.sql -p 15400 db_test01 -n db_test01 -F p
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 2、执行gs_dump,仅导出db_test01数据库的db_test01 模式的数据,导出文件格式为tar归档格式。
[omm@klgdj back_up]$ gs_dump -f /home/omm/back_up/db_test01_schema_data_backup.tar -p 15400 db_test01 -n db_test01 -a -F t
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 3、执行gs_dump,仅导出db_test01数据库的 db_test01 模式的定义,导出文件格式为目录归档格式。
[omm@klgdj back_up]$ gs_dump -f /home/omm/back_up/db_test01_schema_def_backup -p 15400 db_test01 -n db_test01 -s -F d
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 4、执行gs_dump,导出db_test01数据库时,排除public模式,导出文件格式为自定义归档格式。
[omm@klgdj back_up]$ gs_dump -f /home/omm/back_up/db_test01_schema_exclude_public_backup.dmp -p 15400 db_test01 -N public -F c
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 5、执行gs_dump,同时导出db_test01数据库的db_test01public模式,且仅导出模式定义,导出文件格式为tar归档格式。
[omm@klgdj back_up]$ gs_dump -f /home/omm/back_up/db_test01_schema_custom_backup.tar -p 15400 db_test01 -n db_test01 -n public -s -F t
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 6、执行gs_dump,导出db_test01数据库时,排除db_test01public模式,导出文件格式为自定义归档格式。
[omm@klgdj back_up]$ gs_dump -f /home/omm/back_up/db_test01_schema_exclude_publicANDdb_test01_backup.dmp -p 15400 db_test01 -N db_test01 -N public -F c
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 7、执行gs_dump,导出db_test01模式下所有表(视图、序列和外表)和public模式中t_dept表,包含数据和表定义,导出文件格式为自定义归档格式。
[omm@klgdj back_up]$ gs_dump -f /home/omm/back_up/db_test01_backup02.dmp -p 15400 db_test01 -t db_test01.* -t public.t_dept-F c
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

  • 🧬 gs_dump 参数详解:

🩸 gs_dump -U jack -W abcd@123 -f /home/omm/back_up/userdatabase_backup.tar -p 8000 dbname -F t
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

🔷 1.2.3 导出表

🟢 1、以操作系统用户omm登录数据库主节点。
[root@klgdj ~]$ su - omm
     
🟢 2、使用gs_dump同时导出指定表db_test01.t_config和db_test01.t_area。
[omm@klgdj back_up]$ gs_dump -U omm -f /home/omm/back_up/db_test01_table_backup -p 15400 db_test01 -t db_test01.t_config -t db_test01.t_area -F d
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

  • 🧬 示例:

🟢 1、执行gs_dump,导出表db_test01.t_config的定义和数据,导出文件格式为文本格式。
[omm@klgdj backup]$ gs_dump -f /home/omm/backup/db_test01_t_config_backup.sql -p 15400 db_test01 -t db_test01.t_config -F p
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 2、执行gs_dump,只导出表db_test01.t_config的数据,导出文件格式为tar归档格式。
[omm@klgdj backup]$ gs_dump -f /home/omm/backup/db_test01_table_data_backup.tar -p 15400 db_test01 -t db_test01.t_config -a -F t
    【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 3、执行gs_dump,导出表db_test01.t_config的定义,导出文件格式为目录归档格式。
[omm@klgdj backup]$ gs_dump -f /home/omm/backup/db_test01_table_def_backup -p 15400 db_test01 -t db_test01.t_config -s -F d
    【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 4、执行gs_dump,不导出表db_test01.t_config,导出文件格式为自定义归档格式。
[omm@klgdj backup]$ gs_dump -f /home/omm/backup/db_test01_exclude_t_config_backup.dmp -p 15400 db_test01 -T db_test01.t_config -F c
    【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 5、执行gs_dump,同时导出两个表db_test01.t_config和db_test01.t_area,导出文件格式为文本格式。
[omm@klgdj backup]$ gs_dump -f /home/omm/backup/db_test01_table_backup02.sql -p 15400 db_test01 -t db_test01.t_config -t db_test01.t_area -F p
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 6、执行gs_dump,导出时,排除两个表db_test01.t_config和db_test01.t_area,导出文件格式为文本格式。
[omm@klgdj backup]$ gs_dump -f /home/omm/backup/db_test01_exclude_t_configANDt_area_backup.sql -p 15400 db_test01 -T db_test01.t_config -T db_test01.t_area -F p

【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

🟢 7、执行gs_dump,导出表db_test01.t_config的定义和数据,只导出表db_test01.t_area的定义,导出文件格式为tar归档格式。
[omm@klgdj backup]$ gs_dump -f /home/omm/backup/db_test01_table_backup3.tar -p 15400 db_test01 -t db_test01.t_config -t db_test01.t_area --exclude-table-data db_test01.t_area -F t
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

🟢8、执行gs_dump,导出表db_test01.t_config的定义和数据,并对导出文件进行加密,导出文件格式为文本格式。
[omm@klgdj backup]$ gs_dump -f /home/omm/backup/db_test01_t_config_backup4.sql -p 15400 db_test01 -t db_test01.t_config --with-encryption AES128 --with-key abcdefg_?1234567 -F p
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

🟢9、执行gs_dump,导出db_test01模式下所有表(包括视图、序列和外表)和public模式中t_dept表,包含数据和表定义,导出文件格式为自定义归档格式。
gs_dump -f /home/omm/backup/db_test01_table_backup5.dmp -p 15400 db_test01 -t db_test01.* -t public.t_dept -F c

【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

🟢10、执行gs_dump,仅导出db_test01数据库依赖于public模式下的t_user表对象的视图信息,导出文件格式为目录归档格式。
gs_dump -U omm -f /home/omm/backup/public_t_user_view_backup6 -p 15400 db_test01 -t public.t_user --include-depend-objs --exclude-self -F d

【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

🔰 1.3 导出所有数据库

openGauss支持使用gs_dumpall工具导出所有数据库的全量信息,包含openGauss中每个数据库信息和公共的全局对象信息

🟢 1、以操作系统用户omm登录数据库主节点。
[root@klgdj ~]$ su - omm
     
🟢 2、使用gs_dumpall一次导出所有数据库信息。
[omm@klgdj back_up]$ gs_dumpall -U omm -f /home/omm/backup/DBALL_backup.sql -p 15400
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

  • 🧬 示例:

🟢 1、执行gs_dumpall,导出所有数据库全量信息(omm用户为管理员用户),导出文件为文本格式。执行命令后,会有很长的打印信息,最终出现total time即代表执行成功。示例中将不体现中间的打印信息。
[omm@klgdj backup]$ gs_dumpall -U omm -f /home/omm/backup/DBALL_backup02.sql -p 15400
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 2、执行gs_dumpall,仅导出所有数据库定义(omm用户为管理员用户),导出文件为文本格式。执行命令后,会有很长的打印信息,最终出现total time即代表执行成功。示例中将不体现中间的打印信息。
[omm@klgdj backup]$ gs_dumpall -U omm -f /home/omm/backup/DBALL_def_backup.sql -p 15400 -s
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 3、执行gs_dumpall,仅导出所有数据库中数据,并对导出文件进行加密,导出文件为文本格式。执行命令后,会有很长的打印信息,最终出现total time即代表执行成功。示例中将不体现中间的打印信息。
[omm@klgdj backup]$ gs_dumpall -f /home/omm/backup/DBALL_data_backup.sql -p 15400 -a --with-encryption AES128 --with-key abcdefg_?1234567
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

🔰 1.4 导出全局对象

openGauss支持使用gs_dumpall工具导出所有数据库公共的全局对象,包含数据库用户和组、表空间及属性(例如:适用于数据库整体的访问权限)信息

🟢 1、以操作系统用户omm登录数据库主节点。
[root@klgdj ~]$ su - omm
     
🟢 2、使用gs_dumpall导出表空间对象信息
[omm@klgdj back_up]$ gs_dumpall -U omm -f /home/omm/backup/DBALL_tablespace.sql -p 15400 -t
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall

  • 🧬 示例:

🟢 1、执行gs_dumpall,导出所有数据库的公共全局表空间信息和用户信息(omm用户为管理员用户),导出文件为文本格式。
[omm@klgdj backup]$ gs_dumpall -U omm -f /home/omm/backup/DBALL_globals.sql -p 15400 -g
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 2、执行gs_dumpall,导出所有数据库的公共全局表空间信息(omm用户为管理员用户),并对导出文件进行加密,导出文件为文本格式。
[omm@klgdj backup]$ gs_dumpall -U omm -f /home/omm/backup/DBALL_tablespace02.sql -p 15400 -t --with-encryption AES128 --with-key abcdefg_?1234567
   
【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall
   
🟢 3、执行gs_dumpall,导出所有数据库的公共全局用户信息(omm用户为管理员用户),导出文件为文本格式。
[omm@klgdj backup]$ gs_dumpall -U omm -f /home/omm/backup/DBALL_user.sql -p 15400 -r
    【openGauss数据库】--运维指南03--数据导出,数据库--openGauss,数据库,运维,openGauss数据库,gs_dump,gs_dumpall文章来源地址https://www.toymoban.com/news/detail-527600.html

🔻 二、总结—温故知新

❓ 该章详细介绍了openGauss数据库使用gs_dump和gs_dumpall命令导出数据(导出单个数据库&导出所有数据库)。

👈【上一篇】
💖The End💖 点点关注,收藏不迷路💖
【下一篇】👉

到了这里,关于【openGauss数据库】--运维指南03--数据导出的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包