티스토리 뷰

배운 것 기록/DB

[Oracle] DCL - GRANT

키죽 2022. 8. 25. 11:58

SQL 구문 

- DQL 데이터질의어 : select

- DML 데이터조작어 : insert, update, delete (merge)

- DDL 데이터정의어 : create, alter, drop, truncate

- DCL 데이터제어어 : grant, revoke


GRANT

권한을 부여한다.


create user 권한을 가진 소유자가 DB에 hr같은 User를 생성할 수 있다. 

User 생성 시 유저명과 패스워드명을 기본으로 적절한 권한을 부여해주어야 한다.

 

평상 시에는 hr 사용자로만 이용했었는데

권한 부여 실습을 하기 위해 sys 사용자로 권한을 바꾼다(hr에는 권한부여 권한이 없기 때문)

conn sys/oracle as sysdba

sys로 잘 바꾸어졌다!

 

demo라는 유저를 만들어본다. 편의상 비밀번호도 demo로 지정한다.

create user demo
identified by demo;

User 생성 완료!

 

 

그럼 한번 demo로 연결해볼까?

 

오류가 난다.

 

=> demo라는 user를 만들었을 뿐,

권한부여를 하지않아 DB에 접속 가능한 권한조차 없기 때문이다!

 

이 상태에서 다시 show user를 하면 demo 접속을 실패했기 때문에

사용자가 설정되지 않은 채로 출력된다.

 

 

권한 유형 개념 소유자
System 권한 DB를 조작할 수 있는 권한
create session / user / table / view / sequence...
DBA
create index는 불가능
(create table 권한이 있는 사람만 생성 가능)
Object 권한 DB의 Object를 조작할 수 있는 권한
(HR 사용자 소유의 테이블을
select, insert, update, delete 할 수 있는 권한)
Object 소유자

 

System 권한 부여 (GRANT ~ TO)

GRANT	create session, create table,
	create sequence, create view
TO 	demo;

demo 사용자에게 세션과 테이블 생성하는 권한을 부여했다! 오른쪽을 보면 demo로 접속도 된다.

 

테이블 생성도 된다.

 

 

test_vu 이름의 뷰도 만들어보았지만 뷰 생성 권한은 없어서 해당 권한이 없다는 오류가 난다.

 

 

'배운 것 기록 > DB' 카테고리의 다른 글

[Oracle] 사용자 관리를 위한 Data Dictionary  (0) 2022.08.30
[Oracle] DCL - REVOKE  (0) 2022.08.25
[Oracle] CASE / DECODE 연습  (0) 2022.08.19
[Oracle] 조건부 표현식 - CASE  (0) 2022.08.19
[Oracle] Data Dictionary - object  (0) 2022.08.18
댓글
최근에 올라온 글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함