[Oracle] User생성 및 권한 부여 방법

gayoung·2023년 11월 12일

1. User 생성

     CREATE USER [계정명] IDENTIFIED BY [비밀번호]
            DEFAULT   TABLESPACE tblspace1 --테이블스페이스명
            TEMPORARY TABLESPACE temp1     --임시테이블스페이스명
            QUOTA 10M on tblspace1         --tblspace1 테이블스페이스에 10M 사용가능  
            --QUOTA UNLIMITED ON tblspace1 --tblspace1 테이블스페이스 무제한 사용가능
            PROFILE   profile1             --사용자 프로필 지정     
            PASSWORD  EXPIRE               --사용자 최초 로그인 암호 재설정
            ACCOUNT   LOCK;                --사용자 계정 잠금 또는 해제 (LOCK or UNLOCK)
            
     COMMIT;

사용자 생성 오류 처리 (오라클 12c 이상)

ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다.
65096. 00000 - "invalid common user or role name"
Cause: An attempt was made to create a common user or role with a name
that was not valid for common users or roles. In addition to
the usual rules for user and role names, common user and role
names must start with C## or c## and consist only of ASCII
characters.
Action: Specify a valid common user or role name.

  • 오라클 12.1 버전부터 멀티 테넌트 기능을 사용할 수 있다. 멀티 테넌트 기능을 사용하면 데이터베이스가 CDB(Container DB)로 동작하므로 c##접두어붙여아함
  • 해결방법 : [계정명] -> c##[계정명]

2. User 생성 확인

     SELECT * FROM ALL_USERS;

3. User에 권한 부여

     GRANT [권한] TO [계정명];
     GRANT [오브젝트권한] ON [유저명].[테이블명] TO [계정명];
     
     GRANT connect, resource, dba TO [계정명];

4. User에 권한 제거

     REVOKE [권한1], [권한2..] USER FROM [유저명];
     REVOKE [오브젝트권한] ON [유저명].[테이블명] FROM [권한을부여할유저명];

4. User 삭제

     DROP USER scott CASCADE;

0개의 댓글