ASM이 사용하는 Disk를 판별하는 과정
ASM을 사용하다보면 Free space가 부족해 Disk를 Add하거나
스토리지 이슈로 인해 Disk를 교체(Add/Drop)해야하는 경우가 왕왕 있습니다.
ASM에 Disk를 Add/Drop하는 과정은 명령어 몇줄이 전부기에 작업자체는 심플합니다.
그렇다면 해당 작업을 진행하기전에
Oracle이 ASM이 사용하는 Disk와 사용하지 않는 Disk를 어떻게 구분하고
액세스하는지 알아보도록 하겠습니다.
How A Disk is Discovered?
Oracle ASM instance가 초기화되면 Oracle은 ASM_DISKSTRING parameter에 값으로 지정한 경로에 있는 모든 Disk의 내용을 검색합니다.
Disk를 성공적으로 검색하면 v$asm_disk 뷰에 해당 내용이 보여집니다.
📌HEADER_STATUS 컬럼
- MEMBER: Diskgroup에 속해있는 Disk
- CANDIDATE or PROVISIONED: 검색되었지만 아직 Diskgroup에 속하지 않은 Disk
- FORMER: 이전에 Diskgroup에 속해있었지만 삭제된 Disk
- 이외에도 UNKNOWN / INCOMPATIBLE / CONFLICT / FOREIGN 등이 있을 수 있음
>> ASM Diskgroup에 Add할 수 있는 상태는? CANDIDATE, PROVISIONED, FORMER
즉, Disk Discovery 과정은 아래와 같습니다.
1. ASM_DISKSTRING에 따라 Disk 검색
2. Disk header 검사
-- disk의 ownership, permission 확인.
3. Diskgroup mount