[Oracle] 사용자 생성 / 권한 부여 및 권한 관련 옵션

EUN JY·2022년 8월 11일
1

Database

목록 보기
5/21

1. 사용자 생성 및 권한 부여

  • Oracle 설치 및 데이터베이스 생성 이후, 사용자 생성 단계
  • 관리자 권한으로 cmd 창 실행
C:\Windows\system32> sqlplus

사용자명 입력: SYSTEM
비밀번호 입력: [비밀번호 입력]

1-1. 사용자 생성

  • 사용자 ID와 PW를 입력
CREATE USER [ID] IDENTIFIED BY [PW];
-- 생성된 사용자 확인
SELECT USERNAME FROM DBA_USERS;
-- 사용자 비밀번호 변경
ALTER USER [ID] IDENTIFIED BY [PW];
  • 생성된 아이디로 접속하여 SHOW USER; 입력 시, 사용자 확인 가능
    • sqlplus 에서는 CONN [ID] 를 이용해 SYSTEM 계정에서 타 계정으로 접속 가능

1-1-1. 사용자 삭제

  • CASCADE : 사용자와 객체를 모두 삭제할 경우
DROP USER [ID] ['CASCADE'];

1-2. 권한 부여

  • 부여할 권한을 콤마(,)로 구분하여 나열
  • WITH ADMIN OPTION : 현재 GRANT 문을 통해 부여받은 권한을 다른 사용자에게 부여할 수 있는 권한을 부여
    • 현재 사용자 권한이 사라져도 권한을 재부여한 다른 사용자 권한은 유지됨
GRANT [권한] TO [ID] [WITH ADMIN OPTION]; /* GRANT CONNECT, RESOURCE, DBA TO [ID]; */

1-2-1. 권한 종류

  • CONNECT : 접속 권한
  • RESOURCE : 객체 및 데이터 조작 권한
    • 시스템 권한의 일정 부분을 부여
    • CREATE TABLE, CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER, CREATE TYPE 부여 가능
  • DBA : DB 시작, 종료 권한을 제외한 모든 시스템 권한
    • 유저 생성 및 권한 부여, 스키마 오브젝트 생성, 수정, 삭제 등

1-2-2. 권한 취소

REVOKE [권한] FROM [ID];  /* REVOKE CONNECT, RESOURCE, DBA FROM [ID]; */

1-2-3. 객체 권한 부여

  • 객체 권한 : 콤마(,)로 구분하여 여러 권한을 부여하거나 ALL PRIVILEGES 를 이용하여 모든 권한 부여
GRANT [객체 권한/ALL PRIVILEGES]
ON [스키마, 객체 이름]
TO [ID]
[WITH GRANT OPTION];

-- 예시) ynjch에게 USER_INFO 테이블의 SELECT, INSERT 권한 부여
GRANT SELECT, INSERT ON USER_INFO TO ynjch;

1-3. 적용 사항 확인

  • 아래 명령어로 commit 후, 생성된 사용자 확인
COMMIT;
SELECT * FROM ALL_USERS;
profile
개린이

0개의 댓글