[20240821]建立完善kglob.sql脚本.txt --//以前写的查询v$db_object_cache视图脚本,有一个缺点,输出太长,看上去非常不美观. --//链接如下:https://blog.itpub.net/267265/viewspace-3015895/=>[20240516]关于v$db_object_cache视图.txt --//修改先执行1次不输出利用set term off,然后利用pr.sql脚本转换为竖向输出. --//另外需要显示namespace的数字信息10,16进制显示,加上kglhdnsp,to_char(kglhdnsp,'FMxx')显示. --//另外还有1个问题,就是11g以下版本不使用PDB,在11g下查询会报错.做一些修改完善: $ cat kglob.sql -- Copyright 2023 lfree. All rights reserved. -- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms and conditions. -------------------------------------------------------------------------------- -- -- File name: kglob.sql -- Purpose: query v$db_object_cache view -- -- Author: lfree -- -- Usage: -- @ kglob <sql_id> <hash_value> -- for example -- @ kglob 0 123456678 -- @ kglob 7h35uxf5uhmm1 0 -- -------------------------------------------------------------------------------- set term off head off define noprint='noprint' col tpt_version_old &noprint new_value _tpt_version_old col tpt_version_new &noprint new_value _tpt_version_new col tpt_noprint &noprint new_value _tpt_noprint WITH version AS (SELECT TO_NUMBER (SUBSTR (version, 1, 2)) v FROM v$instance) SELECT CASE WHEN v <= 10 THEN '' ELSE '--' END tpt_version_old ,CASE WHEN v > 10 THEN '' ELSE '--' END tpt_version_new FROM version; select /*+ USE_CONCAT(@"SEL$1" 8 OR_PREDICATES(1)) */ inst_id INST_ID ,KGLNAOWN OWNER ,kglnaobj NAME ,kglnadlk DB_LINK ,kglhdnsd NAMESPACE ,kglobtyd TYPE ,kglhdnsp NAMESPACE_NUM ,to_char(kglhdnsp,'FMxx') NAMESPACE_HEX ,kglobhs0+kglobhs1+kglobhs2+kglobhs3+kglobhs4+kglobhs5+kglobhs6 SHARABLE_MEM ,kglhdldc LOADS ,kglhdexc EXECUTIONS ,kglhdlkc LOCKS ,kglobpc0 PINS ,decode(kglhdkmk,0,'NO','YES') KEPT ,kglhdclt CHILD_LATCH ,kglhdivc INVALIDATIONS ,kglnahsh HASH_VALUE ,decode(kglhdlmd,0, 'NONE',1, 'NULL', 2, 'SHARED',3, 'EXCLUSIVE','UNKOWN') LOCK_MODE ,decode(kglhdpmd,0, 'NONE',1, 'NULL', 2, 'SHARED',3, 'EXCLUSIVE','UNKOWN') PIN_MODE ,decode(kglobsta,1, 'VALID',2,'VALID_AUTH_ERROR',3,'VALID_COMPILE_ERROR',4,'VALID_UNAUTH',5,'INVALID_UNAUTH',6,'INVALID','UNKOWN') STATUS ,substr(to_char(kglnatim,'YYYY-MM-DD/HH24:MI:SS'),1,19) TIMESTAMP ,substr(to_char(kglnaptm,'YYYY-MM-DD/HH24:MI:SS'),1,19) PREVIOUS_TIMESTAMP ,kgloblct LOCKED_TOTAL ,kglobpct PINNED_TOTAL ,kglobprop PROPERTY ,kglnahsv FULL_HASH_VALUE &&_tpt_version_new ,con_id CON_ID &&_tpt_version_new ,KGLNACON CON_NAME ,kglhdadr ADDR ,kglnaedn EDITION ,KGLOBT03 SQL_ID &&_tpt_version_old,substr(replace(nvl(decode(kglnaown, null, kglnaobj, kglnaobj||'.'||kglnaown||'.'||'\x'||to_char(kglhdnsp,'FMxx')||'\0\0\0'), '(name not found)'),chr(13),'') ,1,60) end OBJECT_STR &&_tpt_version_new,substr(replace(nvl(decode(kglnaown, null, kglnaobj, kglnaobj||'.'||kglnaown||'.'||kglnacon||'\x'||to_char(kglhdnsp,'FMxx')||'\0\0\0'), '(name not found)'),chr(13),'') ,1,60) OBJECT_STR from x$kglob where kglnaobj is not null and (KGLOBT03 = lower('&1') or KGLNAHSH= &2); set term on head on @ pr --//OBJECT_STR 的输出还有一些细节处理起来太麻烦了,我仅仅设置kglnaown is null时,等于kglnaobj.这样对sql_id is not null有效. --//如果这时sql_id is null,实际上kglnaobj||'.'||kglnacon||'\x'||to_char(kglhdnsp,'FMxx')||'\0\0\0'. --//很少遇到不修改了.
[20240821]建立完善kglob.sql脚本.txt
来源:这里教程网
时间:2026-03-03 20:34:23
作者:
编辑推荐:
- [20240821]建立完善kglob.sql脚本.txt03-03
- [20240822]e8ec445edab00042802d511305ab90fa full_hash_value.txt03-03
- [20240823]SYS.1073777561是什么对象.txt03-03
- 数据库管理-第235期 为什么RAC架构仍然很强(20240827)03-03
- [20240823]21c数字对象是什么.txt03-03
- [20240824]跟踪library cache lock library cache pin使用gdb.txt03-03
- [20240824]利用gdb抽取kglnaobj内容.txt03-03
- rac集群二几点重启ora.gipcd不能正常启动03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 数据库管理-第235期 为什么RAC架构仍然很强(20240827)
数据库管理-第235期 为什么RAC架构仍然很强(20240827)
26-03-03 - rac集群二几点重启ora.gipcd不能正常启动
rac集群二几点重启ora.gipcd不能正常启动
26-03-03 - ORA-00600: 内部错误代码, 参数: [13011]处理
ORA-00600: 内部错误代码, 参数: [13011]处理
26-03-03 - 超过100万行 存储过程的超复杂Oracle数据库,国产化怎么办?
超过100万行 存储过程的超复杂Oracle数据库,国产化怎么办?
26-03-03 - 4家国产数据库上市公司半年报!最好的利润1个亿!最差的亏8000万!
4家国产数据库上市公司半年报!最好的利润1个亿!最差的亏8000万!
26-03-03 - PORCESS满 故障处理报告
PORCESS满 故障处理报告
26-03-03 - 无缝连接!YashanDB DBLink技术应用实践
无缝连接!YashanDB DBLink技术应用实践
26-03-03 - Oracle 数据库忘记密码,如何找回明文密码?
Oracle 数据库忘记密码,如何找回明文密码?
26-03-03 - Oracle 丢失Redo、Control、SYSAUX、USER文件,无备份,成功启库!
- 阿里财报透视:谁在投入?谁在收缩?
阿里财报透视:谁在投入?谁在收缩?
26-03-03
