Oracle Admin 강좌 (Oracle9i)
테이블스페이스의 생성(Oracle8i) 15 7 73,264

by 김정식 테이블스페이스 CREATE TABLESPACE DATAFILE DEFAULT STORAGE TABLESPACE [2002.01.23]


Oracle 9i부터는 PCTFREE, PCTUSED를 직접 지정하는 방법은 권하지 않고, SEGMENT SPACE MANAGEMENT AUTO 절을 넣어서 자동으로 관리하는 방법을 권장합니다.

아래 강좌는 Oracle8i기준으로 작성 되었습니다.

테이블스페이스의 생성 문법

  - 옵션절을 생략할 경우 밑줄친 옵션이 디폴트 값입니다.

  - tablespace_name : 생성할 테이블 스페이스 명

  - DATAFILE : 새로 생성하는 테이블스페이스가 사용할 데이터 파일

  - filespec : 디렉토리 경로명을 포함한 파일명

  - size : 새로 생성되는 데이터 파일의 크기

  - ONLINE : 새로 생성되는 테이블 스페이스를 활성화 시키며, 생성 후 바로 사용할 수 있게 함

  - OFFLINE : 테이블 스페이스를 비활성화 시키며, 생성 후 바로 사용할 수 없음

  - TEMPORARY : TEMPORARY 옵션을 사용하면 생성하는 테이블스페이스는 임시 테이블스페이스가 됩니다.

DEFAULT STORAGE

  • - INITIAL : 테이블 스페이스의 맨 첫번째 Extents의 크기
  • - NEXT : 다음 Extents의 크기
  • - MINEXTENTS : 생성할 Extents의 최소 값
  • - MAXEXTENTS : 생성할 Extents의 최대 값
  • - PCTINCREASE : Extents의 증가율, Default값은 50 입니다

테이블 스페이스 생성 예제

 
-- 테이블스페이스 생성
SQL> CREATE TABLESPACE storm
     DATAFILE 'C:\ORACLE\ORADATA\app_data.dbf' SIZE 100M
     DEFAULT STORAGE
          (INITIAL    10K
           NEXT       10K
           MINEXTENTS 2
           MAXEXTENTS 50
           PCTINCREASE 50);  
    

  위 그림 설명은 잘 못되었습니다. 두 번째 extent는 next의 원래 크기와 동일합니다. 다음부터의 NEXT는 (1+pctincrease/100)에 next의 이전크기를 곱한 크기로 설정 됩니다.

  그러므로 16K는 세번째 extent의 크기가 됩니다. 10k, 10k, 16k, 24K, 36k.. 이렇게 되겠죠..

- 강좌 URL : http://www.gurubee.net/lecture/1095

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by whoni [2004.05.18 20:11:08]
예문중에 DATAFILE ‘C:\ORACLE\ORADATA\app_data.dbf' SIZE 100M 이부분에
앞에 작은따옴표가 잘못되있습니다. ' 로 고쳐서 실행하세요 ^^

by 김정식 [2005.03.28 12:45:32]
작은따옴표 수정 했습니다. ^^

by 박종관 [2006.02.18 04:28:28]
3번째 그림에서요
min 가 2개인 부분이 10k10k 아닌가요?
10k10k16k 식으로 될 것 같은데 아닌가요? 아니면 왜 아니죠?

by 김정식 [2006.02.18 12:19:56]
박종관님 말씀이 맞습니다.
두번째 extent는 next의 원래 크기와 동일합니다.
다음부터의 NEXT는 (1+pctincrease/100)에 next의 이전크기를 곱한 크기로 설정 됩니다.
그러므로 16K는 세번째 extent의 크기가 됩니다.

10k, 10k, 16k, 24K, 36k.. 이렇게 되겠죠..
곧 수정 하겠습니다. ^^

by 박종관 [2006.02.19 00:18:50]
이건 제가 아직 정확히 몰라서 그러는데요 만약
위에서MINEXTENTS가 1이면요..
10k16k ... 이런 식으로 확장되나요? next값을 무시하나요?

by 나그네123 [2008.05.26 14:18:09]
보통 대용량 DB 작업시 셋팅값을 기본적으로 어떻게 하는게
효율적일까요?

by 장태길 [2008.05.26 16:19:47]
대다수가 디폴트 이구요
사이트 성격에 맞추어 캐릭터셋이나, block size, redo size 등을 생성 후 비교하여
최적에 맞춤이 가능하나, 보통은 디폴트로 하는 것으로 알고 있습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입