为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
环境信息:
DM版本】:DM Database Server 64 V8 DB Version: 0x7000c
4-2-98-21.12.16-153423-10040-ENT
【操作系统】:版本 Windows 10 专业版
版本号 21H2
安装日期 2022-09-21
操作系统内部版本 19044.2546
体验 Windows Feature Experience Pack 120.2212.4190.0
【CPU】: lntel® Core™ i7-8550U CPU @ 1.80GHz
【问题描述】*:
oracle数据引擎有查询sql.可以看得见数据据引擎实时的sql运行情况。并且可以某个sql的执行计划
–查看实时运行sql
select last_call_et, s.sql_id, v.event,v.blocking_session,
s.SQL_FULLTEXT, s.SQL_TEXT, v.SQL_CHILD_NUMBER,s.CHILD_NUMBER,
‘alter system kill session ‘’’ || v.sid || ‘,’ || v.serial# || ‘’’ immediate;',
v.USERNAME,
s.CPU_TIME,
s.ELAPSED_TIME,
v.PROGRAM,
'kill -9 ’ || p.spid,
v.CLIENT_INFO,
v.SQL_HASH_VALUE,
v.SQL_ADDRESS,
v.MACHINE,
v.TERMINAL,
s.DISK_READS,s.BUFFER_GETS,s.SORTS,s.SHARABLE_MEM,s.PERSISTENT_MEM,s.RUNTIME_MEM,s.ROWS_PROCESSED
from v$session v, v$process p, v$sql s
where v.last_call_et >= 0
and v.status = ‘ACTIVE’
and v.username != ‘SYS’
and p.addr = v.paddr
and s.ADDRESS = v.SQL_ADDRESS
and s.HASH_VALUE = v.SQL_HASH_VALUE
order by last_call_et desc;
–查看sql_id的执行计划
select * from table(dbms_xplan.display_cursoR(‘dcbf32wj6ht2s’,null,‘PEEKED_BINDS’));
请达梦数据引擎原厂开发工程师或原厂dba提供一个达梦环境中,类似的上述二个sql.
谢谢。
通过下面语句模糊匹配SQL语句的执行计划缓存
select cache_item,sqlstr from v$cachepln where upper(sqlstr) like 'sql语句模糊匹配%';
通过上面获取的cache_item值,通过下面语句打印对应SQL的执行计划,计划输出到实例文件夹下的trace文件夹下
Alter session set events
'immediate trace name plndump ,level cache_item';
也可以进行拼接
select 'ALTER SESSION SET EVENTS ''IMMEDIATE TRACE NAME PLNDUMP,LEVEL '||cache_item||''';' from v$cachepln where upper(sqlstr) like '%A%';
select
*
from
(
SELECT 'sp_close_session('||sess_id||');' ,--拼接强制杀掉会话语句
sess_id ,--会话id
sql_text ,--sql语句
datediff(ss, last_recv_time, sysdate) Y_EXETIME,--sql执行时间
SF_GET_SESSION_SQL(SESS_ID) fullsql ,--获取因精度问题被截断的完整sql
clnt_ip --ip地址
FROM
V$SESSIONS
WHERE
STATE ='ACTIVE'
and SESS_ID !=SESSID
)
where
Y_EXETIME>=2 --执行时间超过2秒的sql
order by
Y_EXETIME desc;