Oracle 12cR2 2node RAC
ASM rebalance Migration
운영 서버에 현재 사용중인 디스크를 신규디스크로 교체하는 물리적 작업
기존에 디스크에 담겨있는 운영 데이터를 신규 디스크로 이관하는 마이그레이션 작업(ASM)
업무절차
1. 현재 운영중인 물리적 서버의 디스크에 신규 디스크를 추가
2. 사용중인 기존 물리적 디스크와 신규 디스크를 ASM Reblance 작업을 진행
3. Reblance 확인후 신규 디스크를 제외한 기존에 사용중인 디스크를 물리적으로 제거합니다.
#참고문서
https://docs.oracle.com/database/121/SQLRF/statements_1009.htm#SQLRF01113
#프로세스 확인
$ ps -ef | grep pmon
$ ORACLE_SID=+ASM
$ echo $ORACLE_SID
######################################################
#현재 ASM 디스크 그룹 확인
######################################################
spool diskgroup.txt
set line 200
set pages 100
col disk_group_name for a40
col disk_file_path for a40
SELECT GROUP_NUMBER, NVL(a.name, '[CANDIDATE]') disk_group_name , b.path disk_file_path , b.name disk_file_name, b.failgroup disk_file_fail_group
FROM v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number)
ORDER BY a.name;
spool off
* 기존 ASM디스크 그룹 관련, 신규로 추가 디스크도 동일한 크기로 할당
생략
######################################################
#신규 디스크 추가 후 기존과 동일한 사이즈 디스크 할당 #
######################################################
#OS 작업 #
######################################################
#새로 추가된 디스크 경로 확인 #
######################################################
######################################################
#현재 CRS 조회
######################################################
# crsctl query css votedisk
# ocrcheck
######################################################
#현재 ASM DATA 조회
######################################################
spool before_diskgroup.txt
set line 200
set pages 100
col disk_group_name for a40
col disk_file_path for a40
SELECT GROUP_NUMBER, NVL(a.name, '[CANDIDATE]') disk_group_name , b.path disk_file_path , b.name disk_file_name, b.failgroup disk_file_fail_group
FROM v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number)
ORDER BY a.name;
spool off
######################################################
#사용 중이지 않은 disk 조회
######################################################
spool dediskgroup.txt
select group_number, mount_status, path,total_mb from v$asm_disk where mount_status='CLOSED';
spool off
############################
#ASM 리밸런스 작업 실시 #
############################
$ ps -ef | grep pmon
$ ORACLE_SID=+ASM
$ echo $ORACLE_SID
sqlplus / as sysasm ( ASM 에 접속할 때는 sysasm 권한으로 접속한다)
#신규 디스크 그룹을 생성하며 이전에 있던 디스크 그룹을 DROP
ALTER DISKGROUP OCR ADD DISK '/신규경로','/신규경로','/신규경로' DROP DISK DISK_FILE_NAME','DISK_FILE_NAME','DISK_FILE_NAME' rebalance power 11
ALTER DISKGROUP S_DATA ADD DISK '/신규경로' DROP DISK 'DISK_FILE_NAME','DISK_FILE_NAME','DISK_FILE_NAME' rebalance power 11
ALTER DISKGROUP U_DATA01 ADD DISK '/신규경로' DROP DISK 'DISK_FILE_NAME','DISK_FILE_NAME','DISK_FILE_NAME' rebalance power 11
ALTER DISKGROUP U_DATA02 ADD DISK '/신규경로' DROP DISK 'DISK_FILE_NAME','DISK_FILE_NAME','DISK_FILE_NAME' rebalance power 11
ALTER DISKGROUP FRA ADD DISK '/신규경로' DROP DISK 'DISK_FILE_NAME','DISK_FILE_NAME','DISK_FILE_NAME' rebalance power 11
ALTER DISKGROUP OCR1 ADD DISK '/dev/oracleasm/disks/DISK1' DROP DISK 'OCR1_0000' rebalance power 11
ALTER DISKGROUP OCR1 ADD DISK '/dev/oracleasm/disks/DISK2' DROP DISK 'DISK1' rebalance power 11
ALTER DISKGROUP DATA ADD DISK '/dev/oracleasm/disks/DISK1','/dev/oracleasm/disks/DISK4' DROP DISK 'DATA_0000' rebalance power 11
ALTER DISKGROUP DATA ADD DISK '/dev/oracleasm/disks/DISK4' DROP DISK 'DISK1' rebalance power 11
############################
#ASM 리밸런스 작업 조회 #
############################
SQL> SELECT group_number, operation, state, power, est_minutes FROM v$asm_operation;
######################################################
#현재 ASM DATA 조회
######################################################
spool after_diskgroup.txt
set line 200
set pages 100
col disk_group_name for a40
col disk_file_path for a40
SELECT GROUP_NUMBER, NVL(a.name, '[CANDIDATE]') disk_group_name , b.path disk_file_path , b.name disk_file_name, b.failgroup disk_file_fail_group
FROM v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number)
ORDER BY a.name;
spool off
댓글