人大金仓数据库的备份与还原 KingbaseES V8R6 |
您所在的位置:网站首页 › 少管所怎么样 › 人大金仓数据库的备份与还原 KingbaseES V8R6 |
人大金仓数据库的备份与还原
文章目录
人大金仓数据库的备份与还原前言备份sys_dump 命令
还原ksql 命令sys_restore
一. 从人大金仓数据库备份还原到人大金仓数据库二 从postgresql数据库备份还原到人大金仓数据库
后记
前言
本文记录一次使用人大金仓数据库(KingbaseES)(postgres版)的备份与还原。 postgresql 版本:11.5 人大金仓数据库版本:KingbaseES V8R6 备份 sys_dump 命令./sys_dump -h 10.10.3.104 -p 54321 -d “hrmww” -U postgres -f /u01/apps/csk.dmp 还原 ksql 命令ksql -U postgres -d hrmww -p 54321 -f /u01/apps/dum3p.dmp sys_restore. /sys_restore -username “postgres” --role “postgres” --dbname “hrmwv2_hlw” /u01/apps/dum3p.dmp 一. 从人大金仓数据库备份还原到人大金仓数据库 人大金仓数据库备份人大金仓数据库sys_dump命令不能直接执行,需要进到人大金仓数据库目录下的Server/bin下执行,我的目录: [root@Kingbase-zookeeper-01 bin]# pwd /u01/apps/Kingbase/Server/bin执行命令: ./sys_dump -h 0.0.0.100 -p 54321 -d "数据库名" -U postgres -f /u01/apps/csk1.dmp这样是不打日志的,想要他打日志需要重定向一下。 命令如下: ./sys_dump -h 0.0.0.100 -p 54321 -d "数据库名" -U postgres -f /u01/apps/csk1.dmp >> /u01/日志.txt 2>&12.还原人大金仓数据库 创建一个新的数据库"cscs"用于还原 CREATE DATABASE "cscs" WITH OWNER = "postgres" ENCODING = 'UTF8' ;我们先用官方说的sys_restore命令还原: 进到人大金仓数据库目录下的Server/bin下执行,如果不指定目录,或进到目录下 ./sys_restore -username "postgres" --role "postgres" --dbname "cscs" /u01/apps/csk3.dmp >> /u01/日志.txt 2>&1查看报错: sys_restore: error: input file appears to be a text format dump. Please use ksql. sys_restore: error: input file appears to be a text format dump. Please use ksql.显示不支持此格式,只支持dump格式,建议用ksql命令: 那咱们换换格式试一试 还是先备份 ./sys_dump -h 0.0.0.100 -p 54321 -d "数据库名" -U postgres -f /u01/apps/csk12.dump >> /u01/日志.txt 2>&1再还原试试 ./sys_restore -username "postgres" --role "postgres" --dbname "cscs" /u01/apps/csk12.dump >> /u01/日志.txt 2>&1结果还是不行。 使用ksql 还原 ./ksql -U postgres -h "0.0.0.0" -d cscs -p 54321 -f /u01/apps/csk3.dmp >> /u01/日志.txt 2>&1结果发现没有问题 ,可以还原。 报错及详情可以在/u01/日志.txt 中查看。 我想了想那个报错是不是以为我没有采用压缩格式备份导致的,这次加上 --format=c 参数试试,看看有啥问题 。 备份命令: ./sys_dump -h 0.0.0.104 -p 54321 -d "数据库名" --format=c -U postgres -f /u01/apps/csk15.dump >> /u01/日志.txt 2>&1还原命令: ./sys_restore -h “10.10.3.104” -p “54321” -U postgres --role “postgres” --dbname “cs” /u01/apps/csk15.dump >> /u01/日志.txt 2>&1 结果: 还原成功了 报错及详情可以在/u01/日志.txt 中查看。 二 从postgresql数据库备份还原到人大金仓数据库由于人大金仓数据库数据库pg版是基于pg开发的,那pg的一些功能人大金仓数据库也能用 pg还原是用了copy命令,而人大金仓也支持copy命令。那我们能不能用pg_dump和人大金仓的ksql来进行还原数据库呢? 现在pg数据库进行备份,由于不能采用压缩的形式来备份,备份文件的大小跟数据库差不多,需要注意空间大小。 在pg服务器下执行; pg_dump --file "/u01/pgsql.sql" --host "0.0.0.12" --port "5432" --username "postgres" --dbname "数据库名" --verbose --role "postgres" --encoding "UTF8"把备份文件传输到人大金仓数据库的服务器上,用ksql命令执行: ./ksql -U postgres -d hrmwv2_hlw -p 54321 -f /u01/pgsql.sql >> /u01/日志.txt 2>&1 结果可以执行成功。 报错及详情可以在/u01/日志.txt 中查看。 这里需要注意 fdw无法还原 ,以及一些外部链接都不会还原 后记如果本文章有何错误,请您评论中指出,或联系我,我会改正,如果您觉得这篇文章有用,请帮忙一键三连,让更多的人看见,谢谢 作者 yang_z_1 csdn博客地址: https://blog.csdn.net/yang_z_1?type=blog |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |