CREATE USER

 

ORACLE CREATE USER 공식 메뉴얼

 

오라클 공식 메뉴얼을 토대로 계정을 생성해 보자.

참고로 내가 다녔던 1금융에서 생성했던 방식을 그대로 사용하겠다.

(특별한건 아마 없을것 같다.)

 


DB계정생성
CREATE USER TEST_USR        --사용할 USER명을 기입한다.
IDENTIFIED BY "Test123!@"   --PW를 쌍따옴표 안에 기입한다. (특수문자,대소문자 구분 필요시)
DEFAULT TABLESPACE TS_IMSI  --TABLE&INDEX생성시 T/S를 명시하지 않아도 자동으로 이 부분에 설정한 T/S에 생성된다.
QUOTA UNLIMITED ON TS_IMSI  --DEFAULT T/S에서 사용할 SIZE를 설정한다. [QUOTA 10M ON]으로 하면 10MB까지만 사용할수 있다는 뜻이다.
PROFILE PF_TEST             --PROFILE을 설정한다. PROFILE에는 세션에 대한 각종 차단등 보안관련 설정이 가능하다.

위와 같이 줄바꿈하면서 쓰지않고 한줄로 써도 된다.

 

모든 옵션을 빼고 CREATE USER TEST_USR IDENTIFIED BY "Test123!@" 만 날려줘도 에러없이 생성된다.

대신 옵션중 일부는 DEFAULT가 설정된 값으로,

일부는 아무값도 들어가지 않게 되므로 ALTER문으로 추가로 작업해주어야 한다.

 

DEFAULT TABLESPACE를 지정해 주지 않으면

파라미터에 설정되어있는 DEFAULT T/S를 따라가게 되어

USERS 혹은 SYSTEM이 잡힐수도 있으니 큰 일 날 수 있다.

(물론 사용하는 환경의 파라미터를 보면 알 수 있다.)

 

추가로 다른 옵션을 부여할 필요없이 위와 같이 생성하면

업무에 아무 문제없이 사용할 수 있다.

 


DB계정 생성후 추가로 해야하는 작업

 

CREATE USER만 수행했다고 해서 바로 로그인을 할 수 있는것은 아니다.

DB접속권한과 기타 필요한 권한을 부여해 줘야한다.

 

일반적으로 아래 권한은 기본적으로 부여한다.

GRANT CONNECT TO USER_NAME;        --CONNECT라는 ROLE을 USER에 부여를 한다.
GRANT CREATE SESSION TO USER_NAME; --DB를 접속할수 있는 CREATE SESSION권한을 부여한다.

## 특정 테이블에 대한 권한을 부여하려면 아래와 같다.
GRANT SELECT ON OWNER.TABLE_NAME TO USER_NAME; --OWNER.TABLE_NAME에 조회권한을 USER에 부여한다.
GRANT INSERT, UPDATE, DELETE ON OWNER.TABLE TO USER_NAME; --삽입,수정,삭제 권한을 부여한다.


## DB접속 권한을 부여하고 싶다면 위의 권한중 하나만 부여하면된다.
## CONNECT ROLE에는 CREATE SESSION 권한이 부여되어있고 이 ROLE을 USER에 부여하는 개념이다.

 

권한 관련해서는 따로 글을 남기도록 하겠다.

 

 

 

+ Recent posts