加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 如何为分区LOB索引指定INITRANS?

发布时间:2020-12-12 13:14:41 所属栏目:百科 来源:网络整理
导读:我有一个带有BLOB列的分区表.当多个用户从该表中删除每个事务多行时,我们经常遇到ORA-00060死锁,根据trc文件,死锁是由LOB索引分区中的ITL死锁引起的.所以我想重新创建具有比默认值2更高的LOB索引INITRANS的表.我可以使用create table …(… lob(…)store as
我有一个带有BLOB列的分区表.当多个用户从该表中删除每个事务多行时,我们经常遇到ORA-00060死锁,根据trc文件,死锁是由LOB索引分区中的ITL死锁引起的.所以我想重新创建具有比默认值2更高的LOB索引INITRANS的表.我可以使用create table …(… lob(…)store as …(. .. index …(… initrans 10 …))),但对于分区表,Oracle说
“ORA-22879:不能对分区表使用LOB INDEX子句”.有没有其他方法可以为分区LOB索引设置INITRANS?

(更新:请注意,我不需要更改现有表,我可以从头开始重新创建它.这通常更容易.)

jonearles的编辑如下:

以下是常规方法不起作用的示例:

create table test1(a number,b clob)
partition by range (a) (partition p1 values less than (1));

select * from dba_indexes where owner = user and table_name = 'TEST1';

--ORA-22864: cannot ALTER or DROP LOB indexes
alter index SYS_IL0000111806C00002$$initrans 3;

有趣的是,指数DDL看起来很奇怪.下面的代码不会运行 – 索引中没有表达式,括号甚至没有关闭.

select dbms_metadata.get_ddl('INDEX','SYS_IL0000111806C00002$$') from dual;

  CREATE UNIQUE INDEX "JHELLER"."SYS_IL0000111806C00002$$" ON "JHELLER"."TEST1" (
  PCTFREE 10 INITRANS 1 MAXTRANS 255 
  STORAGE(
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) LOCAL
 (PARTITION "SYS_IL_P19289" 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 LOGGING 
  STORAGE( INITIAL 65536 NEXT 1048576 MAXEXTENTS 2147483645
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS",PARTITION "SYS_IL_P19290" 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 LOGGING 
  STORAGE( INITIAL 65536 NEXT 1048576 MAXEXTENTS 2147483645
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" ) 
  PARALLEL (DEGREE 0 INSTANCES 0)

解决方法

Oracle技术支持说我不能为分区LOB索引指定INITRANS.但是,他们也注意到使用SECUREFILE选项和DEDUPLICATE LOB选项(我们这样做)可能是导致问题的原因.所以我放弃了DEDUPLICATE LOB(只是为了确定,用KEEP_DUPLICATES替换它),现在LOB索引死锁已经消失了! (我已经编写了一些压力测试,并且使用DEDUPLICATE LOB可以在几分钟内导致数十个死锁错误,但是没有使用KEEP_DUPLICATES.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读