DBAtlas · 데이터베이스 운영 아틀라스

Oracle 백업 전략 및 자동화 (RMAN + Data Pump)

Oracle난이도: 중급소요 시간: 60–120분(첫 level 0 소요 시간 제외)

설치된 데이터베이스에 상시 자동 백업 체계를 구성합니다(장애 시 복구는 별도 가이드 "RMAN restore 및 recovery"에서 다룹니다): 주간 level 0 + 일간 level 1(또는 매일 full), 잦은 아카이브 로그 백업, FRA 또는 별도 디렉터리, retention, 압축, 암호화, block change tracking, 병렬 처리. 추가로 wallet을 사용하는 전체 expdp. 완성된 스크립트(잠금, 로그, 오류 검사, 이메일)는 cron, systemd timer 또는 DBMS_SCHEDULER로 스케줄링하며 주간 RESTORE VALIDATE와 유지 관리 작업도 포함합니다. 단일 인스턴스, Oracle Restart, RAC(FRA와 snapshot controlfile은 ASM에 두고, 작업은 첫 번째로 열린 인스턴스에서만 실행)별 경로를 따로 제공합니다. OL/RHEL 7.9–9. 선택 사항: RMAN recovery catalog(CREATE CATALOG, REGISTER, wallet을 통한 접속, catalog 자체 백업)와 월간 restore 훈련(RESTORE … VALIDATE + PREVIEW 작업, 테스트 서버에서 실제 restore).

구성: 서버 1대(단일 인스턴스 또는 Oracle Restart) 또는 RAC(2–8 node)

시작하기 전에

  • … 데이터베이스가 열려 있고 /etc/oratab에 등록되어 있습니다. ORACLE_HOME은 …입니다.… 데이터베이스가 Clusterware에 등록되어 있습니다(srvctl config database -db …).…
  • 데이터베이스의 로그 모드와 FRA 설정을 파악했습니다. ARCHIVELOG가 꺼져 있다면 이를 켜기 위한 짧은 중단(재시작)을 계획했습니다.
  • 디스크 공간이 충분합니다: FRA(…)에 약 … GB…, 백업 디렉터리(…)에 약 … GB……, dump 디렉터리(…)에 약 … GB…. 계산은 대략적인 추정치입니다(참고 섹션). 백업 공간은 데이터베이스 디스크와 분리되어야 합니다.
  • cron(cronie)이 설치되어 실행 중입니다. 작업은 root 소유의 /etc/cron.d 파일을 통해 oracle 사용자로 실행되며, PAM(/etc/security/access.conf)이 oracle의 cron 작업을 막지 않습니다.
  • oracle OS 사용자의 비밀번호를 알고 있으며(DBMS_SCHEDULER credential용) $ORACLE_HOME/bin/jssu가 setuid root입니다(root.sh 실행 완료).
  • 서버에서 이메일을 보낼 수 있습니다: 로컬 MTA(postfix)가 relay 서버로 전달하도록 설정되어 있거나 mailx에 SMTP가 설정되어 있습니다.
  • TDE keystore가 구성되어 열려 있습니다(v$encryption_wallet → OPEN). Keystore 비밀번호와 keystore 백업을 안전한 곳에 보관하고 있습니다. keystore를 잃으면 암호화된 백업을 읽을 수 없습니다.
  • 라이선스 요건 충족: …병렬 처리와 block change tracking은 Enterprise Edition에서 제공됩니다…. … 압축에는 Advanced Compression Option이 필요합니다……. 디스크 백업 암호화에는 Advanced Security Option이 필요합니다……. Data Pump COMPRESSION=ALL에는 Advanced Compression Option이 필요합니다….…Standard Edition 2에서는 RMAN이 채널 하나로 동작하며 BASIC 압축을 사용할 수 있습니다.…
  • 백업의 두 번째 사본을 둘 곳이 정해져 있습니다: 테이프/MML, 오브젝트 스토리지 또는 다른 서버. 백업의 유일한 사본이 데이터베이스와 같은 서버에 있어서는 안 됩니다.
  • OL/RHEL 7.9: 19c에서 지원되며 소프트웨어는 yum으로 설치합니다. OL7 Premier Support는 2024년 6월에 종료되었고(Extended Support는 계속), RHEL 7은 Extended Life Cycle Support 구독이 필요합니다. 신규 설치에는 OL/RHEL 8–9를 권장합니다.
  • FRA는 ASM 디스크 그룹(…)에 있습니다…. 모든 인스턴스가 같은 FRA를 보며, 모든 인스턴스의 아카이브 대상은 USE_DB_RECOVERY_FILE_DEST입니다….

가이드 단계

  • 준비 — 현재 상태 및 크기 측정 · 백업 디렉터리 생성 · FRA 설정 · ARCHIVELOG 모드 활성화 · ARCHIVELOG 모드 활성화(srvctl) · cron 및 oracle 사용자의 cron 권한 준비 …
  • 환경 파일 및 RMAN 구성 — 환경 파일 작성…(…)… · Block change tracking 활성화 · RMAN 구성 파일 작성 · RMAN 설정 적용 · control_file_record_keep_time을 retention에 맞게 설정
  • Recovery catalog(선택 사항) — Catalog 데이터베이스에 catalog 소유자 생성 · Catalog 접속용 TNS 파일 작성 · Catalog 자격 증명을 wallet에 추가 · Catalog 스키마 생성(CREATE CATALOG) · 데이터베이스를 catalog에 등록(REGISTER DATABASE) · Catalog 데이터베이스 백업
  • RMAN 명령 파일 및 백업 스크립트 — Level 0 명령 파일 작성 · Level 1 명령 파일 작성 · 아카이브 로그 명령 파일 작성 · 주간 검증 및 유지 관리 파일 작성 · 월간 restore 훈련 파일 작성 · 백업 스크립트 작성 …
  • Data Pump 사용자 및 wallet — Export 사용자 및 directory 객체 생성 · Wallet 생성 및 자격 증명 추가 · Wallet을 다른 node로 복사 · sqlnet.ora 작성(백업 스크립트 전용) · tnsnames.ora 작성(백업 스크립트 전용)…(…)… · 비밀번호 없는 접속 테스트
  • 첫 백업(수동 실행) — 첫 level 0 백업 수행 · 아카이브 로그 백업 테스트 · Level 1 백업 테스트 · 첫 Data Pump export 수행 · RMAN 기록으로 백업 확인
  • 스케줄링: cron — cron 파일 작성 · cron 파일 권한 설정, 이전 crontab 블록 제거 · cron 환경으로 수동 테스트 · cron이 작업을 실행하는지 확인
  • 스케줄링: systemd timer — 서비스 및 timer 파일 작성 · Timer 활성화
  • 스케줄링: DBMS_SCHEDULER — OS credential 생성 · 스케줄 작업 생성 · 작업을 즉시 실행해 테스트
  • 유지 관리 및 모니터링 — 주간 검증 및 유지 관리 1회 실행 · Restore 훈련 1회 실행 · 모니터링 쿼리 · 백업을 서버 외부로 복사하고 복구 테스트 · 별도 테스트 서버에서 실제 restore 수행 · Catalog의 백업 이력 모니터링
내 환경에 맞춘 단계별 계획 열기 →