DATABASE

[오라클] 사용자 계정 생성 및 설정, 테이블 스페이스(TABLESPACE)

온풀 2022. 3. 10. 23:41
20220217_01_sys.sql / 오라클 3일 차

1. 사용자 계정 상태 조회, 잠금 상태 설정

--○ 현재 오라클 서버에 존재하는 사용자 계정 상태 조회
SELECT USERNAME, ACCOUNT_STATUS
FROM DBA_USERS;

SELECT *
FROM DBA_USERS;

--> 『DBA_』로 시작하는 Oracle Data Dictionary View 는
--  오로지 관리자 권한으로 접속했을 경우에만 조회가 가능하다.
--  아직 데이터 딕셔너리 개념을 잡지 못해도 상관없다.

--○ 『HR』 사용자 계정을 잠금 상태로 설정
ALTER USER HR ACCOUNT LOCK;
--==>> User HR이(가) 변경되었습니다.

--○ 사용자 계정 상태 조회
SELECT USERNAME, ACCOUNT_STATUS
FROM DBA_USERS;
--==>> HR    LOCKED

--○ 『HR』 사용자 계정을 잠금 해제 설정
ALTER USER HR ACCOUNT UNLOCK;
--==>> User HR이(가) 변경되었습니다.

--○ 사용자 계정 상태 조회
SELECT USERNAME, ACCOUNT_STATUS
FROM DBA_USERS;
--==>> HR    OPEN


2. TABLESPACE 생성 및 조회

※ TABLESPACE 란?

  • 세그먼트(테이블, 인덱스, ...)를 담아두는(저장해두는)
  • 오라클의 논리적인 저장 구조를 의미한다.

※ 테이블스페이스 생성 구문을 실행하기 전에 해당 경로의 물리적인 디렉터리 생성이 필요하다. (C:\TESTDATA)

CREATE TABLESPACE TBS_EDUA -- 생성하겠다. 테이블스페이스를... TBS_EDUA 라는 이름으로
DATAFILE 'C:\TESTDATA\TBS_DEUA01.DBF' -- 물리적 데이터 파일 경로 및 이름 지정
SIZE 4M -- 사이즈(용량)
EXTENT MANAGEMENT LOCAL -- 오라클 서버가 세그먼트를 알아서 관리할 수 있도록 하겠다.
SEGMENT SPACE MANAGEMENT AUTO; -- 세그먼트 공간 관리도 오라클 서버가 자동으로 관리
--==>> TABLESPACE TBS_EDUA이(가) 생성되었습니다

--○ 생성된 테이블스페이스 조회
SELECT *
FROM DBA_TABLESPACES;

--○ 파일 용량 정보 조회(물리적인 파일 이름 조회)
SELECT *
FROM DBA_DATA_FILES;


3. 사용자 계정 생성, 권한 조회, 권한 부여, 테이블 스페이스 할당량 지정

--○ 오라클 사용자 계정 생성
CREATE USER cmj IDENTIFIED BY java006$
DEFAULT TABLESPACE TBS_EDUA;
--==>> User CMJ이(가) 생성되었습니다.
--> cmj 라는 사용자 계정을 생성하겠다. (만들겠다.)
--  이 사용자 계정의 패스워드는 java006$로 하겠다.
--  이 계정을 통해 생성하는 오라클 세그먼트는
--  기본적으로 TBS_EDUA 라는 테이블스페이스에 생성할 수 있도록 설정하겠다.
--  어드민 파트지만 파이널 때 필요하니 잘 알아두기!!!

--※ 생성된 오라클 사용자 계정(각자 본인 이름 이니셜 계정)을 통해 접속 시도
--   → 접속 불가(실패)
--      『create session』 권한이 없기 때문에 접속 불가.

--○ 생성된 오라클 사용자 계정(각자 본인 이름 이니셜 계정)에 
--   오라클 서버 접속이 가능하도록 CREATE SESSION 권한 부여

-- 권한 부여 GRANT 권한 박탈 REVOKE
GRANT CREATE SESSION to CMJ;
--==>> Grant을(를) 성공했습니다.

--○ 각자 생성한 오라클 사용자 계정의 시스템 관련 권한 조회
SELECT *
FROM DBA_SYS_PRIVS;
--==>>
/*
        :
CMJ    CREATE SESSION    NO
*/

--○ 각자 생성한 오라클 사용자 계정에
--   테이블 생성이 가능하도록 CREATE TABLE 권한 부여

-- 오라클은 권한이 기본적으로는 없고, 하나씩 부여하며 늘려가는 것
GRANT CREATE TABLE TO CMJ;
--==>> Grant을(를) 성공했습니다.

--○ 각자 생성한 오라클 사용자 계정에
--   테이블 스페이스(TBS_EDUA)에서 사용할 수 있는 공간(할당량) 지정.
ALTER USER CMJ 
QUOTA UNLIMITED ON TBS_EDUA;
--==>> User CMJ이(가) 변경되었습니다.

--------------------------------------------------------------------------------

CREATE USER scott
IDENTIFIED BY tiger; -- 패스워드
--==>> User SCOTT이(가) 생성되었습니다.

GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO SCOTT;
--==>> Grant을(를) 성공했습니다.

ALTER USER SCOTT DEFAULT TABLESPACE USERS;
--==>> User SCOTT이(가) 변경되었습니다.

ALTER USER SCOTT TEMPORARY TABLESPACE TEMP; --임시 테이블스페이스는 템프로
--==>> User SCOTT이(가) 변경되었습니다.