db2 테이블스페이스

테이블스페이스 관리
. 테이블 스페이스는 테이블을 저장하는 논리적 개념
. 테이블 스페이스를 구성하는 물리적인 개념은 Container
; 디폴트 테이블스페이스
SYSCATSPACE : catalog table 및 데이터베이스를 관리하기 위한 관리 테이블들이 저장
TEMPSAPCE1 : temporary 테이블 스페이스
USERSAPCE1 : 사용자가 생성한 오브젝트 및 데이터를 저장하는 테이블스페이스
테이블 생성시 테이블스페이스를 지정하지 않을 경우 디폴트로 이 테이블스페이스를 사용
; 테이블스페이스 관리 방식
. System Managed Space(SMS)
- 운영체제가 테이블스페이스를 관리
- 컨테이너로 디렉토리가 사용되며 운영체제의 파일시스템이 스토리지 할당 및 관리를 제어
. Database Managed Space(DMS)
- 데이터베이스가 테이블스페이스를 관리
- 컨테이너로 file과 raw device가 이용
. Automatic Storag table space
- DB2가 자동으로 스토리지를 관리
- 테이블스페이스 타입에 따라 SMS, DMS로 자동 생성하며 컨테이너를 지정할 필요 없음
; 테이블스페이스 타입
. Regular
- 오브젝트 및 인덱스의 모든 데이터를 저장하는 공간
. Temporary
- System Temporary : 정렬 및 SQL문 및 기타 작업 실행 시 데이터베이스 Manager가 사용하는 영역
- User Temporary : 세션의 전역 임시 테이블의 데이터를 임시로 저장하는 영역
. Large
- regular 처럼 모든 데이터를 저장하나 관리 유형이 DMS일 경우에만 생성이 가능
테이블스페이스 생성/확장/삭제
; 생성
$ db2 connect to NEW_DB
$ db2 "create tablespace NEW_TS managed by database using (file '/data/db2inst1/db2data/NEW_TS_FILE' 1024M)"
$ ls -al /data/db2inst1/db2data/
; 확장
$ db2 "alter tablespace NEW_TS add (file '/data/db2inst1/db2data/NEW_TS001' 1024M)
$ ls -al /data/db2inst1/db2data
; 용량 증설(1G -> 2G)
$ ls -al /data/db2inst1/db2data
$ db2 "alter tablespace NEW_TS resize (file '/data/db2inst1/db2data/NEW_TS001' 2048M)
$ ls -al /data/db2inst1/db2data
; 제거
$ db2 "drop tablespace NEW_TS001
; 조회
$ db2 list tablespaces show detail
- 현재 데이터베이스에 대한 테이블스페이스
$ db2 list tablespace containers for 4 show detail
- 테이블스페이스 4에 대한 테이블스페이스 컨테이너

댓글

이 블로그의 인기 게시물

[ASP] ASP에서 오라클 DB연결 문의 - Microsoft OLE DB Provider for Oracle error '80004005'

db2 user 생성 및 권한 설정

[자바스크립트] 소수점 계산오류가 생길때 해결 방법