IT 공부

Oracle DB 기본 관리 - 05. 데이터베이스 저장 영역 구조 관리

한라봉봉봉봉 2023. 3. 8. 10:00

■ 데이터 생성 순서

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;