사용자 계정
*데이터베이스 관리자
사용자가 데이터베이스의 객체에 대한 특정 권한을 가질수 잇도록 한다.
다수의 사용자가 데이터베이스에 저장된 정보를 공유하면서도 정보에 대한 보안이 이루어지도록 한다.
데이터베이스에 접근하기 위해서는 사용자가 이름과 암호를 입력해서 로그인이 이루어 지도록 한다.
사용자 마다 서로 다른 권한을 부여함으로써 보안을 설정한다.
* 권한
사용자가 특정한 테이블에 접근할수 있도록 하거나 해당 테이블에
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 이 뜸.
'국비 과정 > Oracle DataBase' 카테고리의 다른 글
| 국비 - 0901 ( DELETE, MERGE, TRANSACTION ) (0) | 2022.09.01 |
|---|---|
| 국비 - 0826 ( 그룹함수 , GROUP BY 절 ,HAVING 절 , JOIN ) (0) | 2022.08.26 |
| DB - 0826 예제 (1) | 2022.08.26 |
| 국비 - 0824 ( 숫자 함수 , 문자 함수 , 날짜 함수) (0) | 2022.08.24 |
| DB - 0824 예제 (0) | 2022.08.24 |