[데이터베이스] 13일차 - 오라클 설치, 명령어, 권한, 롤 :: 소림사의 홍반장!

 

2012/08/13 - [Dev. 참고자료] - [설치 및 환경 세팅] 데이터베이스 - ORACLE ( XP 기준 )

 

 

2012/08/14 - [Dev. 데이터베이스/SQL 예제] - [ORACLE SQL 문법] 유저생성(CREATE,DROP), 권한부여(GRANT,REVOKE), 역할지정(ROLE)

 

 

 

SQL의 종류

 

  • 1. DDL (Data Definition Language) : 데이터베이스 객체(테이블,뷰,인덱스..)의 구조를 정의 합니다.

SQL문 내 용
CREATE 데이터베이스 객체를 생성 합니다.
DROP 데이터베이스 객체를 삭제 합니다.
ALTER 기존에 존재하는 데이터베이스 객체를 다시 정의하는역할을 합니다.

  • 2. DML (Data Manipulation Language) : 데이터의 삽입,삭제,갱신등을 처리

SQL문 내 용
INSERT 데이터베이스 객체에 데이터를 입력 한다.
DELETE 데이터베이스 객체의 데이터를 삭제 한다.
UPDATE 데이터베이스 객체안의 데이터 수정 한다.

  • 3. DCL (Data Control Language) : 데이터베이스 사용자의 권한을 제어

SQL문 내 용
GRANT 데이터베이스 객체에 권한을 부여 한다.
REVOKE 이미 부여된 데이터베이스 객체 권한을 취소한다.

 


 

 

USER의 생성

 

USER생성문법

  • - user_name : USER 이름
  • - BY password : USER가 데이터베이스에 의해 인증되도록 지정하며, 데이터베이스 USER 로그인시 사용하는 비밀번호 이다.
  • - EXTERNALLY : USER가 운영 체제에 의해서 인증되도록 지정한다.
  • - DEFAULT TABLESPACE는 USER 스키마를 위한 기본 테이블스페이스를 지정 한다.
  • - TEMPORARY TABLESPACE는 USER의 임시 테이블스페이스를 지정한다.
  • - QUOTA절을 사용하여 USER가 사용할 테이블스페이스의 영역을 할당한다.
  • - PASSWORD EXPIRE : USER가 SQL*PLUS를 사용하여 데이터베이스에 로그인할 때 암호를 재설정 하도록 한다.(USER가 데이터베이스에 의해 인증될 경우에만 적합한 옵션이다.)
  • - ACCOUNT LOCK/UNLOCK : USER 계정을 명시적으로 잠그거나 풀 때 사용할 수 있다.(UNLOCK이 기본값이다.)
  • - PROFILE : 자원 사용을 제어하고 USER에게 사용되는 암호 제어 처리 방식을 지정하는데 사용된다.
  • 여기선 간단한 유저생성에 대해서만 알아보고 자세한 유저관리와 PROFILE 관리는 어드민에서 설명 하겠다.

 

 


 

 

USER의 변경 및 삭제

 

ALTER USER문으로 변경 가능한 옵션

  • - 비밀번호
  • - 운영체제 인증
  • - 디폴트 테이블 스페이스
  • - 임시 테이블 스페이스
  • - 테이블 스페이스 분배 할당
  • - 프로파일 및 디폴트 역할

 USER 수정 문법

USER생성문법

 


 

시스템 권한(System Privileges)

시스템권한(System Privileges)이란?

  • - 시스템권한은 사용자가 데이터베이스에서 특정 작업을 수행 할 수 있도록 한다
  • - 권한의 ANY 키워드는 사용자가 모든 스키마에서 권한을 가짐을 의미 한다.
  • - GRANT 명령은 사용자 또는 ROLE에 대해서 권한을 부여 할 수 있다.
  • - REVOKE 명령은 권한을 회수 한다.

대표적인 시스템권한

  • - CREATE SESSION : 데이터 베이스를 연결할 수 있는 권한
  • - CREATE ROLE : 오라클 데이터베이스 역할을 생성할 수 있는 권한
  • - CREATE VIEW : 뷰의 생성 권한
  • - ALTER USER : 생성한 사용자의 정의를 변경할 수 있는 권한
  • - DROP USER : 생성한 사용자를 삭제시키는 권한

 

시스템권한 부여 문법

시스템권한 부여 문법

  • - system_privilege : 부여할 시스템권한의 이름
  • - role : 부여할 데이터베이스 역할의 이름
  • - user, role : 부여할 사용자 이름과 다른 데이터 베이스 역할 이름
  • - PUBLIC : 시스템권한, 또는 데이터베이스 역할을 모든 사용자에게 부여할 수 있다.
  • - WITH ADMIN OPTION : 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여할 수 있게된다.

시스템권한의 회수

시스템권한의 회수문법

 


 

롤(Role)

롤(ROLE) 이란?

  • - ROLE을 이용하면 권한 부여와 회수를 쉽게 할 수 있다.
  • - ROLE은 CREATE ROLE권한을 가진 USER에 의해서 생성 된다.
  • - 한 사용자가 여러개의 ROLL을 ACCESS할 수 있고, 여러 사용자에게 같은 ROLE을 부여할 수 있다.
  • - 시스템 권한을 부여하고, 취소할 때와 동일한 명령을 사용하여 사용자에게 부여하고, 취소 한다.
  • - 사용자는 ROLE에 ROLE을 부여할 수 있다.
  • - 오라클 데이터베이스를 설치하면 기본적으로 CONNECT, RESOURCE, DBA ROLE이 제공 된다.


ROLE을 사용하지 않고 권한부여 ROLE을 사용하여 권한부여
롤사용하지않고권한부여 롤사용하여권한부여

ROLE 생성 문법

ROLE 생성 문법

 

ROLE관련 데이터 사전

데이터 사전 설 명
ROLE_SYS_PRIVS ROLE에 부여된 시스템 권한
ROLE_TAB_PRIVS ROLE에 부여된 테이블 권한
USER_ROLE_PRIVS 현재 사용자가 ACCESS할 수 있는 ROLE
USER_TAB_PRIVS_MADE 현재 사용자의 객체에 부여한 객체 권한
USER_TAB_PRIVS_RECD 현재 사용자의 객체에 부여된 객체 권한
USER_COL_PRIVS_MADE 현재 사용자 객체의 특정 컬럼에 부여한 객체 권한
USER_COL_PRIVS_RECD 현재 사용자 객체의 특정 컬럼에 부여된 객체 권한

 

[출처] 오라클클럽 / 오라클강좌 / SQL강좌

다른 카테고리의 글 목록

Dev. 640시간 뭉개기/강의내용정리 카테고리의 포스트를 톺아봅니다