千家信息网

Oracle中如何获取v$latch数据源实验

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍了Oracle中如何获取v$latch数据源实验,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实验环境:Oracle
千家信息网最后更新 2025年02月01日Oracle中如何获取v$latch数据源实验

这篇文章主要介绍了Oracle中如何获取v$latch数据源实验,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

实验环境:Oracle Rac 11.2.0.3

首先获取v$latch的定义:
通过PL/SQL或者get ddl等常规途径只能获取到v_$latch相关的视图信息。
需要通过特殊方法获取v$latch的ddl
可以通过set autotrace traceonly开启状态下执行select * from v$latch;得知表的数据来源是x$kslltr,结果如下:
-----------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 352 | 0 (0)| 00:00:01 |
|* 1 | FIXED TABLE FULL| X$KSLLTR | 1 | 352 | 0 (0)| 00:00:01 |

通过sql_trace的方式因为版本问题,trace的输出结构略有不同,在11.2.0.4.5中可以获取的ddl,但是在我的实验环境中无法获取,方法如下
alter session set sql_trace=true;
select * from v$latch;
alter session set sql_trace=false;
select * from v$diag_info where name='Default Trace File';
tkprof xxxx.trc

通过10053trace的方式获取到v$latch的具体底层数据来源,方法如下
alter session set events '10053 trace name context forever,level 1';
select * from v$latch;
alter session set events '10053 trace name context off';
select * from v$diag_info where name='Default Trace File';

vim /u01/app/oracle/diag/rdbms/irac/IRAC1/trace/IRAC1_ora_16791.trc
注意!请不要使用sys用户做10053 trace,你是得不到结果的。
得到如下结果,从输出可以看出,最终转换的sql语句如下;
Final query after transformations:******* UNPARSED QUERY IS *******
SELECT "LT"."KSLLTADDR" "ADDR","LT"."KSLLTNUM" "LATCH#","LT"."KSLLTLVL" "LEVEL#","LT"."KSLLTNAM" "NAME","LT"."KSLLTHSH" "HASH","LT"."KSLLTWGT" "GETS","LT"."KSLLTWFF" "MISSES","LT"."KSLLTWSL" "SLEEPS","LT"."KSLLTNGT" "IMMEDIATE_GETS","LT"."KSLLTNFA" "IMMEDIATE_MISSES","LT"."KSLLTWKC" "WAITERS_WOKEN","LT"."KSLLTWTH" "WAITS_HOLDING_LATCH","LT"."KSLLTHST0" "SPIN_GETS","LT"."KSLLTHST1" "SLEEP1","LT"."KSLLTHST2" "SLEEP2","LT"."KSLLTHST3" "SLEEP3","LT"."KSLLTHST4" "SLEEP4","LT"."KSLLTHST5" "SLEEP5","LT"."KSLLTHST6" "SLEEP6","LT"."KSLLTHST7" "SLEEP7","LT"."KSLLTHST8" "SLEEP8","LT"."KSLLTHST9" "SLEEP9","LT"."KSLLTHST10" "SLEEP10","LT"."KSLLTHST11" "SLEEP11","LT"."KSLLTWTT" "WAIT_TIME" FROM SYS."X$KSLLTR" "LT" WHERE "LT"."INST_ID"=USERENV('INSTANCE')
kkoqbc: optimizing query block SEL$88122447 (#0)
从而得到v$latch的底层数据来源。

当然,如果每次想看到官方文档中没有记载的视图就去做一个10053trace,实在麻烦,可以使用如下方式,简单方便的查询到视图的数据源:
SQL> SELECT * FROM v$fixed_view_definition WHERE view_name = 'V$LATCH';

VIEW_NAME
--------------------------------------------------------------------------------
VIEW_DEFINITION
--------------------------------------------------------------------------------
V$LATCH
select addr,latch#,level#,name,hash,gets,misses,sleeps,immediate_gets, immediate
_misses,waiters_woken,waits_holding_latch,spin_gets, sleep1,sleep2,sleep3,sleep4
,sleep5,sleep6,sleep7,sleep8,sleep9, sleep10,sleep11,wait_time from gv$latch whe
re inst_id = USERENV('Instance')

SQL> SELECT * FROM v$fixed_view_definition WHERE view_name = 'GV$LATCH';

VIEW_NAME
--------------------------------------------------------------------------------
VIEW_DEFINITION
--------------------------------------------------------------------------------
GV$LATCH
select lt.inst_id,lt.kslltaddr,lt.kslltnum,lt.kslltlvl,lt.kslltnam, lt.ks
llthsh,lt.kslltwgt,lt.kslltwff, lt.kslltwsl,lt.kslltngt,lt.kslltnfa,lt.ks
lltwkc, lt.kslltwth,lt.ksllthst0,lt.ksllthst1,lt.ksllthst2, lt.ksl
lthst3,lt.ksllthst4,lt.ksllthst5,lt.ksllthst6,lt.ksllthst7, lt.ksllthst8,
lt.ksllthst9,lt.ksllthst10, lt.ksllthst11, lt.kslltwtt from x$kslltr lt

SQL>

感谢你能够认真阅读完这篇文章,希望小编分享的"Oracle中如何获取v$latch数据源实验"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

数据 实验 篇文章 数据源 方式 方法 来源 结果 视图 底层 环境 输出 不同 特殊 价值 信息 兴趣 可以通过 同时 官方 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 学生网络安全保护教育平台 安徽专业软件开发服务推广 wps应用软件开发 数据库返回一行数据 厦门斯塔克网络技术公司 2019软件开发服务费税率 做网络安全的守护者班队会 西安圣业网络技术 怎么玩web服务器 网络安全人工智能360 服务器帐户权限管理 汉寿学软件开发 天津微客思维网络技术有限公司 数据库查询的界面怎么调 合肥交通软件开发需要多少钱 四川省公安厅网络安全与执法 网络安全审查办法最新修订 战术小队怎么查找服务器 网络安全知识宣传海报 英雄联盟服务器崩溃哪个区都进不去了吗 c 服务器管理程序 软件开发文档引用文件 如何进行计算机网络安全维护 河南前端软件开发费用是多少 未知的数据库如何解决方法 橘树互联网科技有限公司 山东pdu服务器专用电源定制 如何看程序的数据库类型 关系型数据库系统英文 5g网络的网络安全
0