본문 바로가기

DB/Oracle

Oracle - 테이블스페이스 생성/변경/추가 및 사용자 생성/권한 부여

728x90
DBA 권한으로 접속
sqlplus / as sysdba
 
테이블스페이스 정보 조회
SELECT * FROM DBA_DATA_FILES;
 
DBA_TABLESPACES 테이블스페이스 목록 조회
SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM DBA_TABLESPACES;
 
DBA_DATA_FILES 테이블스페이스 파일 목록 조회
SELECT FILE_NAME, BYTES, STATUS FROM DBA_DATA_FILES;
 
DBA_FREE_SPACE 테이블스페이스 잔여 공간 조회
SELECT TABLESPACE_NAME, BYTES, BLOCKS FROM DBA_FREE_SPACE;
 
테이블스페이스 생성
create tablespace info_data
datafile '/app/ora11g/oradata/DB11/infodata.dbf'    // 데이터 파일 경로는 변경 될 수 있음
size 200m
default storage(
           initial               80k
           next                80k
           minextents        1
           maxextents        121
           pctincrease        80
           )online;
 
테이블스페이스 online/offline
ALTER TABLESPACE info_data offline;
ALTER TABLESPACE info_data online;
 
생성된 테이블스페이스의 공간 늘여주기 (data file 추가 ** 가장 많이 사용 ** )
ALTER TABLESPACE info_data
ADD DATAFILE '/app/ora11g/oradata/DB11/dbf '
SIZE 100m;
 
생성된 테이블스페이스 크기 변경하기
ALTER DATABASE DATAFILE '/app/ora11g/oradata/DB11/infodata.dbf '
RESIZE 200M;
 
기존 테이블스페이스에 크기 자동 확장하도록 설정하기
ALTER DATABASE DATAFILE '/app/ora11g/oradata/DB11/infodata.dbf '
AUTOEXTEND ON NEXT 10m
MAXSIZE 100m;
 
테이블스페이스 삭제
DROP TABLESPACE info_data
INCLUDING CONTENTS
CASCADE CONSTRAINTS;
 
테이블스페이스의 물리적 파일까지 삭제하기
DROP TABLESPACE info_data INCLUDING CONTENTS AND DATAFILES;
 
데이터베이스 사용자 아이디 생성 (아이디 : samso / 비번 : samso)
사용자 아이디 생성 방법
CREATE USER "USERNAME" IDENTIFIED BY "PASSWORD"
ex) CREATE USER samso IDENTIFIED BY samso;
 
생성한 유저에 권한주고 연결하기
권한 부여(GRANT) / 회수(REVOKE) 방법
GRANT [system_privileges | role] TO 유저명     or     REVOKE [system_privileges | role] FROM 유저명
ex) GRANT RESOURCE, CONNECT TO samso;
ex) REVOKE RESOURCE FROM samso;
 
※ 시스템 권한 (System Privileges)

GRANT CREATE SESSION TO 유저명         // 데이터베이스에 접근할 수 있는 권한
GRANT CREATE PROCEDURE TO 유저명   // 프로시저 생성 권한
GRANT CREATE SEQUENCE TO 유저명    // 시퀀스 생성 권한
GRANT CREATE SYNONYM TO 유저명      // 시노님 생성 권한
GRANT CREATE TABLE TO 유저명             // 테이블 생성 권한
GRANT DROP ANY TABLE TO 유저명         // 테이블 제거 권한
GRANT CREATE TRIGGER TO 유저명        // 트리거 생성 권한
GRANT CREATE USER TO 유저명              // 유저 생성 권한
GRANT CREATE VIEW TO 유저명               // 뷰 생성 권한
GRANT CREATE ROLE TO 유저명               // 롤 생성 권한

 

※ Role (권한들의 집합소)

GRANT CONNECT TO 유저명          // 접속 세션, 테이블 생성, 조회 권한

GRANT RESOURCE TO 유저명        // SQL 사용 권한

GRANT DBA TO 유저명                     // 최고 관리자 권한

GRANT EXP_FULL_DATABASE TO 유저명     // 데이터베이스 exp 권한

GRANT IMP_FULL_DATABASE TO 유저명     // 데이터베이스 imp 권한

 

생성한 유저의 권한확인
SELECT GRANTEE ,  GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE ='samso';
 

 

 
728x90
반응형

'DB > Oracle' 카테고리의 다른 글

Oracle - 사용자 권한 확인 하기  (0) 2023.05.31