사용자

yuju·2022년 10월 30일
0

SQL

목록 보기
10/11

🥨 사용자 (USER)

: 시스템(DBMS)을 사용할 수 있는 객체 - 계정(ACCOUNT) : 권한을 가진 사용자

  • 계정관리는 시스템 관리자(SYSDBA -SYS 계정)만 가능

➰ 계정생성

CREATE USER 계정명 IDENTIFIED BY 암호 

📌 -KIM 계정 생성 - ★ 관리자 세션에서 작업 ★

>오라클 12C버전 이상에서는 계정 관리하기 전에 세션에 대한 환경설정 변경
 	ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE;
    
> 계정 생성
	CREATE USER KIM IDENTIFIED BY 1234;

> 계정확인 - DBA_USERS : 사용자 정보를 제공하는 딕셔너리
	SELECT USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE,CREATED FROM DBA_USERS WHERE USERNAME='KIM';

> 계정의 비밀번호 변경 - 계정의 비밀번호는 기본적으로 180일 유효기간으로 설정
	ALTER USER 계정명 IDENTIFIED BY 암호

> 계정의 상태 변경 : OPEN & LOCK
	OPEN : 계정 활성화, 접속 가능
	LOCK : 계정 비활성화, 접속 불가능

> 오라클 접속시 계정의 비밀번호를 5번 틀리면 계정상태가 자동으로 비활성화 (LOCK 상태)로 변경되어 접속 불가능
	ALTER USER 계정명 ACCOUNT {LOCK | UNLOCK} 

> 계정의 기본 테이블스페이스 변경
테이블스페이스(TABLESPACE) : 데이타베이스 객체(테이블,, 시퀀스, 인덱스)가 저장되는 영역
 -> 오라클에는 기본적으로 SYSTEM 테이블스페이스 && USERS 테이블스페이스 제공
	ALTER USER 계정명 DEFAULT TABLESPACE 테이블스페이스명

> 계정의 테이블스페이스에 대한 물리적 저장크기 변경 - 용량 제한
	ALTER USER 계정명 QUOTA 제한크기 ON 테이블스페이스명 

> 제약용량 확인: DBA_TS_QUOTAS : 테이블스페이스의 물리적 저장공간에 제한 관련 정보를 제공하는 딕셔너리
	SELECT TABLESPACE_NAME, USERNAME, MAX_BYTES FROM DBA_TS_QUOTAS;

> 계정삭제
	DROP USER 계정명; 

🥨 DCL (DATA CONTROL LANGAUGE) : 데이타 제어어

  • 계정에게 권한을 부여하거나 회수하는 명령
  • 오라클 권한 (PRIVILIEGE) : 시스템 권한(관리자)과 객체 권한(일반 사용자)으로 구분

➰ 시스템 권한을 계정에게 부여

GRANT {PRIVILEGE | ROLL} , {PRIVILEGE | ROLL },... TO 계정명 [WITH ADMIN OPTION] [IDENTIFIED BY 암호]

➰ 롤 (ROLL)

: 시스템 권한을 그룹화하여 표현한 명칭

계정명 대신 PUBLIC 키워드를 사용하면 모든 계정에게 일괄적으로 시스템 권한 부여

  • WITH ADMIN OPTION : 부여 받은 시스템 권한을 다른 계정에게 부여하거나 회수하는 권한을 제공하는 옵션
  • 시스템 권한을 부여받을 계정이 없는 경우 자동으로 계정 생성
  • GRANT 명령으로 계정이 생성될 경우 반드시 IDENTIFIED BY 를 이용하여 암호 설정
> 로그인을 시도하지 않고 SQLPLUS 프로그램 실행 
	DOS> SQLPLUS /NOLOG
    
> 오라클 서버에서 접속하기 위해 계정과 비밀번호를 입력 (-로그인처리) 
	SQL> CONN KIM/1234 
    
>> ORA-01045 : 사용자는 CREATE SESSION 권한을 가지고 있지 않음 
따라서 
	>> GRANT CREATE SESSION TO KIM;

➰ 객체 권한 : 사용자 스키마의 객체 관련 명령 (DQL 및 DML) 사용데 대한 권한

GRANT {ALL | PRIVILEGE, PRIVILEGE,...} ON 객체명 TO 계정명 [WITH GRANT OPTION] 
  • 객체권한은 INSERT, UPDATE, DELETE, SELECT 등 키워드로 표현
    ✔️ ALL : 객체에 관련된 모든 명령 사용 권한 표현
    ✔️ WITH GRANT OPTION : 부여받은 객체 권한을 다른 계정에게 부여하거나 회수하는 기능을 제공하는 옵션

➰ 다른 계정에 부여한 객체 권한 확인

SELECT * FROM USER_TAB_PRIVS_MADE;

➰ 다른 계정에 부여받은 객체 권한 확인

SELECT * FROM USER_TAB_PRIVS_RECD;

➰ 객체 권환 회수

REVOKE {ALL | PRIVILEGE, PRIVILEGE,...} ON 객체명 FROM 계정명 [WITH GRANT OPTION] 

➰ 시스템 권환 회수

REVOKE {PRIVILEGE | ROLL} ,{PRIVILEGE | ROLL},...  TO {계정명 | PUBLIC} [WITH ADMIN OPTION]  

🥨 롤

: 관리자가 일반 계정의 시스템 권한을 효율적으로 부여하거나 회수하기 위해 사용하는 시스템 권한 그룹

📒 오라클에는 기본적으로 제공되는 롤 존재

✔️ 기본적인 시스템 권한 그룹 
CREATE SESSION, CREATE TABLE, ALTER SESSION, CREATE SYNONYM ...

✔️ RESOURCE : 객체 관련 시스템 권한 그룹 
	CREATE TABLE, CREATE SEQUENCE, CREATE TRIGGER ... 
✔️ DBA : 시스템 관리에 필요한 모든 시스템 권한 그룹 관리자 관련 롤

0개의 댓글