Oracle DB 기본 관리 - 05. 데이터베이스 저장 영역 구조 관리
■ 데이터 생성 순서
1. 기본 기능만을 가진 DB 생성
- system, sysaux, undo type, temporary type TBS 생성
. permanent : create table
. temporary : sort 중간 결과치 (얘는 tempfiles에 저장)
. undo : 변경되기 전 data
2. 업무별 TBS 추가
- 데이터 용 TBS, 인덱스 용 TBS
- 예시) 인사, 급여, 회계
- TBS 크기를 정해보자.
. 컬럼의 type을 확인한다. number, char는 자리수를 동일하게 하고 varchar는 평균 자리수를 추측하여 테이블의 전체 자리수를 더한다.
. 데이터 예상 건수/월 * 12개월 * 보관연도 = 전체 데이터 예상 건수
3. 업무별 DB user 생성
- 예시) 인사 hr/hr, 급여 sh/sh, 회계 oe/oe
4. 테이블, 인덱스 생성
■ Block
1) Block header
- TX 정보 저장하는 슬롯은 1개
2) Data : 아래서부터 채워진다
. 예시) {자릿수}{데이터}{자릿수}{데이터}...
3) Free area : 데이터 변경 대비하여 여유 공간 남겨둔다
■ Tablespace
1) 생성
2) 사이즈 변경
① data file 추가
alter tablespace insa add datafile 'D:\APP\ORACLE\ORADATA\PROD\INSA02.DBF' size 30m;
② data file 크기 증가
alter database datafile 'D:\APP\ORACLE\ORADATA\PROD\INSA01.DBF' resize 50m;
③ data file 동적 증가
. default는 1MB씩 증가, max 값은 지정해야 한다 (disk full....!)
alter database datafile 'D:\APP\ORACLE\ORADATA\PROD\INSA02.DBF' autoextend on next 2m maxsize 50m;
※ ASM인 경우, 자동으로 disk 관리가 되므로 TBS, datafile은 1:1로 만들고 TBS 사이즈 변경을 위해서는 기존 data file 크기를 변경.
3) status 변경
- 일반적으로 online 상태 (읽기, 쓰기 가능)
- data file이 깨져서 복구 작업이 필요할 때만 offline으로 변경한다
4) 공간 관리 모니터링
- dba_free_space;