首页 数据库

在日常生活中,当数据库服务器异常中断生成core文件时,通过core文件可以查出当时中断是如何造成的并且通过dmrdc工具可以分析出中断的SQL语句。
1.gdb读取core文件

gdb ./dmserver core.2731

wps1db151092-853d-4f13-bae9-6b74447951ae.jpg

记录当前所有崩溃线程堆栈:

(gdb) thread apply all bt

记录当前崩溃线程堆栈:

(gdb) bt

记录当前崩溃线程号:

(gdb) info threads

wps2b57d82eb-99e0-4339-bd92-89dfc326aa2c.jpg

前面有*为当前线程,LWP后面为线程号,如上图为2839。
2.通过dmrdc工具生成SQL语句

./dmrdc sfile=core.2731

SQL语句(从dmrdc的结果中找对应的2839线程号,!#%&*^$@[线程号2839]):

!#%&*^$@[2839]CREATE OR REPLACE PACKAGE BODY...................略略略...

至此导致数据库宕机的SQL语句就找出来了,与厂家进行沟通优化或升级就欧克。


文章评论

评论已关闭