------ ====== ***** 오라클 계정 생성하기 ***** ====== ------
-- 오라클 계정 생성을 위해서 sys 또는 system 으로 연결하여 작업을 해야 한다.
* Oracle 11g 까지는 오라클 계정생성시 계정명앞에 c## 을 붙이는 것이 없었으나
Oracle 12 부터는 계정명앞에 c## 붙여야만 오라클 계정생성이 되어지도록 변경되었다.
[SYS로 시작] --
show user;
-- USER이(가) "SYS"입니다.
-- c##orauser1 이라는 오라클 일반사용자 계정을 생성한다. 암호는 aclass 이다.
create user c##orauser1 identified by aclass default tablespace users;
-- User C##ORAUSER1이(가) 생성되었습니다.
grant create session to c##orauser1;
-- Grant을(를) 성공했습니다.
-- c##orauser1 이라는 오라클 일반사용자 계정을 삭제하기
select *
from dba_users;
drop user c##orauser1;
-- User C##ORAUSER1이(가) 삭제되었습니다.
-- *** Oracle 18C 에서 오라클 계정생성시 계정명앞에 c## 붙이는 것 없애기 *** --
alter session set "_ORACLE_SCRIPT"=true;
-- Session이(가) 변경되었습니다.
-- orauser1 이라는 오라클 일반사용자 계정을 생성한다. 암호는 aclass 이다.
create user orauser1 identified by aclass default tablespace users;
-- User ORAUSER1이(가) 생성되었습니다.
-------------------------------------------------------------------------------------
-- DCL(Data Control Language) : 데이터 제어어 ==> grant, revoke
-- : 자동 commit( Auto commit) 이므로 rollback 이 불가하다.
-------------------------------------------------------------------------------------
-- grant는 권한을 부여하는 명령어이고, revoke는 부여했던 권한을 뺏는 명령어이다.
grant create session to orauser1;
-- Grant을(를) 성공했습니다.
-- orauser1 이라는 오라클 사용자에게 오라클 서버에 접속이 가능하도록 하는 권한을 부여해주는 것이다.
revoke create session from orauser1;
-- Revoke을(를) 성공했습니다.
-- orauser1 이라는 오라클 사용자에게 부여했던 오라클서버에 접속할 수 있는 권한을 취소하는 것이다.
grant create table to orauser1;
-- Grant을(를) 성공했습니다.
drop user orauser1 cascade;
-- User ORAUSER1이(가) 삭제되었습니다.
데이터베이스에서 객체라 함은 ==> 테이블, 인덱스, 시퀀스, 프로시저, 함수 등을 말한다.
orauser1 이라는 사용자 계정을 삭제하기 위한 전제조건은 orauser1 로 생성된 객체가 존재하지 않을 때이다.
그런데 모든 객체를 제거하기에는 너무나 불편하다. 그래서 cascade 라는 옵션을 주면
orauser1 로 생성된 모든 객체를 먼저 제거하고나서 orauser1 이라는 사용자계정을 삭제한다.
-- orauser1 이라는 오라클 일반사용자 계정을 생성한다. 암호는 aclass 이다.
create user orauser1 identified by aclass default tablespace users;
-- User ORAUSER1이(가) 생성되었습니다.
-- 위에서 생성된 orauser1 이라는 오라클 일반사용자 계정에게 오라클서버에 접속이 되고, 테이블 등을 생성할 수 있는 여러가지 권한을 부여하기
grant connect, resource, create view, unlimited tablespace to orauser1;
-- Grant을(를) 성공했습니다.
-- 오라클 계정 생성을 위해서 sys 또는 system 으로 연결하여 작업을 해야 한다. [SYS 끝] --
---- ===== ***** 다시 HR 로 복귀 ***** ===== -----
show user;
-- USER이(가) "HR"입니다.
select *
from HR.employees;
select *
from employees;
-- 현재 오라클서버에 접속된 사용자가 HR 이므로 employees를 쓰면 자동적으로 HR.employees 로 인식한다.
---- ===== ***** 다시 SYS 로 복귀 ***** ===== -----
show user;
-- USER이(가) "SYS"입니다.
select *
from employees;
-- SYS 인 상태로는 자동적으로 SYS.employees 로 인식함
select *
from HR.employees;
-- 이렇게 하면 HR의 employees 로 인식함
Grant 하기
-- orauser1 에게 HR 이 자신의 소유인 employees 테이블에 대해 select 할 수 있도록 권한을 부여한다.
grant select on employees to orauser1;
-- Grant을(를) 성공했습니다.
-- orauser1 에게 HR 이 자신의 소유인 employees 테이블에 대해 update 할 수 있도록 권한을 부여한다.
grant update on employees to orauser1;
-- Grant을(를) 성공했습니다.
-- orauser1 에게 HR 이 자신의 소유인 employees 테이블에 대해 delete 할 수 있도록 권한을 부여한다.
grant delete on employees to orauser1;
-- Grant을(를) 성공했습니다.
Revoke 하기
-- orauser1 에게 HR 이 자신의 소유인 employees 테이블에 대해 delete 할 수 있도록 부여해준 권한을 회수한다.
revoke delete on employees from orauser1;
-- Revoke을(를) 성공했습니다.
-- orauser1 에게 HR 이 자신의 소유인 employees 테이블에 대해 update 할 수 있도록 부여해준 권한을 회수한다.
revoke update on employees from orauser1;
-- Revoke을(를) 성공했습니다.
-- orauser1 에게 HR 이 자신의 소유인 employees 테이블에 대해 select 할 수 있도록 부여해준 권한을 회수한다.
revoke select on employees from orauser1;
-- Revoke을(를) 성공했습니다.
한꺼번에 권한을 부여하고 한꺼번에 회수하기
-- orauser1 에게 HR 이 자신의 소유인 employees 테이블에 대해 select, update, delete 할 수 있도록 권한을 부여한다.
grant select, update, delete on employees to orauser1;
-- Grant을(를) 성공했습니다.
-- orauser1 에게 HR 이 자신의 소유인 employees 테이블에 대해 select, update, delete 할 수 있도록 부여해준 권한을 회수한다.
revoke select, update, delete on employees from orauser1;
-- Revoke을(를) 성공했습니다.
'SQL' 카테고리의 다른 글
시노님(Synonym, 동의어) (0) | 2022.07.12 |
---|---|
***** 시퀀스(sequence) 짱중요 ***** (0) | 2022.07.12 |
DDL(Data Definition Language, 데이터 정의어) ==> create, drop, alter, truncate (0) | 2022.07.12 |
트랜잭션 제어어(TCL == Transaction Control Language) - commit, rollback (0) | 2022.07.12 |
데이터 질의어(DQL == Data Query Language) - select (0) | 2022.07.12 |