문서유형ㅣ장애해결
분야ㅣ관리/환경설정
적용제품버전ㅣ7FS02, 7FS02PS
문서번호ㅣTADTS004
현상
삭제하려는 테이블스페이스(TS)의 상태가 OFFLINE이거나 READ ONLY인 경우, 오브젝트 삭제 시 _DD_DROPPED_SGMT에 메타 정보는 남지만 실제 세그먼트를 제거할 수 없습니다.
이로 인해 suspended _DD_DROPPED_SGMT : not writable ts (10) 에러가 발생하게 됩니다.
이로 인해 suspended _DD_DROPPED_SGMT : not writable ts (10) 에러가 발생하게 됩니다.
원인
삭제 대상 오브젝트의 테이블스페이스가 READ ONLY 또는 OFFLINE 상태이면 세그먼트를 제거할 수 없어 _DD_DROPPED_SGMT에 메타만 남게 됩니다.
해결
변경 방법
suspended _DD_DROPPED_SGMT : not writable ts (10) 에러 출력 방지
해당 에러 메시지를 출력하지 않도록 하려면 아래와 같이 파라미터 값을 변경합니다.
SQL> alter system set _LAZY_SGMT_DROP_NOT_WRITABLE_TS_LOG = N;
_DD_DROPPED_SGMT 목록 제거
테이블스페이스 상태를 ONLINE 또는 READ WRITE 상태로 변경합니다.
SQL> alter tablespace <TABLESPACE_NAME> read write;
예제 확인
테이블 스페이스, 테이블 생성 및 TS 상태 변경
SQL> CREATE TABLESPACE TS1 DATAFILE '/home/viera/tibero7/database/tibero/ts1.dtf' SIZE 100M; Tablespace 'TS1' created. SQL> create table t (a number) tablespace ts1; Table 'T' created. SQL> alter tablespace ts1 read only; Tablespace 'TS1' altered.
Object 목록 확인
SQL> select * from sys._dd_obj where name='T';
OBJ_ID OWNER_ID
---------- ----------
NAME
--------------------------------------------------------------------------------
SUBNAME
--------------------------------------------------------------------------------
BO_ID TYPE_NO FLAGS
---------- ---------- ----------
CTIME
--------------------------------------------------------------------------------
MTIME
--------------------------------------------------------------------------------
STIME
--------------------------------------------------------------------------------
RESERVED1 RESERVED2 RESERVED3
---------- ---------- ----------
RESERVED4
--------------------------------------------------------------------------------
4064 18
T
4294967295 1 0
2025/02/19
2025/02/19
2025/02/19
0 0 0
1 row selected.
SQL> select * from sys._dd_dropped_sgmt;
0 row selected.
테이블 삭제 및 sys.log에 에러 발생
테이블 삭제
SQL> drop table t; Table 'T' dropped.
sys.log
[2025-02-19T10:46:57.379133] [DDL-102] [I] sgmt(4064) suspended _DD_DROPPED_SGMT : not writable ts (10)
Object 목록 확인
오브젝트 존재 확인
SQL> select * from sys._dd_obj where name='T'; 0 row selected.
_dd_dropped_sgmt 목록 등록 확인
SQL> select * from sys._dd_dropped_sgmt;
SESSID SGMT_ID TS_ID SHDRDBA FLAGS
---------- ---------- ---------- ---------- ----------
89 4064 10 37748745 1
1 row selected.
파라미터 변경 및 sys.log 확인
sys.log에 에러 미출력
SQL> alter system set _LAZY_SGMT_DROP_NOT_WRITABLE_TS_LOG = N; System altered.
Tablespace STATUS 변경 (READ ONLY → READ WRITE)
ts status 변경
SQL> alter tablespace ts1 read write; Tablespace 'TS1' altered.
_dd_dropped_sgmt에 목록 제거된 사항 확인
SQL> select * from sys._dd_dropped_sgmt; 0 row selected.
파라미터 변경 후에도 에러 미출력
sys.log에 에러 미출력
SQL> alter system set _LAZY_SGMT_DROP_NOT_WRITABLE_TS_LOG =Y; System altered.