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

Oracle ASM 일상 운영 및 장애 시나리오

Oracle난이도: 고급소요 시간: 10분 – 몇 시간(rebalance 소요 시간에 따라)

설치된 Oracle Restart 또는 RAC 환경에서 ASM 디스크 그룹의 일상 운영과 장애 대응을 다룹니다: 용량 점검(usable_file_mb), rebalance 모니터링, 디스크 추가/교체/제거, offline 디스크, 새 디스크 그룹, mount/dismount, ASM 구성 백업, 검색 문자열. ASM 설치는 다루지 않습니다(설치: Oracle Restart 또는 RAC 가이드). 오류 코드(예: ORA-15041, ORA-15042)를 검색하면 해당 시나리오가 열립니다. 모든 시나리오는 진단 → 안전장치 → 적용 → 검증 → 사후 작업 순서이며, 데이터베이스는 열린 상태로 유지됩니다(dismount 제외).

구성: Oracle Restart(단일 서버) 또는 2–8 node RAC, Grid Infrastructure 19c(23ai/26ai 차이는 참고 사항에)

시나리오

  • 용량 및 디스크 그룹 상태 점검 — 아무것도 변경하지 않습니다: 디스크 그룹이 가득 찼는지, 남은 공간이 얼마인지(이중화 방식별 usable_file_mb의 올바른 해석), offline 디스크, 디스크 불균형, 호환성 속성. 공간 문제, 경보 또는 정기 점검 시 가장 먼저 선택할 카드입니다.
  • Rebalance 모니터링, 가속 또는 감속 — 진행 중인 rebalance/resync의 진행률과 남은 시간(v$asm_operation, est_minutes), POWER 변경. 데이터베이스는 열린 상태로 유지되며 I/O 부하만 달라집니다.
  • 디스크 그룹에 새 디스크 추가 — 디스크 그룹의 공간이 부족하거나 확장이 필요한 경우: 새 LUN을 모든 node에서 준비하고(multipath/udev/ASMLib/AFD), ADD DISK로 추가한 뒤 rebalance를 모니터링합니다. 데이터베이스는 열린 상태로 유지됩니다.
  • 디스크를 새 디스크로 교체(REPLACE DISK) — 장애(offline) 디스크나 교체 대상 디스크를 한 번의 작업으로 새 디스크로 바꿉니다. 해당 디스크의 데이터만 복사됩니다(12.1+, NORMAL/HIGH). EXTERNAL에서는 추가 + 제거를 한 명령으로 수행합니다. 데이터베이스는 열린 상태로 유지됩니다.
  • 디스크 그룹에서 디스크 제거 — LUN을 반납하거나 스토리지에서 제거하기 위한 작업입니다. DROP DISK로 데이터를 나머지 디스크로 옮기며, rebalance가 끝나고 디스크가 FORMER가 되기 전에는 디스크를 분리하지 않습니다. 데이터베이스는 열린 상태로 유지됩니다.
  • 디스크 offline 또는 장애(NORMAL/HIGH redundancy) — NORMAL/HIGH 디스크 그룹에서 디스크가 OFFLINE으로 보이거나 alert log에 쓰기/읽기 오류가 있는 경우: 진단, disk_repair_time 기간, 경로가 복구되었다면 ONLINE DISK(fast mirror resync), 복구가 길어지면 기간 연장. 데이터베이스는 열린 상태로 유지됩니다.
  • 새 디스크 그룹 생성 — 새 데이터, FRA 또는 애플리케이션 디스크 그룹을 만들기 위한 작업: redundancy, AU 크기, compatible.asm/rdbms 속성, RAC에서는 모든 node의 mount와 Clusterware 리소스. 기존 디스크 그룹은 영향을 받지 않습니다.
  • 디스크 그룹 mount 또는 dismount — 디스크 그룹을 계획적으로 내리거나(dismount) 내려가 있거나 열리지 않는 디스크 그룹을 올리기(mount) 위한 작업으로, srvctl start/stop diskgroup으로 모든 node에서 수행합니다. dismount하려면 디스크 그룹을 사용하는 데이터베이스가 없어야 하며, mount되지 않는 경우 오류 코드에 따라 안내합니다.
  • ASM spfile, 비밀번호 파일 및 메타데이터 백업 — 중단 없음: ASM spfile, 비밀번호 파일, 디스크 그룹 구조(md_backup), RAC에서는 GPnP 프로파일을 ASM 외부로 백업하여 디스크 그룹을 잃어도 ASM 구성을 다시 만들 수 있게 합니다. 설치 후와 구조를 변경할 때마다 실행합니다.
  • ASM 디스크 검색 문자열(asm_diskstring) 변경 — ASM이 디스크를 찾는 경로 패턴을 바꾸기 위한 작업입니다(예: multipath로 전환, 새 udev 디렉터리, ASMLib/AFD). 먼저 kfod로 시험한 뒤 asmcmd dsset을 실행합니다. 기존 모든 디스크(OCR/voting 포함)가 새 문자열로도 검색되어야 합니다.

시작하기 전에

  • root 권한과 grid 사용자의 login shell이 있으며, grid 프로파일이 ORACLE_HOME=…와 ORACLE_SID(+ASM…N…)를 설정합니다. SQL 단계는 sqlplus / as sysasm으로 실행됩니다.
  • 스토리지 팀이 새 LUN을 …모든 node에… 할당했습니다. 크기는 기존 디스크와 같고, WWID(또는 VM 디스크 시리얼 번호)를 알고 있으며, 디스크는 비어 있습니다(파일 시스템, LVM, 이전 ASM 헤더 없음).
  • 디스크 그룹에 있는 데이터베이스의 최신 RMAN 백업이 있으며, 작업이 I/O 부하를 일으키므로 한가한 시간대를 선택했습니다.
  • …에서 진행 중인 다른 rebalance가 없습니다(큰 작업 두 개를 동시에 시작하지 않습니다).

가이드 단계

  • 용량 및 상태 점검 — 디스크 그룹 사용률 표시 · 디스크 균형 및 상태 확인 · 호환성 및 복구 속성 표시 · 디스크 그룹별 사용량과 진행 중인 작업
  • Rebalance 모니터링 및 power 설정 — 진행 중인 작업과 power 설정 표시 · Rebalance power 변경 · Rebalance 완료까지 모니터링
  • 디스크 추가: 진단 — … 디스크 그룹 상태 표시
  • 새 디스크 준비 — 새 LUN 스캔 및 식별…(…)… · 새 LUN 스캔 및 식별…(…)… · Multipath alias 정의 · udev 규칙에 새 디스크 추가 · 디스크에 파티션 생성 및 ASMLib 레이블 기록…(1번 node만)… · 다른 node에서 레이블 읽기(…) …
  • 디스크 추가: 적용 — … 디스크 그룹에 디스크 추가 · Rebalance 완료까지 모니터링
  • 디스크 추가: 검증 — 새 디스크가 멤버인지 확인 · 사후 작업
  • 디스크 교체: 진단 — … 디스크 그룹 상태 표시 · 교체할 디스크 상태 표시
  • 새 디스크 준비 — 새 LUN 스캔 및 식별…(…)… · 새 LUN 스캔 및 식별…(…)… · Multipath alias 정의 · udev 규칙에 새 디스크 추가 · 디스크에 파티션 생성 및 ASMLib 레이블 기록…(1번 node만)… · 다른 node에서 레이블 읽기(…) …
  • 디스크 교체: 적용 — 이전 디스크가 아직 ONLINE이면 offline으로 전환 · 디스크를 새 디스크로 교체 · 새 디스크 추가 및 이전 디스크 제거(EXTERNAL) · Rebalance 완료까지 모니터링
  • 디스크 교체: 검증 및 사후 작업 — 교체 확인 · 이전 디스크의 헤더 확인
  • 디스크 제거: 진단 — … 디스크 그룹 상태 표시 · 제거 후 공간이 충분한가
  • 디스크 제거: 적용 — …에서 디스크 제거 · Rebalance 완료까지 모니터링
  • 디스크 제거: 검증 및 운영체제에서 제거 — 제거한 디스크가 FORMER인지 확인 · 운영체제에서 디스크 제거
  • 장애 디스크: 진단 — Offline 디스크와 남은 시간 표시 · 운영체제에서 디스크 경로 확인…(…)… · 운영체제에서 디스크 경로 확인 · ASM alert log에서 디스크 이벤트 검색
  • 장애 디스크: 디스크 복귀(ONLINE) — 디스크를 온라인으로 전환 · Resync 완료까지 모니터링 · 디스크가 온라인인지 확인
  • 장애 디스크: drop 타이머 연장 — Offline 디스크에 새 타이머 지정 · 복구 후
  • 새 디스크 그룹: 진단 — 기존 디스크 그룹과 후보 디스크 표시
  • 새 디스크 준비 — 새 LUN 스캔 및 식별…(…)… · 새 LUN 스캔 및 식별…(…)… · Multipath alias 정의 · udev 규칙에 새 디스크 추가 · 디스크에 파티션 생성 및 ASMLib 레이블 기록…(1번 node만)… · 다른 node에서 레이블 읽기(…) …
  • 새 디스크 그룹: 생성 — … 디스크 그룹 생성 · 모든 node에서 디스크 그룹 mount · 디스크 그룹 리소스 확인
  • 새 디스크 그룹: 사후 작업 — 디스크 그룹 사용 시작
  • Mount / dismount: 진단 — 디스크 그룹 상태와 사용자 표시 · Clusterware 리소스 표시
  • ASM spfile, 비밀번호 파일 및 메타데이터 백업 — ASM spfile과 비밀번호 파일 위치 표시 · 백업 디렉터리 생성 · 백업 받기 · 백업을 서버 외부로 복사
  • 검색 문자열: 진단 — 현재 문자열과 멤버 디스크 경로 표시 · 새 문자열이 모든 멤버 디스크를 찾는지 확인
  • 검색 문자열: 적용 및 검증 — 검색 문자열 변경 · 모든 ASM 인스턴스에서 확인
내 환경에 맞춘 단계별 계획 열기 →