티스토리 뷰
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
demo라는 유저를 만들어본다. 편의상 비밀번호도 demo로 지정한다.
create user demo
identified by demo;
그럼 한번 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 |
댓글