asm 관련 작업을 수행할 시 확인하는 뷰입니다. 출처에서 뷰에 대한 설명글입니다. 확인해보면 ASM 에서 수행되는 수행시간이 긴 작업에 대해서 표시해주는 뷰입니다.
In an Oracle Automatic Storage Management (Oracle ASM) instance, V$ASM_OPERATION displays one row for every active Oracle ASM long running operation executing in the Oracle ASM instance.
출처 : https://docs.oracle.com/database/121/REFRN/GUID-A8A506EC-8E91-425B-B73A-1437FA5D61BD.htm#REFRN30173
테스트를 통해 어떤 정보들이 나타나는지 확인해보겠습니다.
DB : 12.2.0.1
작업 내용 : DATA 디스크그룹에 디스크 추가하고 리밸런싱을 수행할 때 해당 뷰의 내용 확인하기
1.현재 ASM 디스크 확인하기
확인결과 HEADER_STATUS상태가 CANDIDATE나 FORMER인 디스크가 7개 존재하는 것을 확인할 수 있고 이 중에서 하나를 테스트로 사용하겠습니다.
SQL> select group_number,disk_number,mount_status,header_status,path,name,failgroup From v$asm_disk
order by group_number,disk_number,path;
GROUP_NUMBER DISK_NUMBER MOUNT_STATUS HEADER_STATUS PATH NAME FAILGROUP
------------------------ ---------------------- ------------------------ -------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------ ------------------------------
0 0 CLOSED CANDIDATE /dev/rhdiskASM10
0 1 CLOSED CANDIDATE /dev/rhdiskASM11
0 2 CLOSED FORMER /dev/rhdiskASM08
0 3 CLOSED FORMER /dev/rhdiskASM07
0 4 CLOSED CANDIDATE /dev/rhdiskASM09
0 5 CLOSED CANDIDATE /dev/rhdiskASM13
0 6 CLOSED CANDIDATE /dev/rhdiskASM12
1 0 CACHED MEMBER /dev/rhdiskASM05 DG_DATA01_0000 DG_DATA01_0000
1 1 CACHED MEMBER /dev/rhdiskASM06 DG_DATA01_0001 DG_DATA01_0001
2 0 CACHED MEMBER /dev/rhdiskASM04 DG_MGMT_0000 DG_MGMT_0000
3 0 CACHED MEMBER /dev/rhdiskCRS02 DG_OCR_0000 DG_OCR_0000
3 1 CACHED MEMBER /dev/rhdiskCRS03 DG_OCR_0001 DG_OCR_0001
3 2 CACHED MEMBER /dev/rhdiskCRS01 DG_OCR_0002 DG_OCR_0002
13 rows selected.
DISKGROUP 확인
DATA그룹의 이름이 DG_DATA01인것을 확인할 수 있습니다.
SQL> select * from v$asm_diskgroup;
GROUP_NUMBER NAME SECTOR_SIZE LOGICAL_SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE TYPE TOTAL_MB FREE_MB HOT_USED_MB COLD_USED_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB OFFLINE_DISKS COMPATIBILITY DATABASE_COMPATIBILITY VOTING_FILES CON_ID
------------------------ ------------------------------ ---------------------- -------------------------------------- -------------------- ---------------------------------------- ----------- -------- ---------------- -------------- ---------------------- ------------------------ ---------------------------------------------- ---------------------------- -------------------------- ------------------------------------------------------------ ------------------------------------------------------------ ------------------------ ------------
2 DG_MGMT 512 512 4096 4194304 MOUNTED EXTERN 51200 16128 0 35072 0 16128 0 12.2.0.1.0 10.1.0.0.0 N 0
3 DG_OCR 512 512 4096 4194304 MOUNTED NORMAL 153600 152732 0 868 51200 50766 0 12.2.0.1.0 10.1.0.0.0 Y 0
1 DG_DATA01 512 512 4096 1048576 CONNECTED EXTERN 102400 59165 0 43235 0 59165 0 12.2.0.1.0 10.1.0.0.0 N 0
3 rows selected.
2.disk 추가
SQL> alter diskgroup DG_DATA01 add disk '/dev/rhdiskASM07' NAME DG_DATA01_9999 rebalance power 5;
Diskgroup altered.
v$asm_operation 확인
이곳에서 확이해야 할 컬럼은 EST_WORK ( 예상되는 총 Allocation Units의 수)과 SOFAR(지금까지 Allocation Units 의 수)입니다. 총 작업 수에서 어디까지 작업했는지 숫자로 확인할 수 있습니다.
SQL> select * from v$asm_operation
2 ;
GROUP_NUMBER OPERATION PASS STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES ERROR_CODE CON_ID
------------ --------- --------- ----- ----- ------ ---------- ---------- ---------- ----------- ---------- ----------
1 REBAL COMPACT WAIT 5 5 0 0 0 0 0
1 REBAL REBALANCE RUN 5 5 2672 14407 7544 1 0
1 REBAL REBUILD DONE 5 5 0 0 0 0 0
작업이 완료되면 로우들을 사라집니다.
SQL> select * from v$asm_operation;
no rows selected
3.drop disk
생성된 disk를 삭제합니다. 삭제할 때는 NAME으로만 구분하여 삭제합니다. PATH는 에러발생
SQL> alter diskgroup DG_DATA01 drop disk NAME DG_DATA01_9999 rebalance power 1024;
Diskgroup altered.
다시 v$asm_operation 확인
리밸런싱을 1024로 부여하여서 ACTUAL에 다 표시가 되지 않는 모습입니다. 이건 보이는 것의 포맷의 문제이지 잘못된건 아닙니다.
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION PASS STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES ERROR_CODE CON_ID
------------ --------- --------- ----- ----- ------ ---------- ---------- ---------- ----------- ---------- ----------
1 REBAL COMPACT WAIT 1024 #### 0 0 0 0 0
1 REBAL REBALANCE RUN 1024 #### 5233 14420 82219 0 0
1 REBAL REBUILD DONE 1024 #### 0 0 0 0 0
그리고 리밸런싱의 과정은 planning -> rebalance -> compact의 과정으로 이루어집니다.
출처 : https://windj.tistory.com/36
이상입니다.
'Oracle > 운영' 카테고리의 다른 글
RESUMABLE_TIMEOUT 파라미터 (0) | 2022.01.05 |
---|---|
TEMP TABLESPACE 사용량 조회 (0) | 2022.01.03 |
SQL_MONITOR 사용법 (0) | 2021.11.20 |
통계정보 복사하기 (partition table) (0) | 2021.11.19 |
BULK INSERT (대량 INSERT 작업) 일반INSERT 작업과 비교 (0) | 2021.11.18 |
댓글