관리자 (SYS, SYSTEM)계정으로 접속 SYSDBA 역할(role)로 접속

1. 사용자 계정생성

-사용자
--생성
create user c##test;
--수정
alter user c##test IDENTIFIED BY 1234;
create user c##test;
--id,pw 한꺼번에 생성
create user c##test2 IDENTIFIED BY 1234;
--삭제
drop user c##test2;
--사용자계정으로 객체(테이블,뷰등)을 생성한경우 같이 삭제처리
drop user c##kh2 CASCADE;
----------------------------------------------------------
--현재 컨테이터 이름
show con_name;
--CDB에서 COMMON_USER_PREFIX(c##) 없이 생성
alter session set "_ORACLE_SCRIPT"=true;
--실행후 계정생성
create user test IDENTIFIED BY 1234;

2. 권한(privilege)부여

-사용자에게 권한 부여하기
--접속 권한
GRANT CREATE SESSION TO TEST;
--테이블생성권한
GRANT CREATE TABLE TO test;
--테이블스페이스(USERS)
GRANT UNLIMITED TABLESPACE to test;
-역할(ROLE)부여하는 방법
GRANT connect to test;
GRANT resource to test;
--접속권한,테이블,시퀀스 등 객체 생성권한등, 테이블스페이스사용권한
GRANT connect, resource, UNLIMITED TABLESPACE to test;
--ALTER USER QUOTA 문 사용법
--ALTER USER [사용자] QUOTA <사이즈> ON USERS
ALTER USER test QUOTA 10M ON USERS;
--사이즈 10M, 1G
ALTER USER test QUOTA UNLIMITED ON USERS;
ALTER USER test QUOTA 0 ON USERS;
select * from user_tables;
select * from dba_sys_privs;
select * from dba_role_privs;
select * from dba_sys_privs WHERE grantee='CONNECT';
select * from dba_sys_privs WHERE grantee='RESOURCE';
--롤을 해제
REVOKE connect, resource from test;
-조회결과
--
CONNECT	SET CONTAINER	NO	YES	NO
CONNECT	CREATE SESSION	NO	YES	NO
--
RESOURCE	CREATE INDEXTYPE	NO	YES	NO
RESOURCE	CREATE OPERATOR	NO	YES	NO
RESOURCE	CREATE TYPE	NO	YES	NO
RESOURCE	CREATE TRIGGER	NO	YES	NO
RESOURCE	CREATE PROCEDURE	NO	YES	NO
RESOURCE	CREATE SEQUENCE	NO	YES	NO
RESOURCE	CREATE CLUSTER	NO	YES	NO
RESOURCE	CREATE TABLE	NO	YES	NO