有的时候一条sql语句没有走期望的执行计划,这时可以从内存中把它的执行计划dump出来
1.达梦数据库中可以通过v$cachepln视图查询SQL的执行计划的cache_item
SELECT sqlstr,cache_item from v$cachepln where sqlstr like '%TEST%';
2.通过dump命令可以把需要的计划给导出来
alter session set events 'immediate trace name plndump level 140644388808768, dump_file ''/home/dmdba/dm/dmdbms/test.log'''
3.到/home目录下就可以看到test.log文件中dump出来的执行计划
4.清理执行计划sql
select 'sp_clear_plan_cache('||cache_item||');',* from v$cachepln where upper(sqlstr) like '%SQLVALUE_NUM%';
评论已关闭