SQL

[Oracle] 유저 관리 - 유저생성, 권한부여, 권한변경, 유저삭제

ㄷㅐ장님 2021. 12. 31. 10:51

DDL(Database Definition Language)

유저 관리

권한(privilege)

: 특정한 sql문을 수행할 수 있는 권리

-시스템 권한 : 데이터베이스에 영향을 줄 수 있는 권한

-객체 권한 : 객체를 사용할 수 있는 권한

-role(롤) : 유저에게 부여할 수 있는 권한을 모아 놓은 객체, 유지관리에 대한 편리성

 

-sys

select * from user_sys_privs; : 내가 받은 시스템 권한을 확인
select * from user_tab_privs; : 내가 받거나 부여한 객체 권한을 확인
select * from session_roles; : 내가 받은 role을 확인
select * from role_sys_privs; : 내가 받은 role 안에 시스템 권한을 확인
select * from role_tab_privs; : 내가 받은 role 안에 객체 권한을 확인
select * from user_users; : 유저 정보 확인(hr)

-dba

select * from dba_users; : 데이터베이스에 생성된 유저 정보
select * from dba_sys_privs where grantee = ‘유저명’; : 시스템권한을 어떤유저에게 부여했는지 확인
select * from dba_dba_privs where grantee = ‘유저명’; : 객체 권한을 어떤 유저에게 부여했는지 확인
select * from dba_roles; : 데이터베이스에 생성된 롤에 대한 정보 확인
select * form dba_role_privs where grantee = ‘유저명’; : 유저한테 부여한 role에 대한 정보 확인

 

 

책 = table(segment)

장 = extent

페이지 = block

문장 = row

 

 

 

 

 

유저생성 (in dba)

create user james
identified by james
default tablespace users --테이블 생성시 사용할 수 있는 tablespace
temporary tablespace temp --정렬작업시 메모리에서 다 할 수 없으면 데이터를 임시로 저장하는 공간
quota 10m on users; --tablespace를 사용할 수 있는 권한
select * from dba_users where username='JAMES'; --유저생성 확인
select * from dba_ts_quotas; --10m 확인

권한 변경

alter user james
quota unlimited on users;

권한부여

DCL(Data Control Language)

-grant : 권한 부여 명령어

grant 시스템권한 to 유저명; --권한을 유저에게 부여하는 방법
grant create session to james;

-revoke : 권한 회수 명령어

revoke 시스템 권한 from 유저명; --권한을 유저에게 회수하는 방법
revoke create session from james;

유저삭제

drop user 유저명;

[문제92] 새로운 유저를 생성해주세요.

유저이름 : insa

비밀번호 : oracle

DEFAULT TABLESPACE : users

TEMPORARY TABLESPACE : temp users

TABLESPACE 사용량 : 1M

create user insa
identified by oracle
default tablespace users
temporary tablespace temp
quota 1m on users;

[문제93] insa 유저에서 create session 권한을 부여 해주세요.

grant create session to insa;