金仓数据库备份

环境
数据库:KINGBASE (KingbaseES) V008R006C006B0013
操作系统:CentOS Linux release 7.9.2009 (Core)

备份命令:sys_dump -Usystem -d100 -v -f ./db_backup/db_100_20230411.dump

结果出现异常:

... ...
... ...
sys_dump: reading contexts
sys_dump: reading large objects
sys_dump: reading dependency data
sys_dump: saving encoding = UTF8
sys_dump: saving standard_conforming_strings = on
sys_dump: saving search_path = public
ERROR:  -----------------------stack error start-----------------------
Program terminated with signal 11.
Core time:2023-04-07 20:42:20
#1 4191 0x452b61 backtrace_handler + 0xfb193e51
#2 4191 0x7f0310e8b400 <symbol not found> (libc.so.6)
#3 4191 0x7f0310ecc130 fileno_unlocked (libc.so.6)
#4 4191 0x40c3ca SetOutput + 0xef54029a
#5 4191 0x40ef06 RestoreArchive + 0xef542dd6
#6 4191 0x4374f7 KCIDump + 0xef56b3c7
#7 4191 0x7f0310e77555 __libc_start_main (libc.so.6)
#8 4191 0x408c69 _start + 0xef591809
ERROR:  -----------------------stack error end-----------------------
段错误(吐核)

试了多次,包括新建库也不可以,一开始以为saving search_path = public这一句导致的异常,网上扒了好久也没有找到结果。
随后又找了另外一台数据库服务器(环境一样),同样的命令结果备份正常,输出如下:

... ...
... ...
sys_dump: reading contexts
sys_dump: reading large objects
sys_dump: reading dependency data
sys_dump: saving encoding = UTF8
sys_dump: saving standard_conforming_strings = on
sys_dump: saving search_path = public
sys_dump: creating SCHEMA "100"
sys_dump: creating EXTENSION "plsql_plprofiler"
sys_dump: creating COMMENT "EXTENSION plsql_plprofiler"
sys_dump: creating TABLE "100.TABLE01"
sys_dump: creating TABLE "100.TABLE02"
sys_dump: creating TABLE "100.TABLE03"
... ...
... ...

对比之后才发现,问题应该出在sys_dump: creating SCHEMA 100,找相关领域的老师咨询了下,问题可能是db_backup目录没有写权限,确认了一下,果不其然,至此破案!!!

### 关于人大金仓数据库备份和还原的方法 #### 使用 `sys_dump` 工具进行物理备份 对于人大金仓数据库 KingbaseES 的备份操作,可以采用命令行工具 `sys_dump` 来执行。此工具支持多种类型的导出方式,其中 `-F c` 参数表示创建自定义格式的转储文件[^2]。 ```bash sys_dump -h 服务器IP地址 -p 端口号 -U 用户名 -F c -f /目标路径/备份文件名.dmp 数据库名称 ``` 例如,在本地机器上以 `system` 账户连接至默认端口并备份名为 `AAAAAA` 的数据库: ```bash sys_dump -h 127.0.0.1 -p 54321 -U system -F c -f backup_AAAAAA/AAAAAA.dmp AAAAAA ``` #### 执行逻辑备份与恢复 除了上述提到的物理级备份外,KingbaseES 还提供了更为灵活的对象级别逻辑备份机制。这种备份方法允许单独选择特定的数据结构如表、视图等作为备份单位[^1]。 要实现这些对象级别的备份工作,则需借助其他专门设计用于处理SQL脚本生成的任务管理工具或图形界面应用程序来完成相应配置设置过程中的各项参数指定任务;而针对整个实例或者单个schema层面的操作则可通过内置实用程序来进行自动化流程控制。 当涉及到具体某张表格数据迁移时,可考虑编写类似如下所示的 SQL 命令片段以便将其保存成独立文件形式供后续导入使用: ```sql COPY (SELECT * FROM table_name) TO '/path/to/table_backup.csv' WITH CSV HEADER; ``` 相反地,为了能够顺利地将之前所制作好的副本重新加载回系统当中去,应该采取下面这样的语句模板: ```sql COPY table_name FROM '/path/to/table_backup.csv' WITH CSV HEADER; ``` 请注意以上例子仅适用于简单场景下的CSV格式交换需求,实际应用环境中可能还需要额外加入更多选项来自定义分隔符字符集编码等方面的要求。 #### 用户角色及其他元数据同步 考虑到安全性因素以及权限分配策略的一致性维护问题,在跨环境转移期间往往也需要一并将关联的身份认证信息连同业务实体一同打包带走。这通常意味着不仅要复制基础架构组件本身,还要确保所有必要的授权声明都能被正确无误地带入新的上下文中继续发挥作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wsdhla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值