DBMS마다 데이터베이스가 가지는 자원들은 차이가 난다.
ORACLE 경우는 인스턴스와 DB가 붙어있어서 자원 구분이 불분명하지만, DB2의 경우는 DB 하위에 독립적인 트랜잭션 로그, 메모리(버퍼풀), 테이블 공간등을 지정하고 관리를 한다.
Informix의 경우는 인스턴스 범위에서 트랜잭션 로그, 시스템(메타 테이블) 정보, DB 공간이 지정되고 관리가 된다. (어렴풋한 기억을 더듬어 보면 MS-SQL, Sybase 는 informix와 비슷하지 않을까 싶다.)
그 아키텍처가 제조사 별로 다르기 때문에 DB 크기 산정도 차이가 나겠지만, 그 기준이 되는 것은 “테이블 공간”들의 합일 것이다.
DB2에서는 프로시저를 실행함으로서 DB의 사용크기와 가용 크기를 확인할 수 있다. (단위는 byte)
명령어 db2 “call sysproc.get_dbsize_info(?,?,?,-1)” |
참고
- 첫번째 출력 변수: 실행된 시간소 값
- 두번째 출력 변수: 데이터베이스의 크기
(산정방식: dbsize = sum (used_pages * page_size) for each table space (SMS & DMS))
- 세번째 출력 변수: 데이터베이스 가용 크기
(산정방식: dbcapacity = SUM (DMS usable_pages * page size) + SUM (SMS container size + file system free size per container))
- 네번째 입력 변수: 수집 시간 간격 (기본 값: –1)
-1인 경우 30분 단위 수집을 의미하며, 입력 값은 “분” 단위임
실행 결과 출력 매개변수 값 매개변수 이름 : DATABASESIZE 매개변수 이름 : DATABASECAPACITY 리턴 상태 = 0 |
간단한 방법은 db2top을 통하여 확인할 수 있다.(옵션: t)
화면 아래 가운데 DB Size가 명시되어 있다. (현 크기/ 가용 크기)
'Note' 카테고리의 다른 글
[SQL] 집계함수 listagg() (0) | 2012.01.05 |
---|---|
[관리] DB2가 사용하는 메모리 확인은 어떻게? (0) | 2011.12.26 |
[SQL] Recursive 처리 (재귀 SQL) (0) | 2011.12.19 |
[관리] 백업, 복구 히스토리, 아카이브 로그 자동 관리 (0) | 2011.12.12 |
[SQL] 익명 블록 (Anonymous Block) (0) | 2011.12.05 |