-
오라클 sagment 에러 (ORA-00439: feature not enabled: Deferred Segment Creation %s, ora-01950 no privileges on tablespace "system")또니 개발 일기/Database 관련 2020. 2. 20. 15:34
오라클 DB 이전으로 DB를 백업했다가 복원을 진행하였다.
복원 진행하여 테이블과 데이터를 삽입하는데 sql파일이 실행이 안되며 아래와 같은 에러가 떨어졌다.
ORA-00439: feature not enabled: Deferred Segment Creation %s
오라클의 sagment는 디스크 저장공간인데 파티션을 나누면 에러가 사라진다고 한다.
다른 방법으로는 SEGMENT CREATION DEFERRED -> SEGMENT CREATION IMMEDIATE
이렇게 변경하면 에러가 사라진다.ex)
CREATE TABLE "DDONI"."USER_INFO"
( "SERIAL_NUMBER" VARCHAR2(20 BYTE),
"USER_NAME" VARCHAR2(10 BYTE),
"USER_BIRTH" VARCHAR2(8 BYTE),
"PHONE_NUMBER" VARCHAR2(20 BYTE),
"PUSH_NUMBER" VARCHAR2(200 BYTE),
"USE_YN" CHAR(1 BYTE) DEFAULT 'Y'
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
TABLESPACE "SYSTEM" ;
두번째 에러는 ORA-01950 no privileges on tablespace "system" 이였다.
권한이 불충분하다는 것.
SYSTEM계정으로 로그인 후SQL> alter user 유저명 account unlock;
SQL> grant create session, resource to 유저명;
SQL> alter user 유저명 default tablespace users quota unlimited on 테이블스페이스명;ex)
SQL> conn system/password
Connected.
SQL> alter user ddoni account unlock;
User altered.
SQL> grant create session to ddoni;
Grant succeeded.
SQL> grant create session, resource to ddoni;
Grant succeeded.
SQL> alter user ddoni default tablespace users quota unlimited on system;