前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle的X$表系列介绍之-X$KSLLCLASS

Oracle的X$表系列介绍之-X$KSLLCLASS

作者头像
数据和云01
发布2018-09-10 11:16:49
4930
发布2018-09-10 11:16:49
举报
文章被收录于专栏:数据库新发现数据库新发现

Oracle的X$表系列介绍之-X$KSLLCLASS

作者:eygle

出处:http://blog.eygle.com

日期:January 16, 2005

« HRAY纳斯达克的IPO历程 | Blog首页 | Windows Xp中如何设置自动登录 »


X$KSLLCLASS--[K]ernel [S]ervice [L]ock [L]atches [CLASS]

从Oracle9iR2开始,Oracle允许对Latch进行分类,不同的分类可以用于不同的_SPIN_COUNT值。 这就避免了之前版本,一旦修改_SPIN_COUNT参数就会影响所有Latch的问题。从而可以在一定程度上控制该参数对于CPU的过量耗用。

以下是x$ksllclass的查询输出:

SQL> select indx, spin, yield, waittime from x$ksllclass; INDX SPIN YIELD WAITTIME ---------- ---------- ---------- ---------- 0 20000 0 1 1 20000 0 1 2 20000 0 1 3 20000 0 1 4 20000 0 1 5 20000 0 1 6 20000 0 1 7 20000 0 1 8 rows selected.

代码语言:javascript
复制

比如我们的数据库系统经历较为严重的cache buffers chains竞争,为了降低其SLEEEP次数,我们可以对该Latch进行针对性分类邦定,单独修改其_SPIN_COUNT值。

SQL> select latch#,name from v$latchname where name='cache buffers chains'; LATCH# NAME ---------- ---------------------------------------------------------------- 98 cache buffers chains

代码语言:javascript
复制

我们可以如下修改初始化参数,而后重新启动数据库:

_latch_class_1 = "10000" _latch_classes = "98:1"

SQL> select latch#,name from v$latchname where name='cache buffers chains'; LATCH# NAME ---------- ---------------------------------------------------------------- 98 cache buffers chains SQL> alter system set "_latch_class_1"=10000 scope=spfile; System altered. SQL> alter system set "_latch_classes"="98:1" scope=spfile; System altered. SQL> startup force; ORACLE instance started. Total System Global Area 80811208 bytes Fixed Size 451784 bytes Variable Size 37748736 bytes Database Buffers 41943040 bytes Redo Buffers 667648 bytes Database mounted. Database opened. SQL> show parameter latch NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ _latch_class_1 string 10000 _latch_classes string 98:1 SQL> select indx, spin, yield, waittime from x$ksllclass; INDX SPIN YIELD WAITTIME ---------- ---------- ---------- ---------- 0 20000 0 1 1 10000 0 1 2 20000 0 1 3 20000 0 1 4 20000 0 1 5 20000 0 1 6 20000 0 1 7 20000 0 1 8 rows selected. SQL>

代码语言:javascript
复制

由此,单独控制一些重要Latch成为可能。

SQL> select a.kslldnam, b.kslltnum, b.class_ksllt 2 from x$kslld a, x$ksllt b 3 where a.kslldadr = b.addr 4 and b.class_ksllt > 0; KSLLDNAM KSLLTNUM CLASS_KSLLT ---------------------------------------------- ---------- ----------- process allocation 3 2 cache buffers chains 98 1

代码语言:javascript
复制

更多请参考: Richmond Shee, Kirtikumar Deshpande and K Gopalakrishnan的《Oracle Wait Interface》

<SCRIPT type=text/javascript><!-- google_ad_client = "pub-1012037994804294"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_channel =""; //--></SCRIPT> <SCRIPT src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </SCRIPT>

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2005年01月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Oracle的X$表系列介绍之-X$KSLLCLASS
  • 作者:eygle
  • 出处:http://blog.eygle.com
  • 日期:January 16, 2005
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档