摘要:
应用连接数据库偶发性报网络通信异常,报错截图如下: 查看驱动版本,应用所用的驱动和数据库当前版本匹配 数据库版本 网络和数据库日志方面也没有问题,连接池超时设置调整之后还是报错 应用报错日志有断开的管道 根据网上参考类似错误。应该是长时间没有刷新页面导致数据库断开了,再次访问的时候使用了断开的数据库 阅读全文
摘要:
最近项目中有用户反馈应用连接数据库执行sql报无效的模式名,而在达梦客户端可以正常查询 首先怀疑的是应用连接串配置有错误,连接串配置如下: 根据查询,SZSJTGK模式不属于YSZWDT_YWYY用户 将连接串模式名去掉之后还是同样问题,模式名大小写,驱动这些方面排除之后还是同样报错。 后面进一步沟 阅读全文
摘要:
用户反馈应用连接数据库经常出现网络通信异常 相关sql语句在数据库在数据库客户端能正常执行,执行时间不到1s 检查数据库参数,运行日志,网络方面,驱动版本都正常 查看应用报错日志,里面有read timd out 报错,一般是连接超时导致的 检查durid连接池配置如下 Druid 连接池conne 阅读全文
摘要:
在一些项目中经常有用户反馈为什么一些查询SQL会导致阻塞,在数据库中查询是不应该阻塞读写操作的,现根据下面示例模拟相关业务场景。 create table dmtest (id int, name varchar(10)); insert into dmtest values(1,'a'); ins 阅读全文
摘要:
在oracle迁移到达梦过程中,创建主键提示违法唯一约束。如下所示: 用户反馈没有重复数据 原因是达梦空格填充模式参数(BLANK_PAD_MODE)为0 , 查询语句将忽略字符串的后缀空格,由于大部分其他都已经迁移过去,只有个别表报错,不能重新初始化实例,需要将有问题的数据查找出来删除 查找重复数 阅读全文
摘要:
在达梦数据库中可以通过V$DMSQL_EXEC_TIME和debug方式来定位存储过程存在的性能问题,但V$DMSQL_EXEC_TIME往往定位比较粗糙,没法定位到存储过程中sql的执行时间,而debug可以点位具体某段sql,但如果存储过程里面有大量游标,参数变量值很多的情况下,debug调试也 阅读全文
摘要:
示例sql如下,两表关联,更新一千多万数据,执行需要18分钟 UPDATE T1 SET (Balance, Available,Frozen,HFrozen, AbnmFrozen,SumBalance,SumAmt, AvgCost, LastModiDT,IncomeAmt,IncomeDay 阅读全文
摘要:
最近在项目中调试存储过程碰到一些关于hash及分组相关的性能问题 示例1:在调试过程中, 该sql执行很久后面报超出全局 hash join 空间的错误,重新调整HJ_BUF_GLOBAL_SIZE ,执行一个小时也不出结果。 INSERT INTO t_test (SELECT FundID, S 阅读全文
摘要:
示例: drop table if exists emp; create table emp (eid int CLUSTER primary key identity(1,1),ename varchar(200),age int,hiredate date,sal int,deptno int) 阅读全文
摘要:
找到存储过程,右键》调试》在新的调试编辑器调试 打开界面如下:下面有个初始变量,输入所需要的参数 也可以直接在存储过程写入参数P_DEMO(1001)这种 参数输入好之后,点右上角绿色三角箭头开始调试 选择下面的进入按钮对存储过程内部进行调试 进入之后,界面如下,这样就可以选择下面标红的按钮进行一步 阅读全文