============
Envirionment
============
-------------------------------------
OS: LINUX 5.6
DB: 10.2.0.5 RAC
Storage:ASM
Testing ASM Disk: DS1301
-------------------------------------
Envirionment
============
-------------------------------------
OS: LINUX 5.6
DB: 10.2.0.5 RAC
Storage:ASM
Testing ASM Disk: DS1301
-------------------------------------
=====================================================================
Case 1: ASM WITHOUT ScanOrder config (etc/sysconfig/oracleasm-_dev_oracleasm)
=====================================================================
ROOT:
--------------------------------------------------------------------
1 Confirmed ORACLEASM_SCANORDER is blank
--------------------------------------------------------------------
grep ORACLEASM_SCANORDER /etc/sysconfig/oracleasm
--------------------------------------------------------------------
1 Confirmed ORACLEASM_SCANORDER is blank
--------------------------------------------------------------------
grep ORACLEASM_SCANORDER /etc/sysconfig/oracleasm
---------------------------------------------------------
2 Get ASM disk major and miner number
---------------------------------------------------------
--Check if ASM disk major num is 253, if not,DM scanorder is not configure.
for i in `/etc/init.d/oracleasm listdisks`;do devnum=`/etc/init.d/oracleasm querydisk -d $i` &&echo $devnum;done
Disk "DS1001" is a valid ASM disk on device [8, 97]
Disk "DS1101" is a valid ASM disk on device [8, 113]
Disk "DS1102" is a valid ASM disk on device [253, 66]
Disk "DS1105" is a valid ASM disk on device [253, 59]
Disk "DS1201" is a valid ASM disk on device [8, 129]
Disk "DS1101" is a valid ASM disk on device [8, 113]
Disk "DS1102" is a valid ASM disk on device [253, 66]
Disk "DS1105" is a valid ASM disk on device [253, 59]
Disk "DS1201" is a valid ASM disk on device [8, 129]
Disk "DS1301" is a valid ASM disk on device [8, 145]
Disk "DS1401" is a valid ASM disk on device [8, 161]
-------------------------------------------------------------------------------
3 Get the real sd disk(HBA based) ASMlib choosed --sdj
-------------------------------------------------------------------------------
cat /proc/partitions |grep 145 |grep '\<8\>'
8 145 262108507 sdj1
3 Get the real sd disk(HBA based) ASMlib choosed --sdj
-------------------------------------------------------------------------------
cat /proc/partitions |grep 145 |grep '\<8\>'
8 145 262108507 sdj1
--confirmed
ls -lth /dev/sd*|grep '8, 145'
brw-r----- 1 root disk 128, 145 Oct 18 21:29 /dev/sdeh1
brw-r----- 1 root disk 68, 145 Oct 18 21:29 /dev/sdbv1
brw-r----- 1 root disk 8, 145 Oct 18 21:29 /dev/sdj1
ls -lth /dev/sd*|grep '8, 145'
brw-r----- 1 root disk 128, 145 Oct 18 21:29 /dev/sdeh1
brw-r----- 1 root disk 68, 145 Oct 18 21:29 /dev/sdbv1
brw-r----- 1 root disk 8, 145 Oct 18 21:29 /dev/sdj1
multipath -ll|grep sdj
\_ 2:0:0:6 sdj 8:144 [active][ready]
multipathd -k
>show paths
2:0:0:6 sdj 8:144 1 [active][ready] XXX....... 41/120
>show paths
2:0:0:6 sdj 8:144 1 [active][ready] XXX....... 41/120
----------------------------------------------------------
4 Stop DB and ASM for data security safe
----------------------------------------------------------
Oracle:
su - oracle
srvctl stop instance -d DBNAME -i Instname
srvctl stop asm -n Nodehostname
srvctl stop instance -d DBNAME -i Instname
srvctl stop asm -n Nodehostname
---------------------------------------------------------
5 Hot Delete the sdj physical storage link
---------------------------------------------------------
5 Hot Delete the sdj physical storage link
---------------------------------------------------------
ROOT:
--Confirm link
ll /sys/bus/scsi/drivers/sd/2\:\0:\0:\6/
lrwxrwxrwx 1 root root 0 Oct 18 21:28 block:sdj -> ../../../../../../../../../../../../block/sdj
lrwxrwxrwx 1 root root 0 Oct 18 21:28 bus -> ../../../../../../../../../../../../bus/scsi
--w------- 1 root root 4096 Oct 18 21:28 delete
-r--r--r-- 1 root root 4096 Oct 18 21:28 device_blocked
-rw-r--r-- 1 root root 4096 Oct 18 21:28 dh_state
lrwxrwxrwx 1 root root 0 Oct 18 21:28 driver -> ../../../../../../../../../../../../bus/scsi/drivers/sd
lrwxrwxrwx 1 root root 0 Oct 18 21:28 generic -> ../../../../../../../../../../../../class/scsi_generic/sg10
-r--r--r-- 1 root root 4096 Oct 18 21:28 iocounterbits
--w------- 1 root root 4096 Oct 18 21:28 delete
-r--r--r-- 1 root root 4096 Oct 18 21:28 device_blocked
-rw-r--r-- 1 root root 4096 Oct 18 21:28 dh_state
lrwxrwxrwx 1 root root 0 Oct 18 21:28 driver -> ../../../../../../../../../../../../bus/scsi/drivers/sd
lrwxrwxrwx 1 root root 0 Oct 18 21:28 generic -> ../../../../../../../../../../../../class/scsi_generic/sg10
-r--r--r-- 1 root root 4096 Oct 18 21:28 iocounterbits
--Hot delete link
echo 1 > /sys/bus/scsi/drivers/sd/2\:\0:\0:\6/delete
--Confirmedd if sdj deleted
ls -lth /dev/sdj
----------------------------
6 Try if DB can start
----------------------------
Oracle:
su - oracle
srvctl stop asm -n Nodehostname
sqlplus / as sysdba
startup --failed
srvctl stop asm -n Nodehostname
sqlplus / as sysdba
startup --failed
-------------------------------------------------------
7 Reboot OS to recovery device link sdj
-------------------------------------------------------
Root:
7 Reboot OS to recovery device link sdj
-------------------------------------------------------
Root:
reboot
ls -lth /dev/sdj --recover
$CRS_HOME/bincrs_stat -t -v
$CRS_HOME/bincrs_stat -t -v
=================================================================
Case 2: ASM WITH ScanOrder config(/etc/sysconfig/oracleasm-_dev_oracleasm)
=================================================================
ROOT:
---------------------------------------------------------------
1 Edit ASM config file to enable dm scan first
---------------------------------------------------------------
---------------------------------------------------------------
1 Edit ASM config file to enable dm scan first
---------------------------------------------------------------
vi /etc/sysconfig/oracleasm
Change:
ORACLEASM_SCANORDER=""
to
ORACLEASM_SCANORDER="dm"
Change:
ORACLEASM_SCANORDER=""
to
ORACLEASM_SCANORDER="dm"
--------------------------------
2 Restart ASM service
--------------------------------
Oracle:
--Stop ASM and DB
sqlplus / as sysdba
shutdown immedaite
srvctl stop asm -n Nodehostname
2 Restart ASM service
--------------------------------
Oracle:
--Stop ASM and DB
sqlplus / as sysdba
shutdown immedaite
srvctl stop asm -n Nodehostname
Root:
/etc/init.d/oracleasm restart
/etc/init.d/oracleasm restart
----------------------------------------------
3 Check if ASM multipath enable
----------------------------------------------
Root:
3 Check if ASM multipath enable
----------------------------------------------
Root:
for i in `/etc/init.d/oracleasm listdisks`;do devnum=`/etc/init.d/oracleasm querydisk -d $i` &&echo $devnum;done --device mayjor num should be 253
-----------------------------------------------------------
4 Hot Delete the physical storage path sdj
-----------------------------------------------------------
4 Hot Delete the physical storage path sdj
-----------------------------------------------------------
--Confirmed the sdj scsi id
multipath -ll|grep sdj
\_ 2:0:0:6 sdj 8:144 [active][ready]
multipath -ll|grep sdj
\_ 2:0:0:6 sdj 8:144 [active][ready]
--Hot delete sdj
echo 1 > /sys/bus/scsi/drivers/sd/2\:\0:\0:\6/delete
----------------------------
5 Try if DB can start
----------------------------
Oracle:
5 Try if DB can start
----------------------------
Oracle:
su - oracle
srvctl start asm -n Nodehostname
sqlplus / as sysdba
startup --success
srvctl start asm -n Nodehostname
sqlplus / as sysdba
startup --success
--------------------------------------
6 Repeat 3-5 for other path
--------------------------------------
DB can be up normally for each path deleted with one path available
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27064837/viewspace-752042/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27064837/viewspace-752042/