前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >警示:一个专为AIX上12.1版本定制的Bug正在发生

警示:一个专为AIX上12.1版本定制的Bug正在发生

作者头像
数据和云
发布2018-03-07 17:20:33
1.2K0
发布2018-03-07 17:20:33
举报
文章被收录于专栏:数据和云数据和云

题记:一些用户在使用 Oracle Database 12.1 版本时(包含12.1.0.1 和 12.1.0.2 初始版本),再次遭遇到一个『专门为 AIX 定制的BUG』,这个BUG的影响非常大,再次提醒大家关注。

前一段,我们发布过一篇文章,题目是:一个专为AIX上11.2.0.4版本定制的Bug正在高发 ,很多朋友回复遇到过这个BUG,并且开始做出修正。最近,随着 12c 用户的逐渐增多,这个版本中的问题也在逐渐的呈现出来。

一些用户在使用 Oracle Database 12.1 版本时(包含12.1.0.1 和 12.1.0.2 初始版本),再次遭遇到一个『专门为 AIX 定制的BUG』,这个BUG的影响非常大,再次提醒大家关注。

这个BUG的编号是:21915719

在MOS上被提升到『警告』级别。

这个BUG的标题是:Database hang or may fail to OPEN in 12c IBM AIX or HPUX Itanium

也就是:数据库在 12c IBM AIX 平台上可能会Hang或者不能OPEN打开,后来加入了可能受到影响的安腾平台。

在出现问题时,数据库出现的错误是:

死锁 或者 ORA-600 [kcrfrgv_nextlwn_scn] ORA-600 [krr_process_read_error_2] 。

Doc ID 1957710.1 ALERT: Bug 21915719 Database hang or may fail to OPEN in 12c IBM AIX or HPUX Itanium - ORA-742, DEADLOCK or ORA-600 [kcrfrgv_nextlwn_scn] ORA-600 [krr_process_read_error_2]

导致这个问题的原因是:

大家知道,在Oracle 12.1 中,数据库将原本单一的 LGWR 进程进化为主从进程的结构,LGWR一个主进程,配合最多100个从属的SLAVE进程工作,可以将原来典型的Log File Sync等待降低,增加数据库的事务率和处理能力。

在云和恩墨的 12.2 体系结构图中,详细描述了这一新特性

『关注本公众号,回复:122ARCH 可以获得电子版 』

就是因为这个新特性的引入,带来了这样的数据库不能启动或者内部错误的风险。

如何规避这种风险:

先说如何规避,Oracle 几乎为每个新特性都设置了开关,可以通过隐含参数 _use_single_log_writer 来控制,将该参数设置为TRUE,就回到了11g的模式,使用单一的LGWR:

ALTER SYSTEM SET "_use_single_log_writer"=TRUE SID='*' SCOPE=SPFILE;

注意:如果数据库已经遇到这个BUG,改参数就来不及了。Oracle 已经为这个BUG提供了补丁修正。这个问题在 12.1.0.2.160419 的 PSU 中修正,如果你已经应用了这个PSU,则无需担忧,否则就应该正视这个问题。

在这个BUG中,Oracle这样描述了如何可能踩到这个大坑。

这个问题仅当以下条件都遭遇时出现:

  1. 在 AIX 平台上的 Oracle 12.1 版本;
  2. LGWR 和 LGWR Slave 进程同时运行在某个实例,处于Hang的挂起状态,没有进一步的日志切换出现,事务无法进行;
  3. 在Hang附近,告警日志可能出现类似 LGWR / LG<nn> waits for event 'LGWR any worker group' for <n>secs 的日志信息;
  4. 转储SYSTEM State可以看到 LGWR 从属进程处于 LGWR worker group ordering 状态等待;
  5. LGWR从属进城等待的核心 lwn_id 是相同的,信息类似:waiting for 'LGWR worker group ordering' lwn_id=0xde ;
  6. 重启可以解决Hang的问题,但是有时候会遇到 ORA-600 [kcrfrgv_nextlwn_scn] or ORA-600 [krr_process_read_error_2] 而无法启动;

综合以上的信息可以看出:

之所以出现挂起是引用:LGWR的Slave进程需要按照顺序(ordering)来接受日志,但是在Power处理器上,因为某些原因并未按照顺序来传递日志,导致所有的Slave进程都在等待某个序号的日志批量,这就导致了挂起。

使用新特性,了解新特性,关注行业动态,对于数据库来说是多么重要。

在使用新版本时,总会遇到新问题,欢迎大家留言和我们分享你的踩坑故事。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据和云 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档