oracle集群管理-存储更替以及实战

实战案例如下:

1 添加disk,删除disk

#################迁移votedisk###################################

[grid@ydrac02 ~]$ crsctl replace votedisk +dgocr
Successful addition of voting disk 82458f4f58e74f20bf5134a13a737493.
Successful addition of voting disk 64652783db334f1dbf9a069af0e0d800.
Successful addition of voting disk 06e92ea0cec54f03bf1100868b84ba2a.
Successful deletion of voting disk 3d0e572d49a04ffebf1b1dcbae5e8546.
Successful deletion of voting disk c9e44161aeac4f41bf0bc4fa47db49f3.
Successful deletion of voting disk 5ba3b86e86784fffbf2d348071eac3b9.
Successfully replaced voting disk group with +dgocr.
CRS-4266: Voting file(s) successfully replaced

[grid@ydrac02 ~]$ crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   82458f4f58e74f20bf5134a13a737493 (/dev/oracleasm/disks/OCR1) [DGOCR]
 2. ONLINE   64652783db334f1dbf9a069af0e0d800 (/dev/oracleasm/disks/OCR2) [DGOCR]
 3. ONLINE   06e92ea0cec54f03bf1100868b84ba2a (/dev/oracleasm/disks/OCR3) [DGOCR]
Located 3 voting disk(s).
[grid@ydrac02 ~]$ 

################迁移ocr文件#######################################
[root@ydrac01 bin]# ./ocrconfig -add +dgocr
[root@ydrac01 bin]# ./ocrconfig -delete +ocr
[root@ydrac01 bin]# cat /etc/oracle/ocr.loc
#Device/file +OCR/ydrac/OCRFILE/registry.255.1020080481 getting replaced by device +DGOCR/ydrac/OCRFILE/registry.255.1028650863 
ocrconfig_loc=+DGOCR/ydrac/OCRFILE/registry.255.1028650863

######################迁移arch#####################################################3

SQL> alter system set log_archive_dest_1='localtion=+DGARCH' scope=spfile sid='*';
srvctl stop database -d monidb
srvctl start database -d monidb

 


SQL> /

PATH                           NAME                                     STATE
------------------------------ ---------------------------------------- --------
/dev/oracleasm/disks/FRA03                                              NORMAL
/dev/oracleasm/disks/FRA02                                              NORMAL
/dev/oracleasm/disks/DATA04    REDO_0000                                NORMAL
/dev/oracleasm/disks/DATA03    DATA02_0001                              NORMAL
/dev/oracleasm/disks/DATA02    DATA02_0000                              NORMAL
/dev/oracleasm/disks/DATA01    DATA01_0000                              NORMAL
/dev/oracleasm/disks/OCR03     OCR_0000                                 NORMAL
/dev/oracleasm/disks/OCR02     OCR_0001                                 NORMAL
/dev/oracleasm/disks/FRA01     MGMT_0000                                NORMAL
/dev/oracleasm/disks/OCR01     OCR_0002                                 NORMAL


PATH                           NAME                                     STATE
------------------------------ ---------------------------------------- --------
/dev/oracleasm/disks/DATA9     DGDATA2_0001                             NORMAL
/dev/oracleasm/disks/DATA8     DGDATA2_0000                             NORMAL
/dev/oracleasm/disks/DATA7     DGDATA1_0001                             NORMAL
/dev/oracleasm/disks/DATA6     DGDATA1_0000                             NORMAL
/dev/oracleasm/disks/ARCH      DGARCH_0000                              NORMAL
/dev/oracleasm/disks/OCR3      DGOCR_0002                               NORMAL
/dev/oracleasm/disks/OCR2      DGOCR_0001                               NORMAL
/dev/oracleasm/disks/OCR1      DGOCR_0000                               NORMAL


18 rows selected.


set lines 120
col name for a10
col path for a50
select a.name,a.state,b.path from v$asm_diskgroup a,v$asm_disk b where a.GROUP_NUMBER=b.group_number;

NAME       STATE       PATH
---------- ----------- --------------------------------------------------
DATA01     MOUNTED     /dev/oracleasm/disks/DATA01
DATA02     MOUNTED     /dev/oracleasm/disks/DATA03
DATA02     MOUNTED     /dev/oracleasm/disks/DATA02
MGMT       MOUNTED     /dev/oracleasm/disks/FRA01
OCR        MOUNTED     /dev/oracleasm/disks/OCR03
OCR        MOUNTED     /dev/oracleasm/disks/OCR02
OCR        MOUNTED     /dev/oracleasm/disks/OCR01
REDO       MOUNTED     /dev/oracleasm/disks/DATA04

NAME       STATE       PATH
---------- ----------- --------------------------------------------------
DGARCH     MOUNTED     /dev/oracleasm/disks/ARCH
DGOCR      MOUNTED     /dev/oracleasm/disks/OCR2
DGOCR      MOUNTED     /dev/oracleasm/disks/OCR3
DGOCR      MOUNTED     /dev/oracleasm/disks/OCR1
DGDATA1    MOUNTED     /dev/oracleasm/disks/DATA7
DGDATA1    MOUNTED     /dev/oracleasm/disks/DATA6
DGDATA2    MOUNTED     /dev/oracleasm/disks/DATA9
DGDATA2    MOUNTED     /dev/oracleasm/disks/DATA8

16 rows selected.

SQL> 

[root@ydrac02 ~]# oracleasm querydisk /dev/sdk2
Device "/dev/sdk2" is marked an ASM disk with the label "DATA01"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdl1 
Device "/dev/sdl1" is marked an ASM disk with the label "DATA02"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdl2
Device "/dev/sdl2" is marked an ASM disk with the label "DATA03"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdl3
Device "/dev/sdl3" is marked an ASM disk with the label "DATA04"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdj1
Device "/dev/sdj1" is marked an ASM disk with the label "OCR03"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdi1
Device "/dev/sdi1" is marked an ASM disk with the label "OCR02"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdh1
Device "/dev/sdh1" is marked an ASM disk with the label "OCR01"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdh2
Device "/dev/sdh2" is marked an ASM disk with the label "FRA01"  redo磁盘组。


[root@ydrac02 ~]# 


[root@ydrac02 ~]# oracleasm querydisk /dev/sdb1
Device "/dev/sdb1" is marked an ASM disk with the label "OCR1"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdb2
Device "/dev/sdb2" is marked an ASM disk with the label "OCR2"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdb3
Device "/dev/sdb3" is marked an ASM disk with the label "OCR3"
[root@ydrac02 ~]# 
[root@ydrac02 ~]# oracleasm querydisk /dev/sdc1
Device "/dev/sdc1" is marked an ASM disk with the label "ARCH"
[root@ydrac01 ~]# oracleasm querydisk /dev/sdf1
Device "/dev/sdf1" is marked an ASM disk with the label "DATA6"
[root@ydrac01 ~]# oracleasm querydisk /dev/sdf2
Device "/dev/sdf2" is marked an ASM disk with the label "DATA7"
[root@ydrac01 ~]# oracleasm querydisk /dev/sdg1
Device "/dev/sdg1" is marked an ASM disk with the label "DATA8"
[root@ydrac01 ~]# oracleasm querydisk /dev/sdg2
Device "/dev/sdg2" is marked an ASM disk with the label "DATA9"


1 ocr和votedisk已经迁移完成。

1 迁移ASM密码文件。
ASMCMD> cp +OCR/ASM/PASSWORD/pwdasm.256.1020080481 +dgocr/ASM/PASSWORD/pwdasm
copying +OCR/ASM/PASSWORD/pwdasm.256.1020080481 -> +dgocr/ASM/PASSWORD/pwdasm
[grid@ydrac01 ~]$ srvctl modify asm -pwfile '+dgocr/ASM/PASSWORD/pwdasm'
[grid@ydrac01 ~]$ srvctl config asm
ASM home: <CRS home>
Password file: +dgocr/ASM/PASSWORD/pwdasm
Backup of Password file: +MGMT/orapwASM_backup
ASM listener: 
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM
[grid@ydrac01 ~]$ 
2 参数文件已经迁移。
3 删除ocr磁盘组。
节点1
SQL> alter diskgroup ocr dismount;

Diskgroup altered.
节点2

SQL> drop diskgroup ocr including contents;   

Diskgroup dropped.

删除ASM磁盘
[root@ydrac02 ~]# oracleasm deletedisk ocr01
Clearing disk header: done
Dropping disk: done
[root@ydrac02 ~]# oracleasm deletedisk ocr02
Clearing disk header: done
Dropping disk: done
[root@ydrac02 ~]# oracleasm deletedisk ocr03
Clearing disk header: done
Dropping disk: done
[root@ydrac02 ~]# 


迁移DATA磁盘组
alter database move datafile 69 to '+dgdata1';
alter database move datafile 70 to '+dgdata1';
alter database move datafile 71 to '+dgdata1';
alter database move datafile 72 to '+dgdata1';
alter database move datafile 73 to '+dgdata1';
alter database move datafile 74 to '+dgdata1';
alter database move datafile 75 to '+dgdata1';
alter database move datafile 76 to '+dgdata1';
alter database move datafile 77 to '+dgdata1';
alter database move datafile 78 to '+dgdata1';
alter database move datafile 79 to '+dgdata1';
alter database move datafile 80 to '+dgdata1';
alter database move datafile 81 to '+dgdata1';
alter database move datafile 82 to '+dgdata1';
alter database move datafile 83 to '+dgdata1';
alter database move datafile 84 to '+dgdata1';
alter database move datafile 85 to '+dgdata1';
alter database move datafile 86 to '+dgdata1';
~
~

srvctl modify database -d monidb -diskgroup 'dgdata1,data01,redo'
alter system set control_files='+dgdata1/monidb/CONTROLFILE/controlfile01.ctl','+dgdata1/monidb/CONTROLFILE/controlfile02.ctl';


####################################################################################################现在阶段。

[root@ydrac01 ~]# upadmin 

UltraPath CLI #0 >show vlun
[array_id=?]                  [disk=?]                      [id=?]                        [type=?]                      
Command is executable now.

[root@ydrac02 ~]# oracleasm querydisk /dev/sdb1
Device "/dev/sdb1" is marked an ASM disk with the label "OCR1"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdb2
Device "/dev/sdb2" is marked an ASM disk with the label "OCR2"
[root@ydrac02 ~]# oracleasm querydisk /dev/sdb3
Device "/dev/sdb3" is marked an ASM disk with the label "OCR3"
[root@ydrac02 ~]# 
[root@ydrac02 ~]# oracleasm querydisk /dev/sdc1
Device "/dev/sdc1" is marked an ASM disk with the label "ARCH"
[root@ydrac01 ~]# oracleasm querydisk /dev/sdf1
Device "/dev/sdf1" is marked an ASM disk with the label "DATA6"
[root@ydrac01 ~]# oracleasm querydisk /dev/sdf2
Device "/dev/sdf2" is marked an ASM disk with the label "DATA7"
[root@ydrac01 ~]# oracleasm querydisk /dev/sdg1
Device "/dev/sdg1" is marked an ASM disk with the label "DATA8"
[root@ydrac01 ~]# oracleasm querydisk /dev/sdg2
Device "/dev/sdg2" is marked an ASM disk with the label "DATA9"

SQL> col path for a50 
SQL> col name for a30
SQL> /

PATH                                               NAME                           STATE
-------------------------------------------------- ------------------------------ --------
/dev/oracleasm/disks/MGMT01                        MGMT_0001                      NORMAL
/dev/oracleasm/disks/REDO01                        REDO_0001                      NORMAL
/dev/oracleasm/disks/ARCH                          DGARCH_0000                    NORMAL
/dev/oracleasm/disks/DATA9                         DGDATA2_0001                   NORMAL
/dev/oracleasm/disks/DATA8                         DGDATA2_0000                   NORMAL
/dev/oracleasm/disks/DATA7                         DGDATA1_0001                   NORMAL
/dev/oracleasm/disks/DATA6                         DGDATA1_0000                   NORMAL
/dev/oracleasm/disks/OCR3                          DGOCR_0002                     NORMAL
/dev/oracleasm/disks/OCR2                          DGOCR_0001                     NORMAL
/dev/oracleasm/disks/OCR1                          DGOCR_0000                     NORMAL

10 rows selected.

SQL> 

SQL> set lines 120
SQL> col name for a10
SQL> col path for a50
SQL> select a.name,a.state,b.path from v$asm_diskgroup a,v$asm_disk b where a.GROUP_NUMBER=b.group_number;

NAME       STATE       PATH
---------- ----------- --------------------------------------------------
DGARCH     MOUNTED     /dev/oracleasm/disks/ARCH
MGMT       MOUNTED     /dev/oracleasm/disks/MGMT01
REDO       MOUNTED     /dev/oracleasm/disks/REDO01
DGOCR      MOUNTED     /dev/oracleasm/disks/OCR2
DGOCR      MOUNTED     /dev/oracleasm/disks/OCR1
DGOCR      MOUNTED     /dev/oracleasm/disks/OCR3
DGDATA1    MOUNTED     /dev/oracleasm/disks/DATA7
DGDATA1    MOUNTED     /dev/oracleasm/disks/DATA6
DGDATA2    MOUNTED     /dev/oracleasm/disks/DATA9
DGDATA2    MOUNTED     /dev/oracleasm/disks/DATA8


[root@ydrac01 ~]# oracleasm listdisks
ARCH
DATA6
DATA7
DATA8
DATA9
MGMT01
OCR1
OCR2
OCR3
REDO01
ASMCMD> lsdsk
Path
/dev/oracleasm/disks/ARCH
/dev/oracleasm/disks/DATA6
/dev/oracleasm/disks/DATA7
/dev/oracleasm/disks/DATA8
/dev/oracleasm/disks/DATA9
/dev/oracleasm/disks/MGMT01
/dev/oracleasm/disks/OCR1
/dev/oracleasm/disks/OCR2
/dev/oracleasm/disks/OCR3
/dev/oracleasm/disks/REDO01
ASMCMD> 

目标:Oracle RAC系统更换共享存储,由HUAWEI存储更换为IBM存储。
计划步骤:
1.根据现有的LUN的数量及大小,从IBM新分配LUN;
2.使用Oracle的工具(asmca或OEM),从磁盘组层面替换磁盘;
遇到的问题:
在给磁盘组添加磁盘时,系统报错,不能添加磁盘。于是测试使用新的IBM磁盘创建磁盘组,报错,alert.log中的内容如下:
SQL> CREATE DISKGROUP testgroup EXTERNAL REDUNDANCY  DISK '/dev/mapper/asmdisk_0a' SIZE 307200M  ATTRIBUTE 'compatible.asm'='11.2.0.0.0','au_size'='1M' /* ASMCA */
NOTE: Assigning number (2,0) to disk (/dev/mapper/asmdisk_0a)
NOTE: initializing header on grp 2 disk TESTGROUP_0000
WARNING: detected duplicate paths to the same disk:
  '/dev/mapper/asmdisk_0a' and
  '/dev/dm-2'
More trace information dumped to '/oracle/app/oracle/diag/asm/+asm/+ASM1/trace/+ASM1_ora_60504.trc'
NOTE: erasing header on grp 2 disk TESTGROUP_0000
GMON dismounting group 2 at 40 for pid 37, osid 60504
NOTE: Disk  in mode 0x8 marked for de-assignment
ERROR: diskgroup TESTGROUP was not created
ORA-15018: diskgroup cannot be created
ORA-15020: discovered duplicate ASM disk "TESTGROUP_0000"
ERROR: CREATE DISKGROUP testgroup EXTERNAL REDUNDANCY  DISK '/dev/mapper/asmdisk_0a' SIZE 307200M  ATTRIBUTE 'compatible.asm'='11.2.0.0.0','au_size'='1M' /* ASMCA */
由此可知由于系统检查到 '/dev/mapper/asmdisk_0a' 和  '/dev/dm-2'时相同的磁盘,从而导致不能创建磁盘组。
原因在于ASM数据库的asm_diskstring的值时/dev/*,/dev/mapper/*,所以能搜索到'/dev/mapper/asmdisk_0a' 和  '/dev/dm-2'
处理方法:指定asm_diskstring的值为/dev/mapper/*,使系统只能搜索到/dev/mapper/下的磁盘。
处理步骤:
1.检查原华为磁盘的路径,建立链接连接到/dev/mapper/下。

ASMCMD> lsdsk     
Path
/dev/sdan1
/dev/sdao1
/dev/sdap1
/dev/sdaq1
/dev/sdar1
/dev/sdas1
/dev/sdat1
/dev/sdau1
/dev/sdav1
/dev/sdaw1
/dev/sdax1
/dev/sday1
/dev/sdaz1
/dev/sdba1
/dev/sdbb1
/dev/sdbc1
/dev/sdbd1
/dev/sdbe1
/dev/sdbf1
#建立链接
ln /dev/sdan1 /dev/mapper/huawei_sdan1
ln /dev/sdao1 /dev/mapper/huawei_sdao1
ln /dev/sdap1 /dev/mapper/huawei_sdap1
ln /dev/sdaq1 /dev/mapper/huawei_sdaq1
ln /dev/sdar1 /dev/mapper/huawei_sdar1
ln /dev/sdas1 /dev/mapper/huawei_sdas1
ln /dev/sdat1 /dev/mapper/huawei_sdat1
ln /dev/sdau1 /dev/mapper/huawei_sdau1
ln /dev/sdav1 /dev/mapper/huawei_sdav1
ln /dev/sdaw1 /dev/mapper/huawei_sdaw1
ln /dev/sdax1 /dev/mapper/huawei_sdax1
ln /dev/sday1 /dev/mapper/huawei_sday1
ln /dev/sdaz1 /dev/mapper/huawei_sdaz1
ln /dev/sdba1 /dev/mapper/huawei_sdba1
ln /dev/sdbb1 /dev/mapper/huawei_sdbb1
ln /dev/sdbc1 /dev/mapper/huawei_sdbc1
ln /dev/sdbd1 /dev/mapper/huawei_sdbd1
ln /dev/sdbe1 /dev/mapper/huawei_sdbe1

ln /dev/sdbf1 /dev/mapper/huawei_sdbf12.

修改asm实例的参数asm_diskstring使只搜索/dev/mapper目录。alter system set asm_diskstring="/dev/mapper/*" scope=spfile;
3.重新启动集群,系统自动变更磁盘的路径。

4.使用em或asmca或脚本添加IBM磁盘,移去华为磁盘。
————————————————
版权声明:本文为CSDN博主「wangqingxun」的原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangqingxun/article/details/42098149

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值