본문 바로가기
국비 과정/Oracle DataBase

국비 - 0905 ( 사용자 계정 만들기 )

by 코딩호야 2022. 9. 5.

사용자 계정

 

*데이터베이스 관리자

사용자가 데이터베이스의 객체에 대한 특정 권한을 가질수 잇도록 한다.

다수의 사용자가 데이터베이스에 저장된 정보를 공유하면서도 정보에 대한 보안이 이루어지도록 한다.

데이터베이스에 접근하기 위해서는 사용자가 이름과 암호를 입력해서 로그인이 이루어 지도록 한다.

사용자 마다 서로 다른 권한을 부여함으로써 보안을 설정한다.


* 권한 

사용자가 특정한 테이블에 접근할수 있도록 하거나 해당 테이블에 
select , insert , update , delete 를 사용할수 있도록 제한을 두는 것이다.

데이터베이스 권한은 시스템 권한과 객체 권한으로 나뉜다.

System Privileges : 사용자의 생성과 제거 , DB  접근 및 각종객체를 생성할수있는 권한 주로 DBA 에 의해 부여

Object Privileges : 객체를 조작할수 있는 권한



* 데이터베이스 관리자가 가지고 있는 시스템 권한

CREATE USER                 새롭게 사용자를 생성하는권한

DROP USER                     사용자를 삭제하는 권한

DROP ANY TABLE            임의의 테이블을 삭제할수 있는 권한

QUERY REWRITE             함수 기반 인덱스를 생성하는 권한

BACK UP ANY TABLE      임의의 테이블을 백업 할수 있는 권한



* 데이터 베이스를 관리하는 권한으로 시스템 관리자가 사용자에게 부여하는 권한

CREATE SESSION                          데이터베이스에 접속할수 있는 권한

CREATE TABLE                               사용자 스키마에서 테이블을 생성할수 있는 권한

CREATE VIEW                                 사용자 스키마에서 뷰를 생성할수 있는 권한

CREATE SEQUENCE                     사용자 스키마에서 시퀀스를 생성할수 있는 권한

CREATE PROCEDURE                  사용자 스키마에서 함수를 생성할수 있는 권한


* Schema(스키마) : 데이터베이스 구조와 제약조건에 관한 전반적인 명세를 기술한것
객체의 특성을 나타내는 속성과 속성들의 집합으로 이루어진 객체
객체 사이에 존재하는 관계에 대한 정의와 이를 유지하기 위해 
해야할 제약 조건들을 기술한 것


*****************************  사용자 계정 생성  ************************ 중요!~!

 부서나 사원의 직무에 따라 사용하는 테이블을 고려해서 오라클 데이터 베이스 관리자는 사용자 계정을 발급한다.

사용자 계정 생성 형식

 

 CREATE USER   사용자명
 IDENTIFIED BY   비밀번호 ; 

 Ex]
 CREATE USER    SECONDORA 
 IDENTIFIED BY     KOREA123;

 
 
 * 권한부여 

 GRANT      권한
 TO              사용자

GRANT CREATE SESSION     => 새로 생성된 사용자명( FIRSTORA ) 에 데이터 베이스 접속권한 부여

TO FIRSTORA  (사용자명)          // 반드시 SYSTEM 에서 사용권한 부여 한다.



 
 * 데이터 베이스 ROLE 권한 제어

 롤은 사용자에게 보다 간편하게 권한을 부여 할수 있도록
 여러개의 권한을 묶어놓은 권한의 집합이며 사용자 또는 다른 롤에 부여합니다.

 사용자를 생성했으면 그 사용자 에게 각종 권한을 부여해야 생성된 사용자가 데이터 베이스를 사용할수 있습니다.

 
 
 . CONNECT : 사용자가 데이터 베이스에 접속 할수 있도록 가장 기본적인 시스템 권한 8가지를 묶어놈
                                      ALTER SESSION,CREATE CLUSTER,CREATE DATABASE LINK,
                                        CREATE SUNONYM , CREATE TABLE , CREATE VIEW

 . RESOURCE : 사용자가 객체를 생성할수 있도록 
                               시스템 권한을 묶어놈
                              CREATE CLUSTER , CREATE PROCEDURE,
                               CREATE SEQUENCE , CREATE TABLE , CREATE TRIGGER

 . DBA : 사용자들이 소유한 데이터 베이스 객체들을 관리하고 사용자들을 작성하고
  변경하고 제거 할수 있는 모든권한을 가집니다. 모든 시스템 권한



 grant   CONNECT , RESOURCE  to firstora ;        // connect 와 resource 권한을 firstora 계정에 부여하겠다.



 Q ] 사용자명 : koreaora
     비밀번호 : seoul1234
     
     이 사용자에게 connect,resource 권한을 부여하고
     이 사용자 안에 두개의 테이블을 생성하시요

 

1. CREATE USER    koreaora
 IDENTIFIED BY     seoul1234;

 

2.  grant   CONNECT , RESOURCE  to koreaora ;     // 두가지 권한 부여 system 계정에서 부여가능

3.   emp_test 테이블 생성

      create table emp_test(
empno number(5) primary key,
ename varchar2(20) not null,
sal number(7,3),
hiredate date default sysdate);


 4.    dept_test  테이블 생성

create table dept_test(
deptno number(5) primary key,
dname varchar2(20) not null,
loc varchar2(40));

 

5. insert into 로 각각의 테이블에 데이터 넣기


     
CONNECT 로 사용자 이동  !!                               ex] conn system  => system  계정으로 이동
SHOW USER 로 현재 사용자 확인가능            ex] show user  => system 계정이라면 system 이 뜸.