今天在一张大表(分区表)上创建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
--------------------------------------------------------------------------------
: