본문 바로가기

IT/oracle&mysql

ORACLE TABLE SPACE 및 GRANT 종류

SMALL

ORACLE TABLE SPACE

정의 

- 테이즐이 저장되는 공간으로 Oracle에서 TABLE SPACE로 칭한다. 

- 테이블 스페이스 생성에 정의된 용량만큼 공간이 확보되며, 데이터가 정의한 용량보다 적은경우 테이블 스페이스는 크기는 줄어들지 않는다. 

- 늘면 늘었지 줄지는 않는다. 

- 용량 초과시 자동증가가 가능하며 테이블 별로 관리할수 있다.


1. DBA_DATA_FILES 

SELECT * FROM DBA_DATA_FILES

->테이블 스페이스 정보를 조회한다.


2. 테이블 스페이스 생성

CREATE TABLESPACE SAMPLE_TABLE DATAFILE

'D:\app\User\product\11.2.0\dbhome_1\tablespace\SAMPLE_TABLE_TS'

SIZE 100M AUTOEXTEND ON NEXT 10M


3. 테이블 스페이스 생성 요약

CREATE TABLESPACE  SAMPLE_TABLE DATAFILE

-> SAMPLE_TABLE 이름으로 테이블 생성

'D:\app\User\product\11.2.0\dbhome_1\tablespace\SAMPLE_TABLE_TS'

-> 저장경로

SIZE 100M AUTOEXTEND ON NEXT 10M

-> 총 사이즈는 100MB 까지 저장 가능하며 100MB 초과시 자동으로 10MB 늘리게 처리


4. 계정 생성

-> CREATE USER SCOTT IDENTIFIED BY TIGER;


5. 접근 권한

-> GRANT CREATE SESSION TO SCOTT;


6. KRMGR계정에 생성된 TN_REPRTSCOTT 계정에서 SELECT하는 권한방법

KRMGR 계정

-> GRANT SELECT ON .TN_REPRT TO SCOTT

SCOTT 계정

-> SELECT * FROM KRMGR.TN_REPRT


7.  권한 회수 - TN_REPRT 테이블 

-> REVOKE SELECT ON KRMGR.TN_REPRT FROM SCOTT;


8. INSERT / UPDATE(특정항목 제외) 권한

-> GRANT INSERT ON KRMGR.TN_REPRT TO SCOTT

-> GRANT UPDATE(PIN) ON KRMGR.TN_REPRT TO SCOTT


GRANT 요약

create user                    

-> 새롭게 사용자를 생성하는 권한


drop user

-사용자를 삭제하는 권한


drop any table

-> 임의의 테이블을 삭제할 수 있는 권한


query rewrite

-> 재작성을 할 수 있는 권한


backup any table            

-> 임의의 테이블을 백업할 수 있는 권한


create session  

-> 데이터베이스에 접속할 수 있는 권한


create table                      

-> 사용자 스키마에서 테이블을 생성할 수 있는 권한


create view                      

-> 사용자 스키마에서 뷰를 생성할 수 있는 권한


create sequence               

-> 사용자 스키마에서 함수를 생성할 수 있는 권한


create procedure               

-> 사용자 스키마에서 함수를 생성할 수 있는 권한


ROLE 요약


CREATE SESSION 

-> 데이터베이스를연결할수있는권한


CREATE ROLE

-> 오라클데이터베이스역할을생성할수있는권한


CREATE VIEW

-> 뷰의생성권한


ALTER USER

-> 생성한사용자의정의를변경할수있는권한


DROP USER

-> 생성한사용자를삭제시키는권한


SYNONYM [Alias]

-> 다른계정 테이블 접근을 위해 계정명.테이블명이 아닌 Alias로 사용한 명칭을 사용하면 접근가능 


CREATE 

-> CREATE SYNONYM 소유계정.테이블명(or 프로시저명) FOR 부여계정.테이블명(or 프로시저명)


프로시저 EXECUTE

-> GRANT EXECUTE ON 소유계정.프로시저명 TO 부여계정


DROP

-> DROP SYNONYM 시노님명


SYNONYMS 존재여부 확인

-> SELECT * FROM USER_SYNONYMS WHERE TABLE_OWNER='KRMGR';


SYNONYMS  SCOTT계정에 KRMGR.TN_CODE_CL 생성

-> create SYNONYM SCOTT.TN_CODE_CL for KRMGR.TN_CODE_CL;


SCOTT계정에서 KRMGR 테이블 접근 허용

-> GRANT SELECT ON TN_CODE_CL TO SCOTT


SYNONYMS 삭제

-> DROP SYNONYM SCOTT.TN_CODE_CL;


스키마

-> 사용자가 소유하는 데이터베이스 객체 모음 (Table, View, Sequence, index, Function)



LIST

'IT > oracle&mysql' 카테고리의 다른 글