반응형
오라클 데이터베이스를 이해하고 효율적으로 운영하려면 **데이터 파일(Data File)**과 **로그 파일(Log File)**의 역할과 원리를 정확히 아는 것이 중요합니다. 이 글에서는 데이터 파일과 로그 파일의 개념, 주요 차이점, 그리고 이를 실무에서 활용하는 방법에 대해 설명합니다.
1. 데이터 파일(Data File)이란?
데이터 파일은 오라클 데이터베이스의 물리적 저장소로, 데이터베이스 테이블, 인덱스, 뷰 등의 데이터가 저장되는 파일입니다.
- 데이터베이스는 여러 데이터 파일로 구성되며, 데이터 파일은 하나의 데이터베이스 인스턴스에서 공유됩니다.
- 데이터 파일은 데이터 블록(Data Block)으로 구성되며, 데이터 블록은 데이터를 저장하는 기본 단위입니다.
특징
- 테이블, 인덱스, 시스템 카탈로그 데이터 등을 저장.
- 데이터베이스의 테이블스페이스에 포함.
- 크기를 동적으로 확장 가능(자동 증가 설정).
2. 로그 파일(Log File)이란?
로그 파일은 데이터베이스에서 수행된 변경 작업(트랜잭션)을 기록하는 파일입니다.
로그 파일은 데이터 복구 및 데이터 무결성을 유지하는 데 핵심적인 역할을 합니다.
- REDO 로그 파일과 아카이브 로그 파일로 구성됩니다.
- 데이터 손실을 방지하고, 장애 발생 시 복구를 지원.
REDO 로그 파일
- 데이터 변경 내역(Insert, Update, Delete 등)을 기록.
- 데이터베이스가 정상적으로 종료되지 않았을 경우 복구에 사용.
아카이브 로그 파일
- REDO 로그 파일의 내용을 백업.
- 과거의 트랜잭션 데이터 복구에 사용.
3. 데이터 파일과 로그 파일의 주요 차이점
구분 데이터 파일 로그 파일
역할 | 데이터 저장 | 트랜잭션 변경 내역 저장 |
구성 단위 | 테이블, 인덱스, 뷰 등 | REDO 로그, 아카이브 로그 |
데이터 복구 | 직접 복구 불가능 | 복구 작업의 핵심 파일 |
크기 확장 | 테이블스페이스 설정에 따라 자동 확장 | 고정 크기(보통 크기 제한 설정) |
장애 시 활용 | 데이터 조회 불가 | 변경 내역을 복구하여 데이터 복원 가능 |
4. 데이터 파일과 로그 파일의 구조
1) 데이터 파일 구조
- 데이터 블록(Data Block): 데이터의 최소 저장 단위.
- 확장 영역(Extent): 연속된 데이터 블록의 집합.
- 세그먼트(Segment): 테이블, 인덱스 등이 사용하는 모든 Extent의 집합.
2) 로그 파일 구조
- 로그 그룹(Log Group): 여러 로그 파일을 하나로 묶어 구성.
- 순환 로그 사용: 로그 파일이 순환적으로 사용되며, 이전 내용은 덮어씌워짐.
- 로그 스위치(Log Switch): 활성 로그 파일이 가득 찰 때 새 로그 파일로 전환.
5. 데이터 파일과 로그 파일 설정 및 관리
1) 데이터 파일 생성
데이터 파일은 테이블스페이스 생성 시 함께 생성됩니다.
CREATE TABLESPACE example_tbs
DATAFILE '/u01/app/oracle/oradata/example_tbs01.dbf'
SIZE 50M
AUTOEXTEND ON;
- DATAFILE: 데이터 파일의 경로와 이름.
- SIZE: 초기 크기 설정.
- AUTOEXTEND ON: 자동 확장 설정.
2) 로그 파일 생성
로그 파일은 데이터베이스 생성 시 설정되며, 필요 시 추가 가능합니다.
ALTER DATABASE ADD LOGFILE (
GROUP 3 ('/u01/app/oracle/oradata/redo03.log') SIZE 10M
);
- GROUP: 로그 그룹 번호.
- SIZE: 로그 파일 크기.
6. 실무에서의 데이터 파일과 로그 파일 활용 예제
예제 1: 데이터 파일 확장
테이블스페이스 크기가 부족한 경우 데이터 파일을 확장하여 문제를 해결합니다.
ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/example_tbs01.dbf'
RESIZE 100M;
예제 2: 로그 파일 손실 시 복구
REDO 로그 파일 손실로 데이터베이스가 복구 모드로 전환된 경우:
- 아카이브 로그 파일 복구
RMAN> RESTORE ARCHIVELOG ALL;
- REDO 로그 재적용
RECOVER DATABASE USING BACKUP CONTROLFILE;
예제 3: 로그 스위치 수동 실행
로그 파일이 가득 차지 않도록 수동으로 로그 스위치를 실행합니다.
ALTER SYSTEM SWITCH LOGFILE;
7. 데이터 파일과 로그 파일 관리 시 주의사항
- 데이터 파일 확장 관리:
- 자동 확장 설정(AUTOEXTEND)은 필요한 경우에만 활성화.
- 디스크 용량 모니터링 필수.
- REDO 로그 파일 손실 방지:
- 다중 로그 그룹 사용으로 데이터 무결성 강화.
- 중요한 로그는 주기적으로 아카이브 설정.
- 백업 전략 수립:
- 데이터 파일과 로그 파일을 주기적으로 백업.
- RMAN(Recovery Manager) 활용 권장.
- 로그 파일 크기 조정:
- 로그 파일 크기가 너무 작으면 로그 스위치가 빈번히 발생해 성능 저하.
8. 데이터 파일과 로그 파일의 적절한 활용 시나리오
- 대규모 데이터 저장 및 관리:
대규모 데이터를 관리할 때는 데이터 파일 크기를 계획적으로 설계하고 필요 시 확장. - 장애 복구 대비:
로그 파일을 활용한 아카이브 로그 모드 설정으로 모든 트랜잭션 데이터 복구 가능. - 성능 최적화:
다중 로그 그룹과 적절한 로그 크기 설정으로 데이터베이스 성능 유지.
결론
데이터 파일과 로그 파일은 오라클 데이터베이스의 핵심 구성 요소로, 각각의 역할과 특성을 이해하면 데이터 무결성과 복구 가능성을 높일 수 있습니다.
효율적인 데이터 관리와 복구 전략 수립을 위해 이 두 파일의 구조와 기능을 정확히 이해하고 실무에 활용해 보세요.
반응형
'Database' 카테고리의 다른 글
오라클 CLOB과 BLOB 데이터 처리 방법 (0) | 2024.12.04 |
---|---|
오라클 테이블스페이스(Tablespace)란 무엇인가? (0) | 2024.12.04 |
오라클 UNDO 테이블스페이스의 역할과 관리 (0) | 2024.12.04 |
오라클 데이터베이스의 아카이브 로그 모드 이해하기 (0) | 2024.12.04 |
오라클 START WITH로 계층 쿼리 시작하기 (0) | 2024.12.04 |