问题描述
以下查询需要更长的时间。
1)我们尝试使用以下SQL使markhot
SYS.DBMS_SHARED_POOL.MARKHOT(hash=>e130457a4520f54c18acb0131777d76d,namespace=>0);
ERROR at line 1:
ORA-06550: line 1, column 42:
PLS-00114: identifier 'E130457A4520F54C18ACB0131777D7' too long
NOTE: Then we tried following to make it markhot(It is running more than 90 minutes)
2)
SET ECHO OFF
SET SERVEROUTPUT ON
DECLARE
BEGIN
FOR hash_id in (
select KGLNAHSV from (
select
case when (kglhdadr = kglhdpar) then 'Parent' else 'Child' ||kglobt09 end,
kglhdadr ADDRESS,substr(kglnaobj,1,20),
parsing_schema_name, kglnahsh, KGLNAHSV, kglobtyd, kglobt23, kglobt24, kglhdexc, kglhdnsp
from sys.v_x$kglob x$kglob, v$sql
where x$kglob.kglnahsh = v$sql.hash_value
and v$sql.parsing_schema_name='ADM'
and kglhdexc > 1
and kglobt24 > 1
and kglobtyd = 'CURSOR'
order by kglobt24 desc) where rownum < 7
) LOOP
DBMS_OUTPUT.PUT_LINE('hash=>'|| hash_id.KGLNAHSV ||',namespace=>0');
SYS.DBMS_SHARED_POOL.MARKHOT(hash=>hash_id.KGLNAHSV,namespace=>0);
END LOOP;
END;
/
请建议我们如何进行这项工作?
谢谢
-帕塔
专家解答
哈希参数是一个字符串,所以它将是
SYS.DBMS_SHARED_POOL.MARKHOT(hash =>'e130457a4520f54c18acb0131777d76d',namespace =>0);
但是我想看看您为什么要首先运行它的动机。
SYS.DBMS_SHARED_POOL.MARKHOT(hash =>'e130457a4520f54c18acb0131777d76d',namespace =>0);
但是我想看看您为什么要首先运行它的动机。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




