DM8:达梦数据库宕机版本记录汇总(持续更新中)
- 环境介绍
- 1 SQL引起的数据库故障
- 1.1 SQL引起的数据库故障汇总表
- 1.2 gdb dmserver core 调试得到数据库崩溃时的内存信息
- 1.3 优化参数解决故障
环境介绍
在测试环境或生产环境,特别情况下会遇到数据库服务崩溃的情况,原因也有很多种,可能是硬件,软件的限制导致数据库服务崩溃,下面记录了遇到过的一些情况作为说明,供大家参考,欢迎大家提出建议和自己的经验进行补充;
1 SQL引起的数据库故障
1.1 SQL引起的数据库故障汇总表
数据库版本 | 情况说明 |
---|---|
DM8.1-2-94-21.10.21-149328-10032-SEC | gdb解析日志见 1.2 详情,在Linux环境+ arm或x86环境都可能遇到数据库服务崩溃的情况,由于sql语句查询导致数据库内部发生的错误,通过修改数据库dm.ini参数解决 |
DM8.1-2-114-20220304-158322-10045-SEC | gdb解析日志见 1.2 详情,在Linux环境+ arm或x86环境都可能遇到数据库服务崩溃的情况,由于sql语句查询导致数据库内部发生的错误,通过修改数据库dm.ini参数解决 |
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
1.3 优化参数解决故障
SP_SET_PARA_VALUE(1,'ENABLE_IN_VALUE_LIST_OPT',0);
COMMIT;