分享

DM数据库运维工作干货分享

运维达梦数据库已有半年,达梦数据库的安装部署资料网上已经很多,就不再赘述。今天给大家分享一下在这半年中我遇到的问题、处理思路和解决方法。
问题1:
客户反馈使用达梦管理工具执行SQL脚本,提示“out of memory”,内存溢出。
20230509170235KI8IZVVOL0RBNKAE9L.jpg
了解到:客户电脑32G内存,sql脚本中有30多万数据。
处理方法:
找到管理工具的配置文件manager.ini文件,调整以下参数
20230509170255VME06FLB9R0EJVS3VN.jpg
-Xms256m
-Xmx2048m 为默认值,根据实际情况增大两参数值。
其中,
-Xms是设置初始化堆内存大小,即设置DM管理工具初始化时内存栈的大小;
-Xmx:是设置最大可分配堆内存大小,即设置DM管理工具能够使用的最大内存数,该值不能超过物理机内存大小;
同时,管理工具右下角有个垃圾桶 点一下清理一下
20230509170305UOVMZH6S0ITP1Z70WH.jpg
如果仍报错,则建议使用DM迁移工具中的“文件迁移到达梦”,效果会更好。
20230509170317YG9XAWAWAB513TN8O8.jpg
问题2:
应用程序在向DM数据库批量插入数据时,报“嵌套层次太深”错误。
查看语句可发现,有很多的union all连接
202305091703376IU31E4IMUFH6TR73W.jpg
处理方法:
查看EXPR_N_LEVEL 和N_PARSE_LEVEL两个参数的值,根据嵌套层次调整值
20230509170344KX15QDRD9TJKUMC642.jpg
SQL> Alter SESSION set ‘EXPR_N_LEVEL’ =1000;
SQL> Alter SESSION set ‘N_PARSE_LEVEL’ =1000;
两个参数为会话级别,调整后立即生效。
其中,
--EXPR_N_LEVEL:表达式最大嵌套层数。取值范围30~1000
--N_PARSE_LEVEL:表示对象PROC、VIEW、PKG

试读已结束,请付费阅读全文。

  本文只能试读34%,付费后可阅读全文。 

版权说明:论坛帖子主题均由合作第三方提供并上传,若内容存在侵权,请进行举报

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系在线客服