오라클 데이터베이스

sim·2023년 7월 19일

새싹 백엔드 과정

목록 보기
4/24

🅾오라클 설치시 기본적으로 생성되는 유저들

유저명비밀번호
SYSCHANGE_ON_INSTALL
SYSTEMCHANGE_ON_INSTALL
HRHR
  • SYS : 데이터베이스의 모든 기본 테이블과 뷰는 SYS스키마에 저장됨. (data dictionary의 무결성 유지관리를 위해 처리)
  • SYSTEM : 관리 정보를 화면으로 보여주는 추가 테이블과 뷰, 오라클 도구가 사용하는 내부테이블과 뷰를 만들 수 있음. (모든 시스템 권한 가짐)
    <SYS, SYSTEM 유저는 데이터베이스 관리를 위해서만 사용)
  • HR : 일반 사용자로 오라클의 기본적인 SQL문을 테스트하기 위한 테이블과 데이터들이 있음.

🅾권한(Privileges)과 롤(Role)

  • 권한 : 특정 타입의 SQL문을 실행하거나 데이터베이스나 데이터 베이스 객체에 접근할 수 있는 권리

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

  • 시스템 권한 부여 문법

    GRANT [system_privilege/role] TO [user/role/PUBLIC][WITH ADMIN OPTION]

2. 롤 Role
: 사용자에게 허가할 수 있는 권한들의 집합.
- 권한 부여와 회수를 쉽게 할 수 있음.
- create role 권한을 가진 유저에 의해 생성됨
- 한 사용자가 여러개의 role을 access할 수 있고, 여러 사용자에게 같은 롤 부여가능
- 시스템 권한을 부여하고 취소할 때오 같은 명령을 사용하여 사용자에게 부여하고 취소함
- 사용자는 롤에 롤을 부여할 수 있음.

  • 기본 생성 롤
    - CONNECT : 오라클 접속할 수 있는 세션 생성 및 테이블을 생성하거나 조회할 수 있는 가장 일반적인 권한들.

    SELECT grantee, privilege
    FROM DBA_SYS_PRIVS
    WHERE grantee = 'CONNECT';

    GRANTEE PRIVILEGE
    CONNECT ALTER SESSION
    CONNECT CREATE CLUSTER
    CONNECT CREATE DATABASE LINK
    CONNECT CREATE SEQUENCE
    CONNECT CREATE SESSION

    - DBA Role : 모든 시스템 권한이 부여된 Role (DBA Role은 데이터베이스 관리자에게만 부여해야 함)
    - RESOURCE : store procedure나 Trigger 와 같은 PL/SQL을 사용할 수 있는 권한들로 이루어져 있음.

    SELECT grantee, privilege
    FROM DBA_SYS_PRIVS
    WHERE grantee = 'RESOURCE';

데이터사전 (Data Dictionary)

: 읽기전용 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공
(오라클의 사용자 이름, 오라클 권한과 롤, 데이터베이스 스키마 객체이름과 정의들, 무결성제약 조건에 관한 정보, 오라클 데이터베이스의 함수와 프로시저 및 트리거에 대한 정보, 기타 일반적인 데이터베이스 정보 등)

  • 오라클 사용자 SYS는 데이터사전의 모든 기본 테이블과 뷰를 소유
  • DDL 명령이 실행될 때마다 데이터사전을 access함
  • 모든 오라클 사용자는 db정보에 대한 읽기 전용 참조로 데이터사전을 사용가능.
profile
sim

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

좋은 글 감사합니다!

답글 달기