Database/OracleSQL

오라클 SQL 관리자로 사용자 권한 주기 및 기초 사용법

Jaybon 2020. 3. 18. 13:50

소유주 : sys, DBA
관리자 : system
유저 : 권한을 받는 ..

권한을 system, sys가 줄 수 있다.

1. 세션 권한 : 유저에게 접근 권한을 줌

2. 사용 권한

3. 테이블 스페이스 권한(테이블공간을 사용할 수 있는 권한)

4. 테이블 관련 권한(테이블을 생성할 권한)

 

--------------------------

 

 

관리자 페이지에서
(이름 cos 비밀번호 bitc5600 를 원하는 것으로 설정하면 된다

alter session set "_oracle_script"=true;
CREATE USER cos IDENTIFIED BY bitc5600;

GRANT CREATE SESSION TO cos;
GRANT CREATE TABLESPACE TO cos;
GRANT CREATE TABLE TO cos;
GRANT CREATE SEQUENCE TO love;
GRANT select, insert, delete, update on cos.player TO cos; --일부테이블만 권한주기
alter user cos default tablespace users quota unlimited on users;

 

 

권한 이해를 위한 기초 순서

오라클 데이터 베이스는 한줄씩 실행해야한다
Ctrl+Enter

관리자 페이지에서 cos 유저를 생성(세션권한) 및 사용권한을 부여

alter session set "_oracle_script"=true;
CREATE USER cos IDENTIFIED BY bitc5600;

한줄씩 ctrl + enter

 

 

테스트 후 성공하면 접속

 

 

오라클 SQL은 대소문자 구분하지 않지만 다른 SQL은 구분하는 곳도 있으니
구분하는 것으로 통일하자

크기는 길이인데 지금은 1 = 1byte라고 생각하자

널이 아님은 선언 및 초기화를 같이하는경우 사용(필수입력)

테이블을 만드는 것은 java 클래스를 만드는 것과 비슷하다

만들고 나서 확인을 누르면

테이블 공간 접속 권한이 없어서 오류가 발생한다

 

 

 

DDL로 들어가서 내용 복사

 

 

관리자 페이지로 돌아가서

GRANT CREATE TABLESPACE TO cos;


Ctrl+Enter

 

 

코스 페이지로 돌아가서

DDL에서 복사한 내용을 복붙 후 ctrl + enter

생성권한이 없어서 오류

 

 

다시 관리자 페이지에서

GRANT CREATE TABLE TO cos;

ctrl + enter

 

 

다시 코스 페이지로 돌아가서

ctrl + enter 를 치면

Table PLAYER이(가) 생성되었습니다. 라고 뜬다

 

 

생성되었다고 나오지만 테이블이 보이지 않는다
접속 탭에서 새로고침 하면 테이블이 보인다

 

 

코스 페이지에서

INSERT INTO player(id, name, position, teamid) 
VALUES(1,'이대호','1루수',1);

ctrl + enter

 

 

관리자 페이지에서

alter user cos default tablespace users quota unlimited on users;

ctrl + enter

 

 

코스 페이지에서 다시

ctrl + enter

 

 

 

 

커밋하기

 

 

 

 

 

 

SELECT
    *
FROM player;

다시 실행해보면 행의 내용이 삭제되어 있다