达梦数据库导大数据

往达梦数据库数据库中导入20个G的sql文件,这是我最近遇到过的一个比价棘手的问题,我通过写脚本,然后再运行去解决这个问题的,具体的,要在sql文件的最前面加这几个参数,来确保成功

WHENEVER SQLERROR CONTINUE;  设置错误不要停止
SET AUTOCOMMIT OFF;   关闭自动提交,可大大提高速度,因为可以减少磁盘IO。

同时,导达梦数据库还是通过DMP文件导入比较好,我用这个sql文件导是试了好多次,用来好多方法,最终才通过脚本的方式导入成功的,最终导入的过程还是花了好几个小时。

一开始,我是直接把脚本导进去运行,然后发现不行,因为遇到错误他会自己停下来然后用navicat去导,发现用这种方式去导更慢,很坑爹,最后还是在sql脚本前面加了上面提到的那两个参数,然后通过下面这个命令才导入进去的。

docker exec -d dm8_container sh -c "
  export LD_LIBRARY_PATH=/opt/dmdbms/bin:\$LD_LIBRARY_PATH &&
  export LANG=zh_CN.GB18030 &&
  export LC_ALL=zh_CN.GB18030 &&
  cd /tmp &&
  /opt/dmdbms/bin/disql SYSDBA/SYSDBA001 < HB_LOWAIR20251111_final_gbk.sql > import_fixed.log 2>&1
"

更多推荐