Oracle Backup and Recovery

백업 종류 (Types of Backup)

전체 백업 (Full Backup)
전체 백업은 데이터베이스의 모든 데이터를 한 번에 백업하는 방법입니다. 이 방식은 가장 단순하지만, 시간이 많이 걸리고 많은 저장 공간을 필요로 합니다. 전체 백업은 일반적으로 주기적으로 수행되며, 이 백업을 통해 데이터베이스를 특정 시점으로 복원할 수 있습니다.

증분 백업 (Incremental Backup)
증분 백업은 마지막 전체 백업 이후 변경된 데이터만을 백업하는 방식입니다. 이 방법은 저장 공간을 절약하고 백업 시간을 단축할 수 있습니다. 하지만 복구 시에는 전체 백업과 각 증분 백업을 순서대로 적용해야 하므로 시간이 더 걸릴 수 있습니다.

차등 백업 (Differential Backup)
차등 백업은 마지막 전체 백업 이후 변경된 모든 데이터를 백업하는 방법입니다. 증분 백업보다는 더 많은 공간을 차지하지만, 복구 시에는 전체 백업과 마지막 차등 백업만 필요하므로 빠르게 복구할 수 있습니다.

백업 도구와 방법 (Backup Tools and Methods)

RMAN (Recovery Manager)
Oracle RMAN은 Oracle 데이터베이스의 백업과 복구를 위한 강력한 도구입니다. RMAN을 사용하면 데이터베이스 전체, 특정 테이블스페이스, 데이터 파일 등을 백업할 수 있습니다. 또한 RMAN은 백업 작업을 자동화하고, 증분 백업과 차등 백업을 지원합니다.

Data Pump
Oracle Data Pump는 데이터베이스 객체를 내보내고 가져오기 위한 도구입니다. Data Pump를 사용하면 테이블, 스키마, 데이터베이스 전체를 백업할 수 있습니다. Data Pump는 빠르고 효율적인 데이터 이동을 위해 설계되었습니다.

Export/Import 유틸리티
전통적인 export와 import 유틸리티는 데이터베이스 객체를 덤프 파일로 내보내고 가져오는 방법입니다. 이 방법은 비교적 느리고 제한적이지만, 특정 상황에서는 유용할 수 있습니다.

물리적 복제 (Physical Standby)
물리적 복제는 데이터베이스의 물리적 복사본을 유지하는 방법입니다. Oracle Data Guard를 사용하여 주 데이터베이스의 변경 사항을 실시간으로 보조 데이터베이스에 적용할 수 있습니다. 이 방법은 고가용성과 재해 복구를 위한 강력한 솔루션입니다.

데이터베이스 복구 전략 (Database Recovery Strategies)

전체 복구 (Complete Recovery)
전체 복구는 데이터베이스를 마지막 백업 시점으로 복원하고, 모든 아카이브 로그를 적용하여 복구하는 방법입니다. 이 방법은 데이터 손실을 최소화할 수 있지만, 복구 시간이 오래 걸릴 수 있습니다.

불완전 복구 (Incomplete Recovery)
불완전 복구는 특정 시점 또는 SCN(System Change Number)까지 데이터베이스를 복원하는 방법입니다. 이 방법은 최근 데이터 손실을 감수하더라도 빠르게 복구해야 하는 상황에서 사용됩니다.

테이블스페이스 복구 (Tablespace Recovery)
특정 테이블스페이스만 손상된 경우, 해당 테이블스페이스를 백업본으로 복원하고 필요한 로그를 적용하여 복구할 수 있습니다. 이 방법은 데이터베이스 전체를 복원하지 않고 손상된 부분만 복구할 수 있어 효율적입니다.

블록 복구 (Block Recovery)
특정 데이터 블록이 손상된 경우, 해당 블록만 복원할 수 있습니다. RMAN의 블록 복구 기능을 사용하여 손상된 블록을 신속하게 복구할 수 있습니다.

예제 (Examples)

RMAN을 이용한 전체 백업

RMAN> BACKUP DATABASE;

RMAN을 이용한 증분 백업

RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

RMAN을 이용한 데이터베이스 복구

RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;

Data Pump를 이용한 데이터베이스 백업

expdp system/password FULL=Y DIRECTORY=dump_dir DUMPFILE=full_db.dmp LOGFILE=full_db.log

Data Pump를 이용한 데이터베이스 복구

impdp system/password FULL=Y DIRECTORY=dump_dir DUMPFILE=full_db.dmp LOGFILE=full_db.log

테이블스페이스 복구 예제

RMAN> RESTORE TABLESPACE users;
RMAN> RECOVER TABLESPACE users;

Oracle 데이터베이스의 백업과 복구는 데이터 보호와 고가용성을 위해 매우 중요합니다. 적절한 백업 전략과 도구를 사용하여 데이터 손실을 최소화하고, 신속하게 복구할 수 있는 체계를 구축하는 것이 중요합니다.

Leave a Reply

Your email address will not be published. Required fields are marked *