DM8:达梦数据库宕机版本记录汇总(持续更新中)
·
DM8:达梦数据库宕机版本记录汇总(持续更新中)
环境介绍
在测试环境或生产环境,特别情况下会遇到数据库服务崩溃的情况,原因也有很多种,可能是硬件,软件的限制导致数据库服务崩溃,下面记录了遇到过的一些情况作为说明,供大家参考,欢迎大家提出建议和自己的经验进行补充;
1 SQL引起的数据库故障
1.1 SQL引起的数据库故障汇总表
| 数据库版本 | 情况说明 |
|---|---|
| DM8.1-2-18-21.06.17-141777-10013-5EC Pack3 | gdb解析日志见 1.2 详情现象1,在Linux环境+ arm或x86环境都可能遇到数据库服务崩溃的情况,由于sql语句查询导致数据库内部发生的错误,通过修改数据库dm.ini参数解决 见1.3 |
| DM8.1-2-94-21.10.21-149328-10032-SEC | gdb解析日志见 1.2 详情现象1,在Linux环境+ arm或x86环境都可能遇到数据库服务崩溃的情况,由于sql语句查询导致数据库内部发生的错误,通过修改数据库dm.ini参数解决 见1.3 |
| DM8.1-2-114-20220304-158322-10045-SEC | gdb解析日志见 1.2 详情现象2,在Linux环境+ arm或x86环境都可能遇到数据库服务崩溃的情况,由于sql语句查询导致数据库内部发生的错误,通过修改数据库dm.ini参数解决 见1.3 |
| DM7.6.0.184-Build(2019.08.08-110764)ENT | gdb解析日志见 1.2 详情现象3 , 条件 LIKE 传参 不可以送进来的字符串是空的,但是长度不是 0,若符合这个情况数据库会宕机,需要业务系统控制传参解决 |
1.2 gdb dmserver core 调试得到数据库崩溃时的内存信息
现象 1
现象 2
Thread 1 (Thread 0xfff27cf9f1c0 (LWP 24421)):
#0 0x00000000013db45c in assert_fun ()
#1 0x00000000013db5a8 in sigterm_handler ()
#2 <signal handler called>
#3 0x0000000000a04020 in nbexp_lst_ops_lst_gen ()【问题原因】
#4 0x0000000000a030ac in nbexp_gen ()
#5 0x0000000000a0356c in nbexp_or_gen ()
#6 0x0000000000a03074 in nbexp_gen ()
#7 0x0000000000a03244 in nbexp_and_gen ()
#8 0x0000000000a03080 in nbexp_gen ()
#9 0x0000000000d65e60 in phd_cvt_select ()
#10 0x0000000000d823d4 in phd_cvt_single_rel ()
#11 0x0000000000d7d634 in phd_cvt_rel_recursively ()
#12 0x0000000000d7d698 in phd_cvt_rel_recursively ()
#13 0x0000000000d7d778 in phd_cvt_rel_recursively ()
#14 0x0000000000d8396c in phd_rel ()
#15 0x0000000000d83c54 in phd_rel_with_return ()
#16 0x0000000000a11b64 in nblk_gen_select ()
#17 0x0000000000a162a0 in nblk_gen_sql ()
#18 0x0000000000a143b4 in nblk_stmt_gen ()
#19 0x0000000000a164a8 in nblk_gen ()
#20 0x0000000000a16974 in nblk_gen_try ()
#21 0x0000000000a14524 in nblk_stmt_gen ()
#22 0x0000000000a164a8 in nblk_gen ()
#23 0x0000000000a16974 in nblk_gen_try ()
#24 0x0000000000a14524 in nblk_stmt_gen ()
#25 0x0000000000a164a8 in nblk_gen ()
#26 0x0000000000a19d40 in ncls_method_gen_low ()
#27 0x0000000000d77824 in phd_main ()
#28 0x00000000014125b4 in ntsk_phd_main ()
#29 0x0000000001412f7c in ntsk_process_prepare_low2 ()
#30 0x000000000141816c in ntsk_process_exec ()
#31 0x000000000141fe58 in ntsk_process_cop ()
#32 0x0000000001329cf8 in uthr_db_main_for_sess ()
#33 0x0000fffbceaf77e4 in start_thread (arg=0xfff403ffc12f) at pthread_create.c:486
#34 0x0000fffbce7cfc6c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
现象3
Thread 1 (Thread 0x7f9d590d0700 (LWP 8999)):
#0 0x000000000133a7b0 in ifun_like_high_bound () 【问题原因】
#1 0x0000000000e4ee6c in ninv_internal_exec ()
#2 0x0000000000ed8c7a in vm_nexp_run_low ()
#3 0x0000000000eaf70e in slct2_exec_start ()
#4 0x0000000000eaf890 in slct2_exec ()
#5 0x0000000000eda077 in vm_run ()
#6 0x0000000000edaf6f in vm_run_pln_low ()
#7 0x0000000001269c65 in ntsk_process_exec_low ()
#8 0x000000000126ece2 in ntsk_process_exec ()
#9 0x00000000012784fb in ntsk_process_cop ()
#10 0x00000000011a6a8a in uthr_db_main_for_sess ()
#11 0x0000003b51c07aa1 in start_thread () from /lib64/libpthread.so.0
#12 0x0000003b518e893d in clone () from /lib64/libc.so.6
1.3 优化参数解决故障
--查询当前参数值
SELECT SF_GET_PARA_VALUE(1,'ENABLE_IN_VALUE_LIST_OPT');
--修改 参数值为 0
SP_SET_PARA_VALUE(1,'ENABLE_IN_VALUE_LIST_OPT',0);
COMMIT;

2 DM8:达梦数据库宕机问题分析调试gdb dmserver core
18.1 DM8:达梦数据库宕机问题分析调试gdb dmserver core 点击跳转
3 达梦数据库学习使用列表
更多推荐
所有评论(0)