- 检查操作系统和数据库2) 原LUN数据备份
- 确认主机识别到VSP存储的LUN和多路径确保正常4) 检查数据库两个节点LUN和LUNID
- 设备赋权(在rac的每个节点均操作)chown -R grid:asmadmin /dev/rhdisk*chmod 660 /dev/rhdisk*6) 检查存储软链接
- 停应用
- 替换数据库集群votingdisk、OCR、data硬盘(需停集群和数据库)调整asm disk_string参数alter system set asm_diskstring='/dev/rhdisk*' scope=spfile sid='*';
ALTER DISKGROUP fra ADDFAILGROUP fg_gx DISK '/dev/rhdiskpower164', '/dev/rhdiskpower165', '/dev/rhdiskpower166', '/dev/rhdiskpower167', '/dev/rhdiskpower168', '/dev/rhdiskpower169', '/dev/rhdiskpower170',FAILGROUP fg_sn DISK '/dev/rhdiskpower217', '/dev/rhdiskpower218', '/dev/rhdiskpower219', '/dev/rhdiskpower220', '/dev/rhdiskpower221', '/dev/rhdiskpower222', '/dev/rhdiskpower223',rebalance power 11;
创建diskgroupcreate DISKGROUP datas NORMAL REDUNDANCYFAILGROUP fg_gx DISK '/dev/rhdiskpower175','/dev/rhdiskpower176','/dev/rhdiskpower177','/dev/rhdiskpower178','/dev/rhdiskpower179','/dev/rhdiskpower180','/dev/rhdiskpower181','/dev/rhdiskpower182','/dev/rhdiskpower183','/dev/rhdiskpower184','/dev/rhdiskpower185','/dev/rhdiskpower186','/dev/rhdiskpower187','/dev/rhdiskpower188','/dev/rhdiskpower189','/dev/rhdiskpower190'FAILGROUP fg_sn DISK'/dev/rhdiskpower148','/dev/rhdiskpower149','/dev/rhdiskpower150','/dev/rhdiskpower151','/dev/rhdiskpower153','/dev/rhdiskpower156','/dev/rhdiskpower157','/dev/rhdiskpower158','/dev/rhdiskpower159','/dev/rhdiskpower160','/dev/rhdiskpower161','/dev/rhdiskpower162','/dev/rhdiskpower163','/dev/rhdiskpower164','/dev/rhdiskpower165','/dev/rhdiskpower166'ATTRIBUTE 'compatible.rdbms'='11.2.0.4.0','compatible.asm' = '11.2.0.4.0','compatible.advm'='11.2.0.4.0''DISK_REPAIR_TIME'='168H';
创建替换ocrocrcheckmore /var/opt/oracle/ocr.loc
–备份ocrconfig -export ocr.bak
–替换ocr的XP24000硬盘ocrconfig -add +ocrocrconfig -replace +crs -replacement +ocrocrconfig -delete +crs
–检查确认ocrcheck
更换voting disk硬盘crsctl query css votedisk
create pfile='/tmp/asm.pfile' from spfile;crsctl replace votedisk +ocr
create spfile='+ocr' from pfile='/tmp/asm.pfile';
srvctl remove diskgroup -g crs -f
alter diskgroup crs mount;DROP DISKGROUP crs INCLUDING CONTENTS;
–重启集群检查集群crsctl stop crscrsctl start crs
–检查确认crsctl query css votedisk
- 数据迁移生成新的参数文件create pfile='/home/oracle/pfile' from spfile;修改pfilecontrol_files='+datas'db_create_file_dest='+datas'
startup pfile='/home/oracle/pfile' nomount;迁移数据库的控制文件和数据文件到HDS的ASM上rman target / restore controlfile from '+DATA/testdb/controlfile/current.260.941055241';alter database mount;
alter database mount;
run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;allocate channel c4 type disk;allocate channel c5 type disk;allocate channel c6 type disk;allocate channel c7 type disk;allocate channel c8 type disk;allocate channel c9 type disk;allocate channel c10 type disk;allocate channel c11 type disk;allocate channel c12 type disk;backup as copy database format '+datas';release channel c1;release channel c2;release channel c3;release channel c4;release channel c5;release channel c6;release channel c7;release channel c8;release channel c9;release channel c10;release channel c11;release channel c12;}
switch database to copy;
run {set newname for tempfile 1 to '+datas';switch tempfile all;}
数据迁移完成
alter database open;数据库调整
set linesize 200col member for a60SELECT a.group#, b.member, a.status FROM v$log a, v$logfile b WHERE a.group#=b.group#order by 1,2;ALTER DATABASE ADD LOGFILE MEMBER '+datas' TO GROUP 1;ALTER DATABASE ADD LOGFILE MEMBER '+datas' TO GROUP 2;ALTER DATABASE ADD LOGFILE MEMBER '+datas' TO GROUP 3;ALTER DATABASE ADD LOGFILE MEMBER '+datas' TO GROUP 4;ALTER DATABASE ADD LOGFILE MEMBER '+datas' TO GROUP 5;ALTER DATABASE ADD LOGFILE MEMBER '+datas' TO GROUP 6;ALTER DATABASE ADD LOGFILE MEMBER '+datas' TO GROUP 7;ALTER DATABASE ADD LOGFILE MEMBER '+datas' TO GROUP 8;ALTER SYSTEM CHECKPOINT GLOBAL;
ALTER SYSTEM SWITCH LOGFILE;ALTER SYSTEM CHECKPOINT GLOBAL;ALTER DATABASE DROP LOGFILE MEMBER '+data/TESTDB/ONLINELOG/group_1.261.941055243';ALTER DATABASE DROP LOGFILE MEMBER '+data/TESTDB/ONLINELOG/group_2.262.941055245';ALTER DATABASE DROP LOGFILE MEMBER '+data/TESTDB/ONLINELOG/group_3.271.941055473';ALTER DATABASE DROP LOGFILE MEMBER '+data/TESTDB/ONLINELOG/group_4.272.941055475';ALTER DATABASE DROP LOGFILE MEMBER '+data/TESTDB/ONLINELOG/group_5.269.941055469';ALTER DATABASE DROP LOGFILE MEMBER '+data/TESTDB/ONLINELOG/group_6.270.941055471';ALTER DATABASE DROP LOGFILE MEMBER '+data/TESTDB/ONLINELOG/group_7.267.941055465';ALTER DATABASE DROP LOGFILE MEMBER '+data/TESTDB/ONLINELOG/group_8.268.941055467';
ALTER SYSTEM SWITCH LOGFILE;ALTER SYSTEM CHECKPOINT GLOBAL;
SELECT a.group#, b.member, a.status FROM v$log a, v$logfile b WHERE a.group#=b.group#;
alter diskgroup data dismount;
— 在ASM磁盘组中创建服务器参数文件create spfile='+DATAS/TESTDB/spfileTESTDB.ora' from pfile='/home/oracle/pfile';
— 两个节点中更新initresdb1.ora initresdb2.oracp initresdb1.ora initresdb2.ora.origcp initresdb2.ora initresdb2.ora.orig
spfile='+DATAS/TESTDB/spfileTESTDB.ora'
srvctl modify database -d testdb -p +DATAS/TESTDB/spfileTESTDB.orasrvctl config database -d testdbsrvctl modify database -d testdb -a "DATAS,FRA,DG_VOTE"srvctl disable diskgroup -g datasrvctl remove diskgroup -g data –f
检查验证select name from v$datafile union allselect name from v$tempfile union allselect member from v$logfile union allselect name from v$controlfileorder by 1;show parameter pfile数据库重启srvctl start database -d resdb10) 应用启动11) 删除EMC asm diskgroup12) 所有主机删除EMC设备13) HDS链路调整14) 调整硬盘权限chown -R grid:asmadmin /dev/rhdisk*chmod 660 /dev/rhdisk*
srvctl modify database -d testdb -a "DATAS,FRA,DG_VOTE"调整asm_preferred_read_failure_groups