欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

RAC 环境中分区表创建index hang(row cache lock)

程序员文章站 2024-01-26 21:15:46
...

今天在一张大表(分区表)上创建bitmap 索引,执行一段时间后就hang在那里 等待事件为row cache lock

今天在一张大表(分区表)上创建bitmap 索引,执行一段时间后就hang在那里 等待事件为row cache lock

查询得知:


SQL>

select event,p1 from v$session a where a.username is not null and a.status='ACTIVE'

EVENT P1

---------------------------------------------------------------- ----------

row cache lock 2

查询v$rowcache

SQL> select parameter from v$rowcache where cache#=7;

PARAMETER

--------------------------------

dc_segments

dc_segments

dc_segments

查询mos得知是一个bug


Bug 8417354 10.2.0.4 RDBMS 10.2.0.4 DICTIONARY PRODID-5 PORTID-226 6004916
Abstract: CREATE BITMAP INDEX HANG ON "ROW CACHE LOCK"

Bug 6321551 10.2.0.2 RDBMS 10.2.0.2 RAC PRODID-5 PORTID-226 6004916
Abstract: CREATE INDEX ON PART. TABLE NOT FINISHING W/ ROW CACHE LOCK

Base Bug 6004916 11.0.0.0 RDBMS 11.0.0.0 ROW CACHE PRODID-5 PORTID-46
Abstract: REFPART:LNX:WAITED TOO LONG FOR A ROW CACHE ENQUEUE LOCK

When creating a local index on partitioned table is not finishing on a two node RAC. Also, ORA-4021 error could be reported after a while.

该bug出现的场景及症状

1 It has not been possible to create an index on a partitioned table.
2 Error ORA-04021 may be reported after a while.
3 The table contain huge number of partitions and sub-partitions.
4 This is a 2-node RAC environment.
5 Index creation waits on 'row cache lock'.
6 The blocker process is not recorded in the system state dumps.

解决方案

应用补丁 Patch 6004916.


关闭RAC除本节点的其他节点实例,创建索引,,创建后打开其他节点实例

--------------------------------------------------------------------------------

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------------------------------------------------