본문 바로가기

IT관련

오라클 에러 정보 (ORA-12913, ORA-25143) - 테이블스페이스 작업중 만나게되는

ORA-12913, ORA-25143 에러들은 Create Tablespace 작업중 종종 만나게 되는 에러입니다.

 

SQL> create tablespace TS1
datafile '/u03/oradata/ORA19/TS1_01.dbf' size 100M
extent management dictionary;

ERROR at line 1:
ORA-12913: Cannot create dictionary managed tablespace

 

$ oerr ora 12913
12913, 00000, "Cannot create dictionary managed tablespace"
// *Cause: Attemp to create dictionary managed tablespace in database
//         which has system tablespace as locally managed
// *Action: Create a locally managed tablespace.

 

ORA-12913 의 경우는 System TS 가 이미 locally managed 방식으로 만들어져 있기 때문에 dictionary managed 방식의 TS 를 생성할 수 없다는 것입니다. 그러니 TS 를 새로 만들려면 Locally managed 방식의 TS 를 만들라는 말입니다.

 

Dictionary manged 방식의 TS 는 과거 Old 버전의 Database 들이 주로 사용하던 방식으로 TS 에 대한 여유공간, Free 조각에 대한 정보를 Dictionary 에서 관리하는 방식입니다. Free 조각이 많고, Datafile 갯수가 많고, 트랜잭션이 몰리면 이 Dictionary 에 부하가 심해지면서 느려지는 현상이 발생하곤 했었습니다.

이런 단점을 개선한 것이 Locally Managed 방식입니다. TS를 구성하는 각각의 Datafile 들의 Header 부분에 Bitmap 을 만들고, 여기에서 Free 공간을 관리하는 방식으로 부하가 분산이 되어 Dictionary 병목현상이 없습니다.

 

 

SQL> create tablespace TS1
datafile '/u03/oradata/ORA19/TS1_01.dbf' size 100M
extent management local
default storage (initial 1M next 2M minextents 1 maxextents 1000 pctincrease 100);

ERROR at line 1:
ORA-25143: default storage clause is not compatible with allocation policy

 

$ oerr ora 25143
25143, 00000, "default storage clause is not compatible with allocation policy"
// *Cause: default storage clause was specified for a tablespace with
//         AUTOALLOCATE or UNIFORM policy
// *Action:  Omit the storage clause

 

ORA-25143 에러는 Create Tablespace 구문에서 default storage 구문을 같이 사용할 수 없다는 얘기입니다.

default storage 구문은 Locally Managed 방식의 TS 에서는 사용할 수 없습니다.

Extent Management 를 Locally Managed 방식으로 한 경우에는 default storage 구문 대신에 생략(=AutoAllocate) 하거나 Uniform Size 를 지정해야 합니다.

 

AutoAllocate 방식은 처음 Initial Extent 를 64KB 로 할당하고, 이후부터는 System 이 알아서 적당한 크기를 지정하는 방식을 말합니다.

Uniform Size 는 지정된 크기로 처음부터 끝까지 항상 똑같은 크기로 Extent 를 할당하라는 의미입니다.

 

참고) 오라클 Alertlog 파일 분석 프로그램 다운로드