select * from dba_users; -- 현재 존재하는 계정 확인
create user [USER] identified by [PW] -- 계정 생성
alter user [USER] identified by [PW] -- 비밀번호 변경
grant create user to [USER]
grant create view to [USER]
grant create procedure to [USER]
grant create table to [USER]
grant create session to [USER] -- user 생성시 사용하는 권한으로 서버 접속 권한
revoke create [권한] from [USER]
예) revoke create session from [USER]
drop user [USER] (cascade) -- user제거 (권한 등 모든 것 다 제거)
권한을 줄 때 USER가 다수 일 경우 ,(콤마)로 구분
예) grant create view, create procedure to [USER]
revoke create session, create table from [USER]
role : grant 명령으로 하나하나 권한을 부여하면 시간과 노력이 많이 소요되므로 권한을 미리 정의하고 한꺼번에 유저에게 할당할 수 있다.
create role [롤 이름] -- 롤 생성
drop role [롤 이름] (cascade)-- 롤 삭제
롤에 권한 부여 및 삭제
grant create [권한] to [롤 이름] -- 롤에 권한 생성
예) grant create session, create table to [롤 이름] -- 롤에 권한 생성
revoke create [권한] from [롤 이름] -- 롤에 권한 삭제
예) revoke create session from [롤 이름]
* 만약 create session과 create table이 있는 롤을 적용하고 롤에서 create session을 제거 후 다시 롤을 적용시키면 마지막에 있는 롤이 권한에 추가 된다. 즉 create table만이 남게 된다.
grant [롤 이름] to [USER] -- 롤 적용
revoke [롤 이름] from [USER] -- 롤 삭제
새로 사용자를 추가할 때 기본으로 사용하면 좋은 것
grant connect, resource to [USER];
session같은 기본적인 것들이 자동으로 들어가게 된다.