Direct IO+asm引起css initialization

作者简介:

何剑敏 Oracle ACS华南区售后团队,首席技术工程师

现供职于Oracle ACS华南区售后团队,首席技术工程师。多年从事第一线的数据库运维工作,有丰富项目经验、维护经验和调优经验,专注于数据库的整体运维。

某数据库升级到12c后(应用代码也升级了),出现了大量css initialization的等待:

怀疑是否是12c的新特性导致。

CSS initialization 说明: 在RAC(或使用ASM的单实例)数据库环境下,当前台进程需要执行direct IO操作时,需要向CSSD进程进行注册,此时该前台进程发生CSS initialization等待。 在11g还是12c上,CSS initialization的触发原理都没有改变,该event是一个direct IO的预期行为,任何前台进程在需要进行direct IO的情况下,都必须进行一次CSS注册,之后就可以被允许进行direct IO操作。

我们知道,对LOB对象操作的时候,第一次操作的时候,是会进行direct IO的,后续的操作,要看LOB对象是否有cache,如果有cache,那么就不会进行direct OI,也就不会进行CSS initialization。

如果没有cache,那么每一次dml操作都要进行CSS initialization。那么就会出现这个客户遇到的情况一样,大并发的情况下,大量进程处于CSS initialization的等待了,并且cssd.bin进程的CPU使用率也会变得非常高。

所以通过情况下,我们不建议对频繁操作的核心业务表加LOB字段的。如果确实需要LOB字段,需要使用cache特性。请注意,这里是LOB对象的cache,而不是table的cache属性。我犯过一个错误,一个细微的差别导致加cache到table上,而不是LOB对象上,所以无论怎么测试,都无法重新客户的场景。

我建立的表如下:

CREATE TABLE wrong_tab_securefile_cache ( id NUMBER, clob_data CLOB ) LOB(clob_data) STORE AS SECUREFILE cache tablespace users;

正确的表的建立方式如下:

CREATE TABLE tab_securefile_cache ( id NUMBER, clob_data CLOB) LOB(clob_data) STORE AS SECUREFILE (cache) tablespace users;

仅仅是有没有括号的差别,即一个是cache,一个是(cache)。

但是如果你用dbms_metadata进行分析,就可以比较清楚的看清他们之间的差别了:

图二:

第21行和41行可以看到差别,第一个的cache属性是加在表上的,第二个表的cache属性是加在LOB上的。所以,如果我们把LOB对象加到cache中,就不会那么剧烈的遭受css initialization。

最后,客户是通过LOB字段改成varchar2字段解决了。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2016-11-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏精讲JAVA

我就想问问有多少人不会idea热部署的!!!赶紧学

今天,公众号上的一个粉丝说想让我调一下bug,自己解决好多天了,一直没有找到问题所在,本着救人一命胜造七级浮屠的觉悟,果断teamview了。谁让...

4521
来自专栏晨星先生的自留地

一次不完全成功的渗透

2555
来自专栏练小习的专栏

css制作表单

对于表单,很常用。但是在web standard建站的时候,他的排版往往让人遗忘,到了真正用到的时候就发现让人头疼,当然我也遇到过。我现在要介绍一个用< fie...

2235
来自专栏CSDN技术头条

竟然用了30多个开源软件,支付宝也是厉害了

在支付宝中的“设置”选项中,有一项为“关于”,在版权信息中显示了所有使用的开源软件信息。不看不知道,一看吓一跳,原来支付宝居然使用了30多个开源软件,

1763
来自专栏Java Web

模仿天猫实战【SSM】——总结

前台花费了大部分的时间,不仅仅是繁杂的样式和页面需要自己去编写,业务逻辑也比后台要复杂一些,因为是模仿,所以大部分的 CSS 我都是参照着天猫官网写的(利用Fi...

56110
来自专栏程序小工

【总结】两个月的工作任务总结

从 2018.4.2 工作以来,不知不觉已经工作两个多月,并在昨天约谈从这个月开始转正。从刚开始的自己学习,到逐渐接触公司的项目,并完成交付的功能模块,学到了很...

2262
来自专栏Jerry的SAP技术分享

SAP标准培训课程C4C10学习笔记(三)第三单元

C4C的Account List里能够直接在OWL(Object Work List)里看到每个账户的日程安排。

1322
来自专栏轮子工厂

有哪些实用且堪称神器的Chrome插件?吐血推荐!!!

相信很多人都在使用 Chrome 浏览器,其流畅的浏览体验得到了不少用户的偏爱,但流畅只是一方面, Chrome 最大的优势还是其支持众多强大好用的扩展程序(E...

3.6K4
来自专栏鹅厂优文

开发效率太低?您可能没看这篇文章

还记得刚参加工作的时候, 有位开发的同事软件使用效率奇高. 我曾亲眼目睹他在几秒之内打开开发软件, 优雅地调出隐藏的功能, 输入数据输出结果的过程行云流水, 一...

7492
来自专栏FreeBuf

帮女神修手机的意外发现:隐匿在iOS文件系统中的隐私信息

说明: 1. 本文仅供安全学习及教学用途,提及的部分技术带有攻击性,请确保合法使用。 2. “这些都不是我干的,我就负责说出来。” 3. 图片仅供参考。 4. ...

4549

扫码关注云+社区

领取腾讯云代金券