BLOB 열이있는 분할 된 테이블이 있습니다. 트랜잭션 당 여러 행이 여러 사용자에 의해이 테이블에서 삭제되면 trc 파일에 따라 LOB 인덱스 파티션의 ITL 교착 상태 때문에 교착 상태가 발생하는 ORA-00060 교착 상태가 발생합니다. 따라서 기본 LOB 인덱스 INITRANS가 높은 테이블을 다시 만들고 싶습니다. create table ... (... lob (...) store as ... (... index ... (... initrans 10 ...)))
으로 파티션되지 않은 테이블에 대해 수행 할 수 있지만, 분할 된 테이블에 대해서는 Oracle이 말합니다. "ORA-22879 : LOB INDEX 절을 사용할 수 없습니다. 파티션 된 테이블 "을 참조하십시오. 파티션 된 LOB 인덱스에 대해 INITRANS를 설정할 수있는 다른 방법이 있습니까?파티션 된 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)
http://dba.stackexchange.com/ –