본문 바로가기
Oracle/Oracle Migration

Oracle 12cR2 RAC ASM Rebalance Migration

by 의미와의미 2018. 3. 20.
반응형

 

 

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

 

 

 

반응형

댓글