반응형
■ 유저 생성
오라클에서 유저를 생성할 때는 아래와 같은 구문으로 생성한다.
(DEV01 유저를 생성하고 해당 유저의 디폴트 TABLESPACE는 TS_DEV01로 설정한다.)
--sqlplus 접속
sqlplus "/as sysdba"
--19c이상 버전일 경우 pdb로 세션 변경
alter session set container=orclpdb;
--user 생성
create user dev01 identified by dev01 default tablespace ts_dev01 temporary tablespace temp;
--user생성 확인
select * from dba_users where 1=1 and username = 'DEV01';
이렇게 생성하고 나서 접속을 시도하면 접속이 되지 않는다.
커넥션을 맺는 권한을 부여 받아야 하며, 세션을 생성할 수 있는 권한 부여받아야 비로소 "접속"은 할 수 있다.
■ 권한 주기
권한은 GRANT 구문으로 부여할 수 있다.
기본적인 접속을 위해 생성되어 있는 ROLE인
RESOURCE, CONNECT 을 부여한다.
--ROLE에 속한 권한 목록 확인 (RESOURCE, CONNECT)
select * from role_sys_privs where 1=1 and role in ('RESOURCE','CONNECT') order by 1
CONNECT CREATE SESSION NO YES YES
CONNECT SET CONTAINER NO YES YES
RESOURCE CREATE INDEXTYPE NO YES YES
RESOURCE CREATE TABLE NO YES YES
RESOURCE CREATE TRIGGER NO YES YES
RESOURCE CREATE TYPE NO YES YES
RESOURCE CREATE OPERATOR NO YES YES
RESOURCE CREATE PROCEDURE NO YES YES
RESOURCE CREATE SEQUENCE NO YES YES
RESOURCE CREATE CLUSTER NO YES YES
--권한 부여
grant connect to dev01;
grant resource to dev01;
--권한 확인
select grantee, granted_role from dba_role_privs where 1=1 grantee = 'DEV01';
DEV01 CONNECT
DEV01 RESOURCE
해당 ROLE을 부여한 후 여러 작업을 위해 SYSTEM 권한, 객체 권한 등을 부여한다.
① 시스템 권한 : 데이터베이스에서 특정 작업을 수행할 수 있게해주는 권한 (ANY 옵션은 모든 스키마에 대해 권한을 부여)
② 객체 권한 : 다른 유저가 소유하고 있는 객체를 사용자가 엑세스할 수 있게 해주는 권한
시스템 권한은 아래와 같이 부여할 수 있다.
--시스템 권한 부여
grant select any table to DEV01;
grant create any table to DEV01;
grant update any table to DEV01;
grant insert any table to DEV01;
grant delete any table to DEV01;
grant alter any table to DEV01;
객체 권한은 아래와 같이 부여할 수 있다.
--객체 권한 부여
grant select on DEV01.TEST_TAB to EDU01;
grant insert on DEV01.TEST_TAB to EDU01;
GRANT 구문으로 권한을 부여받은 USER는
ADMIN OPTION / GRANT OPTION 을 통해
자신이 부여받은 권한을 다른 유저에게 부여할 수 있다.
해당 옵션은 아래와 같이 부여할 수 있다.
grant create any table to DEV01 with admin option; --시스템 권한의 admin option
grant select on DEV01.TEST_TAB to EDU01 with grant option; --객체 권한 grant option
반응형
'데이터베이스 > ORACLE' 카테고리의 다른 글
[ORACLE/오라클] 딕셔너리 뷰를 이용해 SELECT문 만들기 (1) | 2023.05.14 |
---|---|
[ORACLE/오라클] 날짜 테이블, 달력 테이블 만들기 (0) | 2023.05.05 |
[ORACLE/오라클] WINDOW 환경에서 SCOTT계정 생성 (0) | 2023.04.13 |
[ORACLE/오라클] 오라클 테이블 자동 DDL 생성 (테이블, PK, 인덱스) (0) | 2022.06.13 |
[ORACLE/오라클] 다이나믹 SQL 구현 (0) | 2022.03.16 |