본문 바로가기
데이터베이스

데이터베이스 사용자 만들기, tablespace 권한주기

by 김마리님 2020. 3. 18.

데이터베이스를 만드는 주체는 다음과 같이 이루어진다.

소유주, 관리자, 사용자이다.

소유주는 sys, 관리자는 system으로 오라클이 미리 지정을 한다. 이 테이블스페이스를 직접 사용할 user를 만들고, 권한을 주는 방법을 알아본다.

데이터베이스에서 접근하고 테이블을 작성, 수정할 수 있는 권한을 주는 방법은 다음과 같다.

1. 세션 권한

세션 권한은 데이터베이스에 접근할 수 있는 권한이다.

2. 사용 권한

사용 권한은 데이터베이스를 사용할 수 있는 권한이다.

3. 테이블스페이스 권한

테이블을 만들 수 있는 데이터 공간을 만들 수 있는 권한이다.

4. 테이블 관련 권한

테이블의 자료를 수정할 수 있는 권한이다.

 

이렇게 네 가지의 권한이 필요하다.

 

 

1) 사용자를 생성한다.

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

(session을 true로 설정하지 않으면 사용자가 만들어지지 않는다!)

사용자를 생성하고,

다음 버튼을 눌러보면 아래와 같은 창이 뜬다.

여기서 이름은 SQL 탭에 뜨게 될 이름이다.

사용자 이름은 앞서 user을 생성할때 사용한 cos라는 이름을 사용하고, 비밀번호 역시 system이 만들어질 때의 비밀번호로 접근한다.

 

 

접근 권한이 없는 채로 테이블을 생성하면,

따라서 데이터베이스 접근권한, 테이블 스페이스 권한, 테이블 관련 권한을 부여해야한다.

 

 

2) 테이블 생성 권한 부여하기

GRANT CREATE SESSION TO cos;
GRANT CREATE TABLESPACE TO cos;
GRANT CREATE TABLE TO cos;

다음과 같이 부여한다.

위에서부터 차례로 세션 권한, 테이블 스페이스 권한, 테이블 생성 권한을 부여하는 것이다.

 

테이블이 만들어져도 여전히 데이터를 내부에 집어넣을 수 없다.

데이터를 변경할 수 있는 권한이 없기 때문이다.

 

 

3) 테이블 변경 권한 부여하기.

GRANT select, insert, delete, update ON cos.player to cos;
alter user cos default tablespace users quota unlimited on users;

첫번째 줄은 표를 선택, 삽입, 삭제, 업데이트 권한을 부여한다.

두번째는 테이블 스페이스의 크기를 부여하는(한계를 해제하는) 명령어이다.

 

 

이렇게 테이블의 실질적인 데이터 변경에는 영향을 미치지 않지만, 데이터 구조에 영향을 미치는 명령어(GRANT, ALTER, CREATE 등)을 DDL(데이터 정의 언어)라고 한다.

 

반응형

'데이터베이스' 카테고리의 다른 글

2. 문자함수(substr, instr, replace ....)  (0) 2020.03.19
1. SELECT 명령어  (0) 2020.03.19
테이블 자료 수정 체험.  (0) 2020.03.18
.sql 확장자 파일 불러오기  (0) 2020.03.18
데이터베이스 기초  (0) 2020.03.18