ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오라클 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;



     


    댓글

Designed by Tistory.