본문 바로가기

나 어제 배웠다/Database

오라클 테이블스페이스 대하여..Part 1

오라클 테이블스페이스 만들기
① TABLESPACE의 종류 (SYSTEM, UNDO, TEMPORARY ,DATA, SYSAUX 등 5가지)
② 데이터파일의 사이즈 변경
  ALTER DATABASE
  DATAFILE 'C:\ORACLE\DATA\NEOSS_FM01.DBF' RESIZE 300M
③ 데이터파일 추가  
  ALTER TABLESPACE TS_DATA
  ADD DATAFILE 'C:\ORACLE\DATA\NEOSS_FM02.DBF' SIZE 200M ;
④ 기본테이블스페이스 지정 (10g)
  ALTER DATABASE DEFAULT TABLESPACE TS_DATA; -- 데이터베이스에 대한 기본 테이블스페이스 지정
  ALTER USER SCOTT DEFAULT TABLESPACE TS_DATA; -- USER별 기본 테이블스페이스 지정
  주의) 기본 테이블 스페이스를 변경할 경우 기존에 명시적으로 지정된(개별 유저에 대하여)
      기본 테이블 스페이스도 변한다...
⑤ SYSAUX라는 테이블 스페이스 도입 (10G)
⑥ 테이블 스페이스 이름 변경
  ALTER TABLESPACE RENAME TO ;
⑦ 테이블스페이스별로 블록크기를 다르게 지정 가능 (9i 이상)
⑧ 테이블스페이스 옮기기
   ALTER TABLE TB_EMP MOVE TABLESPACE TS_DATA2;
⑨ 테이블스페이스에 대한 권한 부여
   ALTER USER SCOTT QUOTA UNLIMITED on TS_DATA;

------------------------------------------------------------------
▣ DATA 테이블 스페이스 만들기
------------------------------------------------------------------
CREATE TABLESPACE TS_DATA
DATAFILE 'C:\ORACLE\DATA\NEOSS_FM01.DBF'
SIZE 100M
AUTOEXTEND on
NEXT 10M
MAXSIZE 1000M
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 1M
-- STORAGE 절을 구성할 필요 없다.(INITIAL, NEXT, PCTINCREASE, MINEXTENTS,
-- MAXEXTENTS 를 자동관리)
-- 최초 생성시에는 INITIAL, NEXT, MINEXTENTS 에 대하여 효력이 있다.
-- Autoallocate방식과 Uniform 방식중 EXTENT MANAGEMENT 가 명시되지 않으면 Autoallocate로 설정
SEGMENT SPACE MANAGEMENT AUTO;
-- PCTUSED, FREE LIST, FREE LIST GROUP 설정을 자동으로 한다.
/


------------------------------------------------------------------
▣ TEMP 테이블 스페이스 만들기
   ① locally managed tablespace uniform size 만 생성가능
     autoallocate ,extent management dictionary option 을 사용하면 ora-25319 error 가 발생
   ② rename 이 불가능
------------------------------------------------------------------
CREATE TEMPORARY TABLESPACE TS_TEMP
TEMPFILE 'C:\ORACLE\TEMPDATA\NEOSS_TEMP01.DBF'  
-->DATAFILE이 아니라 TEMPFILE 이다..
SIZE 10M
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 512K
/

------------------------------------------------------------------
▣ UNDO 테이블 스페이스 만들기
  ① UNDO_MANAGEMENT 와 UNDO_TABLESPACE, UNDO_RETENTION PARAMETER를 제공
  ② 지역적으로 관리되는 익스텐트만 사용가능
  ③ 시스템에 의해 관리되는 익스텐트 할당만 사용가능하다.
   (UNIFORMSIZE를 할당 할 수 없고 AUTOALLOCATE만 가능)
------------------------------------------------------------------
CREATE UNDO TABLESPACE TS_UNDO
DATAFILE 'C:\ORACLE\TEMPDATA\NEOSS_UNDO01.DBF'
SIZE 1M
AUTOEXTEND on
NEXT 1M
MAXSIZE 1024M
/