對Oracle ASM磁碟組進行檢查
在Oracle 11gR2的版本中,新增一個命令,可以對正常mount的磁碟組進行檢查,這對我們去維護asm方式的資料庫提供了很多便利
有以下場合非常適用:
1:主機伺服器例行維護,需要重啟主機和資料庫,這時如果不進行檢查的話,很有可能導致asm執行個體磁碟組載入不了,導致嚴重的事故。
例如磁碟頭損壞等,這個時候在重啟前我們加以檢查的話,就可以發現問題,及時預警,做資料備份等。
測試如下:
類比磁碟頭損壞
[grid@12cdb1 ~]$ dd if=/dev/zero of=/dev/sde1 bs=4096 count=1
1+0 records in
1+0 records out
4096 bytes (4.1 kB) copied, 0.000932074 s, 4.4 MB/s
[grid@12cdb1 ~]$
[grid@12cdb1 ~]$
[grid@12cdb1 ~]$ kfed read /dev/sde1|more
kfbh.endian: 0 ; 0x000: 0x00
kfbh.hard: 0 ; 0x001: 0x00
kfbh.type: 0 ; 0x002: KFBTYP_INVALID
kfbh.datfmt: 0 ; 0x003: 0x00
kfbh.block.blk: 0 ; 0x004: blk=0
kfbh.block.obj: 0 ; 0x008: file=0
kfbh.check: 0 ; 0x00c: 0x00000000
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
000000000 00000000 00000000 00000000 00000000 [................]
Repeat 255 times
KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]
asm執行個體中進行檢查:
SQL> alter diskgroup dgtest check;
Diskgroup altered.
這時我們查看asm執行個體中日誌資訊:
可以看到紅色部分就顯示不能讀取磁碟頭資訊,這個時候我們就要介入處理了。
SQL> alter diskgroup dgtest check
Tue Jul 22 17:54:47 2014
ERROR: Could not read the header of disk DGTEST_0000 (0).
NOTE: process _user12084_+asm (12084) initiating offline of disk 0.3914034847 (DGTEST_0000) with mask 0x7e in group 2 (DGTEST) without client assisting
NOTE: initiating PST update: grp 2 (DGTEST), dsk = 0/0xe94b6e9f, mask = 0x6a, op = clear
Tue Jul 22 17:54:47 2014
GMON updating disk modes for group 2 at 24 for pid 23, osid 12084
ERROR: disk 0(DGTEST_0000) in group 2(DGTEST) cannot be offlined because the disk group has external redundancy.
Tue Jul 22 17:54:47 2014
ERROR: too many offline disks in PST (grp 2)
Tue Jul 22 17:54:47 2014
ERROR: Failed to offline disk DGTEST_0000 (0).
NOTE: starting check of diskgroup DGTEST
Tue Jul 22 17:54:48 2014
ASM Health Checker found 1 new failures
Tue Jul 22 17:54:48 2014
ASM Health Checker found 1 new failures
Tue Jul 22 17:54:48 2014
GMON checking disk 0 for group 2 at 25 for pid 23, osid 12084
修改磁碟頭後,我們再次做檢查
沒有任何報錯
SQL> alter diskgroup dgtest check
Tue Jul 22 18:07:50 2014
NOTE: starting check of diskgroup DGTEST
Tue Jul 22 18:07:51 2014
GMON checking disk 0 for group 2 at 26 for pid 23, osid 12084
Tue Jul 22 18:07:53 2014
SUCCESS: check of diskgroup DGTEST found no errors
Tue Jul 22 18:07:53 2014
SUCCESS: alter diskgroup dgtest check
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
Oracle 11g從入門到精通 PDF+光碟片原始碼
RHEL6 ASM方式安裝Oracle 11g R2
Oracle 10g 手工建立ASM資料庫
Oracle 10g R2建立ASM執行個體Step By Step