rac更换存储
动手前要备份的请务必备份。不然后果自负。HEHE
环境:在老存储上面有三个ASM组,+VDISK,+DBDATA,+FRA 分别存放 votedisk,ocr dbfile flash_recovery_area 有9个LUN
oracle 11.2.0.3
步聚:
1.更换votedisk
2.挂载新的存储区到各节点(滚动升级 挂载分区的时候有可能操作系统重启)
3.分区和条带化,新建+NVDISK
4.转移votedisk 和ocr 到+NVDISK
6.处理(+DBDATA)将新存储分区的LUN加到ASM组中 rebalance 删除老存储的分区
7 .处理(+FRA)将新存储分区的LUN加到ASM组中 rebalance 删除老存储的分区
8.将ASM实例的配置文件转移到新+NVDISK中
[grid@rac1 ~]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 8bbeca1710004f5ebf55bc7a1b495555 (/dev/oracleasm/disks/VDISK1) [VDISK]
2. ONLINE a42ac7c1d4604f08bfacac6c5413cffe (/dev/oracleasm/disks/VDISK2) [VDISK]
3. ONLINE 8e704e7bec5a4fa2bf106ed094f34a46 (/dev/oracleasm/disks/VDISK3) [VDISK]
Located 3 voting disk(s).
[root@rac1 grid]# crsctl replace votedisk +nvdisk
Successful addition of voting disk 287d35bbbb6e4f7cbf82c46c245e7237.
Successful addition of voting disk 5c649c986f554f31bf62a8718668a29c.
Successful addition of voting disk 3e3fda5c31414f74bf4aa2d27ca73692.
Successful deletion of voting disk 8bbeca1710004f5ebf55bc7a1b495555.
Successful deletion of voting disk a42ac7c1d4604f08bfacac6c5413cffe.
Successful deletion of voting disk 8e704e7bec5a4fa2bf106ed094f34a46.
Successfully replaced voting disk group with +nvdisk.
[root@rac1 bin]# crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 287d35bbbb6e4f7cbf82c46c245e7237 (/dev/oracleasm/disks/NVDISK1) [NVDISK]
2. ONLINE 5c649c986f554f31bf62a8718668a29c (/dev/oracleasm/disks/NVDISK2) [NVDISK]
3. ONLINE 3e3fda5c31414f74bf4aa2d27ca73692 (/dev/oracleasm/disks/NVDISK3) [NVDISK]
Located 3 voting disk(s)
[grid@rac1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2944
Available space (kbytes) : 259176
ID : 1788602175
Device/File Name : +vdisk
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
[root@rac1 bin]# ocrconfig -add +nvdisk
[root@rac1 bin]# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2972
Available space (kbytes) : 259148
ID : 1788602175
Device/File Name : +vdisk
Device/File integrity check succeeded
Device/File Name : +nvdisk
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check succeeded
[root@rac1 bin]# ocrconfig -delete +vdisk
[root@rac1 bin]# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2972
Available space (kbytes) : 259148
ID : 1788602175
Device/File Name : +nvdisk
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
grid@rac1 ~]$ ll /dev/oracleasm/disks/*
brw-rw---- 1 grid asmadmin 8, 37 Nov 24 05:45 /dev/oracleasm/disks/DBFILE1
brw-rw---- 1 grid asmadmin 8, 38 Nov 24 05:45 /dev/oracleasm/disks/DBFILE2
brw-rw---- 1 grid asmadmin 8, 39 Nov 24 05:45 /dev/oracleasm/disks/FRA1
brw-rw---- 1 grid asmadmin 8, 40 Nov 24 05:45 /dev/oracleasm/disks/FRA2
brw-rw---- 1 grid asmadmin 8, 21 Nov 24 05:21 /dev/oracleasm/disks/NDBFILE1
brw-rw---- 1 grid asmadmin 8, 22 Nov 24 05:21 /dev/oracleasm/disks/NDBFILE2
brw-rw---- 1 grid asmadmin 8, 23 Nov 24 05:21 /dev/oracleasm/disks/NFRA1
brw-rw---- 1 grid asmadmin 8, 24 Nov 24 05:21 /dev/oracleasm/disks/NFRA2
brw-rw---- 1 grid asmadmin 8, 17 Nov 24 05:45 /dev/oracleasm/disks/NVDISK1
brw-rw---- 1 grid asmadmin 8, 18 Nov 24 05:45 /dev/oracleasm/disks/NVDISK2
brw-rw---- 1 grid asmadmin 8, 19 Nov 24 05:45 /dev/oracleasm/disks/NVDISK3
brw-rw---- 1 grid asmadmin 8, 33 Nov 24 05:45 /dev/oracleasm/disks/VDISK1
brw-rw---- 1 grid asmadmin 8, 34 Nov 24 05:45 /dev/oracleasm/disks/VDISK2
brw-rw---- 1 grid asmadmin 8, 35 Nov 24 05:45 /dev/oracleasm/disks/VDISK3
[root@rac1 bin]#chown grid:asmadmin /dev/sdc*
[root@rac1 bin]#chmod 664 /dev/sdc*
[root@rac2 ~]# ll /dev/sdc*
brw-rw-r-- 1 grid asmadmin 8, 32 Nov 24 05:21 /dev/sdc
brw-rw-r-- 1 grid asmadmin 8, 33 Nov 24 05:21 /dev/sdc1
brw-rw-r-- 1 grid asmadmin 8, 34 Nov 24 05:21 /dev/sdc2
brw-rw-r-- 1 grid asmadmin 8, 35 Nov 24 05:21 /dev/sdc3
brw-rw-r-- 1 grid asmadmin 8, 36 Nov 24 05:49 /dev/sdc4
brw-rw-r-- 1 grid asmadmin 8, 37 Nov 24 05:21 /dev/sdc5
brw-rw-r-- 1 grid asmadmin 8, 38 Nov 24 05:21 /dev/sdc6
brw-rw-r-- 1 grid asmadmin 8, 39 Nov 24 05:21 /dev/sdc7
brw-rw-r-- 1 grid asmadmin 8, 40 Nov 24 05:21 /dev/sdc8
brw-rw-r-- 1 grid asmadmin 8, 41 Nov 24 05:49 /dev/sdc9
[grid@rac2 ~]$ sqlplus / as sysasm
SQL> alter diskgroup dbdata add disk '/dev/oracleasm/disks/NDBFILE1'
Diskgroup altered.
SQL> alter diskgroup dbdata add disk '/dev/oracleasm/disks/NDBFILE1'
Diskgroup altered.
SQL> col name for a10
SQL> set line 200
SQL> select NAME,ALLOCATION_UNIT_SIZE,STATE,TOTAL_MB,FREE_MB USABLE_FILE_MB from gv$asm_diskgroup
NAME ALLOCATION_UNIT_SIZE STATE TOTAL_MB USABLE_FILE_MB
---------- -------------------- --------------------------------- ---------- --------------
DBDATA 1048576 MOUNTED 30516 26093
FRA 1048576 MOUNTED 15258 14182
NVDISK 1048576 MOUNTED 2864 1940
VDISK 1048576 MOUNTED 2864 2034
DBDATA 1048576 MOUNTED 30516 26093
FRA 1048576 MOUNTED 15258 14182
NVDISK 1048576 MOUNTED 2864 1940
VDISK 1048576 MOUNTED 2864 2034
8 rows selected.
SQL> alter diskgroup dbdata rebalance power 8;
Diskgroup altered.
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
------------ --------------- ------------ ---------- ---------- ---------- ---------- ---------- -----------
ERROR_CODE
------------------------------------------------------------------------------------------------------------------------------------
1 REBAL RUN 8 8 654 2302 225 7
SQL> select * from v$asm_operation;
no rows selected
1* select failgroup, name, path from v$asm_disk where group_number=(select group_number from v$asm_diskgroup where name ='DBDATA')
SQL> /
FAILGROUP NAME PATH
---------- ---------- ------------------------------
DBDATA_0001 DBDATA_0001 /dev/oracleasm/disks/DBFILE2
DBDATA_0000 DBDATA_0000 /dev/oracleasm/disks/DBFILE1
DBDATA_0003 DBDATA_0003 /dev/oracleasm/disks/NDBFILE2
DBDATA_0002 DBDATA_0002 /dev/oracleasm/disks/NDBFILE1
---------- ---------- ----------
select group_number,disk_number,name,failgroup,create_date,path from v$asm_disk;
GROUP_NUMBER DISK_NUMBER NAME FAILGROUP CREATE_DATE PATH
------------ ----------- ---------- ------------------------------ ------------------- ----------------------------------------
0 7 /dev/oracleasm/disks/NFRA2
0 8 /dev/oracleasm/disks/NFRA1
2 1 FRA_0001 FRA_0001 2014/11/23 13:16:37 /dev/oracleasm/disks/FRA2
2 0 FRA_0000 FRA_0000 2014/11/23 13:16:37 /dev/oracleasm/disks/FRA1
1 1 DBDATA_000 DBDATA_0001 2014/11/23 13:15:36 /dev/oracleasm/disks/DBFILE2
1
1 0 DBDATA_000 DBDATA_0000 2014/11/23 13:15:36 /dev/oracleasm/disks/DBFILE1
0
4 2 VDISK_0002 VDISK_0002 2014/11/23 11:34:01 /dev/oracleasm/disks/VDISK3
GROUP_NUMBER DISK_NUMBER NAME FAILGROUP CREATE_DATE PATH
------------ ----------- ---------- ------------------------------ ------------------- ----------------------------------------
4 1 VDISK_0001 VDISK_0001 2014/11/23 11:34:01 /dev/oracleasm/disks/VDISK2
4 0 VDISK_0000 VDISK_0000 2014/11/23 11:34:01 /dev/oracleasm/disks/VDISK1
1 3 DBDATA_000 DBDATA_0003 2014/11/24 05:56:30 /dev/oracleasm/disks/NDBFILE2
3
1 2 DBDATA_000 DBDATA_0002 2014/11/24 05:55:49 /dev/oracleasm/disks/NDBFILE1
2
3 2 NVDISK_000 NVDISK_0002 2014/11/24 03:07:11 /dev/oracleasm/disks/NVDISK3
2
GROUP_NUMBER DISK_NUMBER NAME FAILGROUP CREATE_DATE PATH
------------ ----------- ---------- ------------------------------ ------------------- ----------------------------------------
3 1 NVDISK_000 NVDISK_0001 2014/11/24 03:07:11 /dev/oracleasm/disks/NVDISK2
1
3 0 NVDISK_000 NVDISK_0000 2014/11/24 03:07:11 /dev/oracleasm/disks/NVDISK1
0
14 rows selected.
SQL> alter diskgroup dbdata drop disk DBDATA_0001
Diskgroup altered
SQL> alter diskgroup dbdata drop disk DBDATA_0001
Diskgroup altered
SQL> alter diskgroup dbdata rebalance power 10
Diskgroup altered
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
------------ --------------- ------------ ---------- ---------- ---------- ---------- ---------- -----------
ERROR_CODE
------------------------------------------------------------------------------------------------------------------------------------
1 REBAL RUN 1 1 320 3192 360 7
SQL> alter diskgroup dbdata undrop disks
Diskgroup altered.
SQL>select failgroup, name, path from v$asm_disk where group_number=(select group_number from v$asm_diskgroup where name ='FRA')
FAILGROUP NAME PATH
------------------------------ ---------- ----------------------------------------
FRA_0001 FRA_0001 /dev/oracleasm/disks/FRA2
FRA_0000 FRA_0000 /dev/oracleasm/disks/FRA1
SQL> alter diskgroup fra add disk '/dev/oracleasm/disks/NFRA1';
Diskgroup altered.
SQL> alter diskgroup fra add disk '/dev/oracleasm/disks/NFRA2';
Diskgroup altered.
SQL> alter diskgroup FRA rebalance power 10;
Diskgroup altered.
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
------------ --------------- ------------ ---------- ---------- ---------- ---------- ---------- -----------
ERROR_CODE
------------------------------------------------------------------------------------------------------------------------------------
2 REBAL RUN 10 10 376 385 196 0
SQL> /
no rows selected
SQL> alter diskgroup fra drop disk fra_0000
Diskgroup altered.
SQL> alter diskgroup fra drop disk fra_0001
Diskgroup altered.
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
------------ --------------- ------- ---------- ---------- ---------- ---------- ---------- -----------
ERROR_CODE
------------------------------------------------------------------------------------------------------------------------------------
2 REBAL RUN 1 1 7 954 0 0
SQL> alter diskgroup fra rebalance power 10;
Diskgroup altered.
SQL> select * from v$asm_operation;
no rows selected
最后还要迁移ASM实列的参数文件。
/u01/app/11.2.0/grid/bin/gpnptool.bin get -o-
<?xml version="1.0" encoding="UTF-8"?>aAJDfIK5wZSEW6b0NnRKBMYZAkY=BsmIA0dmXuoQRmNoxOSaPCfhKT2B1O69qxO3INzLHni4xqTj3HCKtF4jsG6neQ4Wovyj3Eqhic7RTNuqXTRjFBXYM1RRZH27GrFg9pPhelt66AuBeWMMESRTd5bgdAmHpulFOISW7em/9JfygyGRjmAISV53LwScKuaeNSEYzY0=
Success.
SQL> create pfile='/tmp/pfile.asm' from spfile;
File created.
SQL> create spfile='+NVDISK' from pfile='/tmp/pfile.asm';
File created.
/u01/app/11.2.0/grid/bin/gpnptool.bin get -o-
<?xml version="1.0" encoding="UTF-8"?>MYZiK4O5JwoWisp6a/9msQb4dA4=fzLhQRCk6H/7PZ9UqS7P+gX5QkZcXL6bQa4l0bFGjKrhzTBXmSY5D7+bK0v5YTCDzUORYtPponHRWi2UGUl6M6+NBBzG8zLQilpXj9PQp50TCCz6npmJSFbHRiyIETc9lg76YUx+jZupWwweWpwdy3d0Trt0fEPvl4tNisDNFAY=
Success.
这里证明create asm spfile会自动修改spfile在gpnptool对应的profile里面的配置,无需人工干预
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ---------- ------------------------------
spfile string +VDISK/rac-cluster/asmparamete
rfile/registry.253.864387277
最后删除最的磁盘组!
srvctl remove diskgroup -g vdisk
为了验证实验的成功性,我停掉旧的存储。生新启动所有节点
srvctl stop database -d hndb
crsctl stop cluster -all
reboot
[grid@rac1 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DBDATA.dg ora....up.type ONLINE ONLINE rac1
ora.FRA.dg ora....up.type ONLINE ONLINE rac1
ora....ER.lsnr ora....er.type ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type ONLINE ONLINE rac1
ora....N2.lsnr ora....er.type ONLINE ONLINE rac2
ora....N3.lsnr ora....er.type ONLINE ONLINE rac2
ora.NVDISK.dg ora....up.type ONLINE ONLINE rac1
ora.asm ora.asm.type ONLINE ONLINE rac1
ora.cvu ora.cvu.type ONLINE ONLINE rac2
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora.hndb.db ora....se.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type ONLINE ONLINE rac2
ora.ons ora.ons.type ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application OFFLINE OFFLINE
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application OFFLINE OFFLINE
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip ora....t1.type ONLINE ONLINE rac2
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
ora.scan2.vip ora....ip.type ONLINE ONLINE rac2
ora.scan3.vip ora....ip.type ONLINE ONLINE rac2
[oracle@rac1 ~]$ srvctl start database -d hndb
[oracle@rac1 ~]$ ps -ef |grep ora_
oracle 4789 1 0 10:07 ? 00:00:00 ora_pmon_hndb1
oracle 4791 1 0 10:07 ? 00:00:00 ora_psp0_hndb1
oracle 4793 1 1 10:07 ? 00:00:02 ora_vktm_hndb1
oracle 4797 1 0 10:07 ? 00:00:00 ora_gen0_hndb1
oracle 4799 1 0 10:07 ? 00:00:00 ora_diag_hndb1
oracle 4801 1 0 10:07 ? 00:00:00 ora_dbrm_hndb1
oracle 4803 1 0 10:07 ? 00:00:00 ora_ping_hndb1
oracle 4805 1 0 10:07 ? 00:00:00 ora_acms_hndb1
oracle 4807 1 0 10:07 ? 00:00:01 ora_dia0_hndb1
oracle 4809 1 0 10:07 ? 00:00:00 ora_lmon_hndb1
oracle 4811 1 1 10:07 ? 00:00:03 ora_lmd0_hndb1
oracle 4813 1 2 10:07 ? 00:00:03 ora_lms0_hndb1
oracle 4817 1 0 10:07 ? 00:00:00 ora_rms0_hndb1
oracle 4819 1 0 10:07 ? 00:00:00 ora_lmhb_hndb1
oracle 4821 1 0 10:07 ? 00:00:00 ora_mman_hndb1
oracle 4823 1 0 10:07 ? 00:00:00 ora_dbw0_hndb1
oracle 4825 1 0 10:07 ? 00:00:00 ora_lgwr_hndb1
oracle 4827 1 0 10:07 ? 00:00:00 ora_ckpt_hndb1
oracle 4829 1 0 10:07 ? 00:00:00 ora_smon_hndb1
oracle 4831 1 0 10:07 ? 00:00:00 ora_reco_hndb1
oracle 4833 1 0 10:07 ? 00:00:00 ora_rbal_hndb1
oracle 4835 1 0 10:07 ? 00:00:00 ora_asmb_hndb1
oracle 4837 1 0 10:07 ? 00:00:01 ora_mmon_hndb1
oracle 4839 1 0 10:07 ? 00:00:00 ora_mmnl_hndb1
oracle 4841 1 0 10:07 ? 00:00:00 ora_d000_hndb1
oracle 4845 1 0 10:07 ? 00:00:00 ora_s000_hndb1
oracle 4847 1 0 10:07 ? 00:00:00 ora_mark_hndb1
oracle 4849 1 0 10:07 ? 00:00:00 ora_ocf0_hndb1
oracle 4857 1 0 10:07 ? 00:00:01 ora_lck0_hndb1
oracle 4860 1 0 10:07 ? 00:00:00 ora_rsmn_hndb1
oracle 4935 1 0 10:07 ? 00:00:00 ora_o000_hndb1
oracle 4940 1 0 10:07 ? 00:00:00 ora_o001_hndb1
oracle 4944 1 0 10:07 ? 00:00:00 ora_arc0_hndb1
oracle 4946 1 0 10:07 ? 00:00:00 ora_arc1_hndb1
oracle 4948 1 0 10:07 ? 00:00:00 ora_arc2_hndb1
oracle 4950 1 0 10:07 ? 00:00:00 ora_arc3_hndb1
oracle 4958 1 0 10:08 ? 00:00:00 ora_gcr0_hndb1
oracle 4967 1 0 10:08 ? 00:00:00 ora_gtx0_hndb1
oracle 4969 1 0 10:08 ? 00:00:00 ora_rcbg_hndb1
oracle 4971 1 0 10:08 ? 00:00:00 ora_pz99_hndb1
oracle 4973 1 0 10:08 ? 00:00:00 ora_qmnc_hndb1
oracle 4976 1 0 10:08 ? 00:00:00 ora_q000_hndb1
oracle 4978 1 0 10:09 ? 00:00:00 ora_q001_hndb1
oracle 5024 1 2 10:10 ? 00:00:00 ora_cjq0_hndb1
oracle 5028 1 3 10:10 ? 00:00:00 ora_j000_hndb1
oracle 5030 1 1 10:10 ? 00:00:00 ora_j001_hndb1
oracle 5034 1 2 10:10 ? 00:00:00 ora_j002_hndb1
oracle 5036 1 0 10:10 ? 00:00:00 ora_j003_hndb1
oracle 5038 4649 0 10:10 pts/0 00:00:00 grep ora_
sqlplus / as sysdba
col member for a60
set line 150
select * from v$logfile;
SQL> /
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- -------------------------------------------------- ---
2 ONLINE +DBDATA/hndb/onlinelog/group_2.271.864399955 NO
2 ONLINE +FRA/hndb/onlinelog/group_2.261.864399969 YES
1 ONLINE +DBDATA/hndb/onlinelog/group_1.270.864399925 NO
1 ONLINE +FRA/hndb/onlinelog/group_1.260.864399939 YES
3 ONLINE +DBDATA/hndb/onlinelog/group_3.275.864401125 NO
3 ONLINE +FRA/hndb/onlinelog/group_3.262.864401141 YES
4 ONLINE +DBDATA/hndb/onlinelog/group_4.276.864401157 NO
4 ONLINE +FRA/hndb/onlinelog/group_4.263.864401171 YES
8 rows selected.
动手前要备份的请务必备份。不然后果自负。HEHE
环境:在老存储上面有三个ASM组,+VDISK,+DBDATA,+FRA 分别存放 votedisk,ocr dbfile flash_recovery_area 有9个LUN
oracle 11.2.0.3
步聚:
1.更换votedisk
2.挂载新的存储区到各节点(滚动升级 挂载分区的时候有可能操作系统重启)
3.分区和条带化,新建+NVDISK
4.转移votedisk 和ocr 到+NVDISK
6.处理(+DBDATA)将新存储分区的LUN加到ASM组中 rebalance 删除老存储的分区
7 .处理(+FRA)将新存储分区的LUN加到ASM组中 rebalance 删除老存储的分区
8.将ASM实例的配置文件转移到新+NVDISK中
[grid@rac1 ~]$ crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 8bbeca1710004f5ebf55bc7a1b495555 (/dev/oracleasm/disks/VDISK1) [VDISK]
2. ONLINE a42ac7c1d4604f08bfacac6c5413cffe (/dev/oracleasm/disks/VDISK2) [VDISK]
3. ONLINE 8e704e7bec5a4fa2bf106ed094f34a46 (/dev/oracleasm/disks/VDISK3) [VDISK]
Located 3 voting disk(s).
[root@rac1 grid]# crsctl replace votedisk +nvdisk
Successful addition of voting disk 287d35bbbb6e4f7cbf82c46c245e7237.
Successful addition of voting disk 5c649c986f554f31bf62a8718668a29c.
Successful addition of voting disk 3e3fda5c31414f74bf4aa2d27ca73692.
Successful deletion of voting disk 8bbeca1710004f5ebf55bc7a1b495555.
Successful deletion of voting disk a42ac7c1d4604f08bfacac6c5413cffe.
Successful deletion of voting disk 8e704e7bec5a4fa2bf106ed094f34a46.
Successfully replaced voting disk group with +nvdisk.
[root@rac1 bin]# crsctl query css votedisk
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 287d35bbbb6e4f7cbf82c46c245e7237 (/dev/oracleasm/disks/NVDISK1) [NVDISK]
2. ONLINE 5c649c986f554f31bf62a8718668a29c (/dev/oracleasm/disks/NVDISK2) [NVDISK]
3. ONLINE 3e3fda5c31414f74bf4aa2d27ca73692 (/dev/oracleasm/disks/NVDISK3) [NVDISK]
Located 3 voting disk(s)
[grid@rac1 ~]$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2944
Available space (kbytes) : 259176
ID : 1788602175
Device/File Name : +vdisk
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check bypassed due to non-privileged user
[root@rac1 bin]# ocrconfig -add +nvdisk
[root@rac1 bin]# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2972
Available space (kbytes) : 259148
ID : 1788602175
Device/File Name : +vdisk
Device/File integrity check succeeded
Device/File Name : +nvdisk
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
Logical corruption check succeeded
[root@rac1 bin]# ocrconfig -delete +vdisk
[root@rac1 bin]# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2972
Available space (kbytes) : 259148
ID : 1788602175
Device/File Name : +nvdisk
Device/File integrity check succeeded
Device/File not configured
Device/File not configured
Device/File not configured
Device/File not configured
Cluster registry integrity check succeeded
grid@rac1 ~]$ ll /dev/oracleasm/disks/*
brw-rw---- 1 grid asmadmin 8, 37 Nov 24 05:45 /dev/oracleasm/disks/DBFILE1
brw-rw---- 1 grid asmadmin 8, 38 Nov 24 05:45 /dev/oracleasm/disks/DBFILE2
brw-rw---- 1 grid asmadmin 8, 39 Nov 24 05:45 /dev/oracleasm/disks/FRA1
brw-rw---- 1 grid asmadmin 8, 40 Nov 24 05:45 /dev/oracleasm/disks/FRA2
brw-rw---- 1 grid asmadmin 8, 21 Nov 24 05:21 /dev/oracleasm/disks/NDBFILE1
brw-rw---- 1 grid asmadmin 8, 22 Nov 24 05:21 /dev/oracleasm/disks/NDBFILE2
brw-rw---- 1 grid asmadmin 8, 23 Nov 24 05:21 /dev/oracleasm/disks/NFRA1
brw-rw---- 1 grid asmadmin 8, 24 Nov 24 05:21 /dev/oracleasm/disks/NFRA2
brw-rw---- 1 grid asmadmin 8, 17 Nov 24 05:45 /dev/oracleasm/disks/NVDISK1
brw-rw---- 1 grid asmadmin 8, 18 Nov 24 05:45 /dev/oracleasm/disks/NVDISK2
brw-rw---- 1 grid asmadmin 8, 19 Nov 24 05:45 /dev/oracleasm/disks/NVDISK3
brw-rw---- 1 grid asmadmin 8, 33 Nov 24 05:45 /dev/oracleasm/disks/VDISK1
brw-rw---- 1 grid asmadmin 8, 34 Nov 24 05:45 /dev/oracleasm/disks/VDISK2
brw-rw---- 1 grid asmadmin 8, 35 Nov 24 05:45 /dev/oracleasm/disks/VDISK3
[root@rac1 bin]#chown grid:asmadmin /dev/sdc*
[root@rac1 bin]#chmod 664 /dev/sdc*
[root@rac2 ~]# ll /dev/sdc*
brw-rw-r-- 1 grid asmadmin 8, 32 Nov 24 05:21 /dev/sdc
brw-rw-r-- 1 grid asmadmin 8, 33 Nov 24 05:21 /dev/sdc1
brw-rw-r-- 1 grid asmadmin 8, 34 Nov 24 05:21 /dev/sdc2
brw-rw-r-- 1 grid asmadmin 8, 35 Nov 24 05:21 /dev/sdc3
brw-rw-r-- 1 grid asmadmin 8, 36 Nov 24 05:49 /dev/sdc4
brw-rw-r-- 1 grid asmadmin 8, 37 Nov 24 05:21 /dev/sdc5
brw-rw-r-- 1 grid asmadmin 8, 38 Nov 24 05:21 /dev/sdc6
brw-rw-r-- 1 grid asmadmin 8, 39 Nov 24 05:21 /dev/sdc7
brw-rw-r-- 1 grid asmadmin 8, 40 Nov 24 05:21 /dev/sdc8
brw-rw-r-- 1 grid asmadmin 8, 41 Nov 24 05:49 /dev/sdc9
[grid@rac2 ~]$ sqlplus / as sysasm
SQL> alter diskgroup dbdata add disk '/dev/oracleasm/disks/NDBFILE1'
Diskgroup altered.
SQL> alter diskgroup dbdata add disk '/dev/oracleasm/disks/NDBFILE1'
Diskgroup altered.
SQL> col name for a10
SQL> set line 200
SQL> select NAME,ALLOCATION_UNIT_SIZE,STATE,TOTAL_MB,FREE_MB USABLE_FILE_MB from gv$asm_diskgroup
NAME ALLOCATION_UNIT_SIZE STATE TOTAL_MB USABLE_FILE_MB
---------- -------------------- --------------------------------- ---------- --------------
DBDATA 1048576 MOUNTED 30516 26093
FRA 1048576 MOUNTED 15258 14182
NVDISK 1048576 MOUNTED 2864 1940
VDISK 1048576 MOUNTED 2864 2034
DBDATA 1048576 MOUNTED 30516 26093
FRA 1048576 MOUNTED 15258 14182
NVDISK 1048576 MOUNTED 2864 1940
VDISK 1048576 MOUNTED 2864 2034
8 rows selected.
SQL> alter diskgroup dbdata rebalance power 8;
Diskgroup altered.
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
------------ --------------- ------------ ---------- ---------- ---------- ---------- ---------- -----------
ERROR_CODE
------------------------------------------------------------------------------------------------------------------------------------
1 REBAL RUN 8 8 654 2302 225 7
SQL> select * from v$asm_operation;
no rows selected
1* select failgroup, name, path from v$asm_disk where group_number=(select group_number from v$asm_diskgroup where name ='DBDATA')
SQL> /
FAILGROUP NAME PATH
---------- ---------- ------------------------------
DBDATA_0001 DBDATA_0001 /dev/oracleasm/disks/DBFILE2
DBDATA_0000 DBDATA_0000 /dev/oracleasm/disks/DBFILE1
DBDATA_0003 DBDATA_0003 /dev/oracleasm/disks/NDBFILE2
DBDATA_0002 DBDATA_0002 /dev/oracleasm/disks/NDBFILE1
---------- ---------- ----------
select group_number,disk_number,name,failgroup,create_date,path from v$asm_disk;
GROUP_NUMBER DISK_NUMBER NAME FAILGROUP CREATE_DATE PATH
------------ ----------- ---------- ------------------------------ ------------------- ----------------------------------------
0 7 /dev/oracleasm/disks/NFRA2
0 8 /dev/oracleasm/disks/NFRA1
2 1 FRA_0001 FRA_0001 2014/11/23 13:16:37 /dev/oracleasm/disks/FRA2
2 0 FRA_0000 FRA_0000 2014/11/23 13:16:37 /dev/oracleasm/disks/FRA1
1 1 DBDATA_000 DBDATA_0001 2014/11/23 13:15:36 /dev/oracleasm/disks/DBFILE2
1
1 0 DBDATA_000 DBDATA_0000 2014/11/23 13:15:36 /dev/oracleasm/disks/DBFILE1
0
4 2 VDISK_0002 VDISK_0002 2014/11/23 11:34:01 /dev/oracleasm/disks/VDISK3
GROUP_NUMBER DISK_NUMBER NAME FAILGROUP CREATE_DATE PATH
------------ ----------- ---------- ------------------------------ ------------------- ----------------------------------------
4 1 VDISK_0001 VDISK_0001 2014/11/23 11:34:01 /dev/oracleasm/disks/VDISK2
4 0 VDISK_0000 VDISK_0000 2014/11/23 11:34:01 /dev/oracleasm/disks/VDISK1
1 3 DBDATA_000 DBDATA_0003 2014/11/24 05:56:30 /dev/oracleasm/disks/NDBFILE2
3
1 2 DBDATA_000 DBDATA_0002 2014/11/24 05:55:49 /dev/oracleasm/disks/NDBFILE1
2
3 2 NVDISK_000 NVDISK_0002 2014/11/24 03:07:11 /dev/oracleasm/disks/NVDISK3
2
GROUP_NUMBER DISK_NUMBER NAME FAILGROUP CREATE_DATE PATH
------------ ----------- ---------- ------------------------------ ------------------- ----------------------------------------
3 1 NVDISK_000 NVDISK_0001 2014/11/24 03:07:11 /dev/oracleasm/disks/NVDISK2
1
3 0 NVDISK_000 NVDISK_0000 2014/11/24 03:07:11 /dev/oracleasm/disks/NVDISK1
0
14 rows selected.
SQL> alter diskgroup dbdata drop disk DBDATA_0001
Diskgroup altered
SQL> alter diskgroup dbdata drop disk DBDATA_0001
Diskgroup altered
SQL> alter diskgroup dbdata rebalance power 10
Diskgroup altered
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
------------ --------------- ------------ ---------- ---------- ---------- ---------- ---------- -----------
ERROR_CODE
------------------------------------------------------------------------------------------------------------------------------------
1 REBAL RUN 1 1 320 3192 360 7
SQL> alter diskgroup dbdata undrop disks
Diskgroup altered.
SQL>select failgroup, name, path from v$asm_disk where group_number=(select group_number from v$asm_diskgroup where name ='FRA')
FAILGROUP NAME PATH
------------------------------ ---------- ----------------------------------------
FRA_0001 FRA_0001 /dev/oracleasm/disks/FRA2
FRA_0000 FRA_0000 /dev/oracleasm/disks/FRA1
SQL> alter diskgroup fra add disk '/dev/oracleasm/disks/NFRA1';
Diskgroup altered.
SQL> alter diskgroup fra add disk '/dev/oracleasm/disks/NFRA2';
Diskgroup altered.
SQL> alter diskgroup FRA rebalance power 10;
Diskgroup altered.
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
------------ --------------- ------------ ---------- ---------- ---------- ---------- ---------- -----------
ERROR_CODE
------------------------------------------------------------------------------------------------------------------------------------
2 REBAL RUN 10 10 376 385 196 0
SQL> /
no rows selected
SQL> alter diskgroup fra drop disk fra_0000
Diskgroup altered.
SQL> alter diskgroup fra drop disk fra_0001
Diskgroup altered.
SQL> select * from v$asm_operation;
GROUP_NUMBER OPERATION STATE POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES
------------ --------------- ------- ---------- ---------- ---------- ---------- ---------- -----------
ERROR_CODE
------------------------------------------------------------------------------------------------------------------------------------
2 REBAL RUN 1 1 7 954 0 0
SQL> alter diskgroup fra rebalance power 10;
Diskgroup altered.
SQL> select * from v$asm_operation;
no rows selected
最后还要迁移ASM实列的参数文件。
/u01/app/11.2.0/grid/bin/gpnptool.bin get -o-
<?xml version="1.0" encoding="UTF-8"?>aAJDfIK5wZSEW6b0NnRKBMYZAkY=BsmIA0dmXuoQRmNoxOSaPCfhKT2B1O69qxO3INzLHni4xqTj3HCKtF4jsG6neQ4Wovyj3Eqhic7RTNuqXTRjFBXYM1RRZH27GrFg9pPhelt66AuBeWMMESRTd5bgdAmHpulFOISW7em/9JfygyGRjmAISV53LwScKuaeNSEYzY0=
Success.
SQL> create pfile='/tmp/pfile.asm' from spfile;
File created.
SQL> create spfile='+NVDISK' from pfile='/tmp/pfile.asm';
File created.
/u01/app/11.2.0/grid/bin/gpnptool.bin get -o-
<?xml version="1.0" encoding="UTF-8"?>MYZiK4O5JwoWisp6a/9msQb4dA4=fzLhQRCk6H/7PZ9UqS7P+gX5QkZcXL6bQa4l0bFGjKrhzTBXmSY5D7+bK0v5YTCDzUORYtPponHRWi2UGUl6M6+NBBzG8zLQilpXj9PQp50TCCz6npmJSFbHRiyIETc9lg76YUx+jZupWwweWpwdy3d0Trt0fEPvl4tNisDNFAY=
Success.
这里证明create asm spfile会自动修改spfile在gpnptool对应的profile里面的配置,无需人工干预
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ---------- ------------------------------
spfile string +VDISK/rac-cluster/asmparamete
rfile/registry.253.864387277
最后删除最的磁盘组!
srvctl remove diskgroup -g vdisk
为了验证实验的成功性,我停掉旧的存储。生新启动所有节点
srvctl stop database -d hndb
crsctl stop cluster -all
reboot
[grid@rac1 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DBDATA.dg ora....up.type ONLINE ONLINE rac1
ora.FRA.dg ora....up.type ONLINE ONLINE rac1
ora....ER.lsnr ora....er.type ONLINE ONLINE rac1
ora....N1.lsnr ora....er.type ONLINE ONLINE rac1
ora....N2.lsnr ora....er.type ONLINE ONLINE rac2
ora....N3.lsnr ora....er.type ONLINE ONLINE rac2
ora.NVDISK.dg ora....up.type ONLINE ONLINE rac1
ora.asm ora.asm.type ONLINE ONLINE rac1
ora.cvu ora.cvu.type ONLINE ONLINE rac2
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora.hndb.db ora....se.type OFFLINE OFFLINE
ora....network ora....rk.type ONLINE ONLINE rac1
ora.oc4j ora.oc4j.type ONLINE ONLINE rac2
ora.ons ora.ons.type ONLINE ONLINE rac1
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application OFFLINE OFFLINE
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip ora....t1.type ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application OFFLINE OFFLINE
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip ora....t1.type ONLINE ONLINE rac2
ora.scan1.vip ora....ip.type ONLINE ONLINE rac1
ora.scan2.vip ora....ip.type ONLINE ONLINE rac2
ora.scan3.vip ora....ip.type ONLINE ONLINE rac2
[oracle@rac1 ~]$ srvctl start database -d hndb
[oracle@rac1 ~]$ ps -ef |grep ora_
oracle 4789 1 0 10:07 ? 00:00:00 ora_pmon_hndb1
oracle 4791 1 0 10:07 ? 00:00:00 ora_psp0_hndb1
oracle 4793 1 1 10:07 ? 00:00:02 ora_vktm_hndb1
oracle 4797 1 0 10:07 ? 00:00:00 ora_gen0_hndb1
oracle 4799 1 0 10:07 ? 00:00:00 ora_diag_hndb1
oracle 4801 1 0 10:07 ? 00:00:00 ora_dbrm_hndb1
oracle 4803 1 0 10:07 ? 00:00:00 ora_ping_hndb1
oracle 4805 1 0 10:07 ? 00:00:00 ora_acms_hndb1
oracle 4807 1 0 10:07 ? 00:00:01 ora_dia0_hndb1
oracle 4809 1 0 10:07 ? 00:00:00 ora_lmon_hndb1
oracle 4811 1 1 10:07 ? 00:00:03 ora_lmd0_hndb1
oracle 4813 1 2 10:07 ? 00:00:03 ora_lms0_hndb1
oracle 4817 1 0 10:07 ? 00:00:00 ora_rms0_hndb1
oracle 4819 1 0 10:07 ? 00:00:00 ora_lmhb_hndb1
oracle 4821 1 0 10:07 ? 00:00:00 ora_mman_hndb1
oracle 4823 1 0 10:07 ? 00:00:00 ora_dbw0_hndb1
oracle 4825 1 0 10:07 ? 00:00:00 ora_lgwr_hndb1
oracle 4827 1 0 10:07 ? 00:00:00 ora_ckpt_hndb1
oracle 4829 1 0 10:07 ? 00:00:00 ora_smon_hndb1
oracle 4831 1 0 10:07 ? 00:00:00 ora_reco_hndb1
oracle 4833 1 0 10:07 ? 00:00:00 ora_rbal_hndb1
oracle 4835 1 0 10:07 ? 00:00:00 ora_asmb_hndb1
oracle 4837 1 0 10:07 ? 00:00:01 ora_mmon_hndb1
oracle 4839 1 0 10:07 ? 00:00:00 ora_mmnl_hndb1
oracle 4841 1 0 10:07 ? 00:00:00 ora_d000_hndb1
oracle 4845 1 0 10:07 ? 00:00:00 ora_s000_hndb1
oracle 4847 1 0 10:07 ? 00:00:00 ora_mark_hndb1
oracle 4849 1 0 10:07 ? 00:00:00 ora_ocf0_hndb1
oracle 4857 1 0 10:07 ? 00:00:01 ora_lck0_hndb1
oracle 4860 1 0 10:07 ? 00:00:00 ora_rsmn_hndb1
oracle 4935 1 0 10:07 ? 00:00:00 ora_o000_hndb1
oracle 4940 1 0 10:07 ? 00:00:00 ora_o001_hndb1
oracle 4944 1 0 10:07 ? 00:00:00 ora_arc0_hndb1
oracle 4946 1 0 10:07 ? 00:00:00 ora_arc1_hndb1
oracle 4948 1 0 10:07 ? 00:00:00 ora_arc2_hndb1
oracle 4950 1 0 10:07 ? 00:00:00 ora_arc3_hndb1
oracle 4958 1 0 10:08 ? 00:00:00 ora_gcr0_hndb1
oracle 4967 1 0 10:08 ? 00:00:00 ora_gtx0_hndb1
oracle 4969 1 0 10:08 ? 00:00:00 ora_rcbg_hndb1
oracle 4971 1 0 10:08 ? 00:00:00 ora_pz99_hndb1
oracle 4973 1 0 10:08 ? 00:00:00 ora_qmnc_hndb1
oracle 4976 1 0 10:08 ? 00:00:00 ora_q000_hndb1
oracle 4978 1 0 10:09 ? 00:00:00 ora_q001_hndb1
oracle 5024 1 2 10:10 ? 00:00:00 ora_cjq0_hndb1
oracle 5028 1 3 10:10 ? 00:00:00 ora_j000_hndb1
oracle 5030 1 1 10:10 ? 00:00:00 ora_j001_hndb1
oracle 5034 1 2 10:10 ? 00:00:00 ora_j002_hndb1
oracle 5036 1 0 10:10 ? 00:00:00 ora_j003_hndb1
oracle 5038 4649 0 10:10 pts/0 00:00:00 grep ora_
sqlplus / as sysdba
col member for a60
set line 150
select * from v$logfile;
SQL> /
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- -------------------------------------------------- ---
2 ONLINE +DBDATA/hndb/onlinelog/group_2.271.864399955 NO
2 ONLINE +FRA/hndb/onlinelog/group_2.261.864399969 YES
1 ONLINE +DBDATA/hndb/onlinelog/group_1.270.864399925 NO
1 ONLINE +FRA/hndb/onlinelog/group_1.260.864399939 YES
3 ONLINE +DBDATA/hndb/onlinelog/group_3.275.864401125 NO
3 ONLINE +FRA/hndb/onlinelog/group_3.262.864401141 YES
4 ONLINE +DBDATA/hndb/onlinelog/group_4.276.864401157 NO
4 ONLINE +FRA/hndb/onlinelog/group_4.263.864401171 YES
8 rows selected.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29901741/viewspace-1345019/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29901741/viewspace-1345019/