當asm file的REDUNDANCY值高於diskgroup的REDUNDANCY時

warehouse發表於2011-07-21

當asm file的REDUNDANCY值高於diskgroup的REDUNDANCY時,oracle如何實現asm au的真真REDUNDANCY...

[@more@]

SQL> select group_number ,type from v$asm_diskgroup;

GROUP_NUMBER TYPE
------------ ------------
1 NORMAL
2 EXTERN

SQL> select group_number,file_number,redundancy,striped from V$ASM_FILE where type='CONTROLFILE';

GROUP_NUMBER FILE_NUMBER REDUNDANCY STRIPED
------------ ----------- ------------ ------------
1 256 HIGH FINE
1 257 HIGH FINE
1 258 HIGH FINE

SQL>
SQL> select group_kffxp,number_kffxp,xnum_kffxp,lxn_kffxp,disk_kffxp,au_kffxp from x$kffxp where number_kffxp in (256,257,258);

GROUP_KFFXP NUMBER_KFFXP XNUM_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP
----------- ------------ ---------- ---------- ---------- ----------
1 256 0 0 1 52
1 256 0 1 0 52
1 256 0 2 65534 4294967294
1 256 1 0 0 53
1 256 1 1 1 53
1 256 1 2 65534 4294967294
1 256 2 0 1 54
1 256 2 1 0 54
1 256 2 2 65534 4294967294
1 256 3 0 0 55
1 256 3 1 1 55

GROUP_KFFXP NUMBER_KFFXP XNUM_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP
----------- ------------ ---------- ---------- ---------- ----------
1 256 3 2 65534 4294967294
1 256 4 0 1 56
1 256 4 1 0 56
1 256 4 2 65534 4294967294
1 256 5 0 0 57
1 256 5 1 1 57
1 256 5 2 65534 4294967294
1 256 6 0 1 58
1 256 6 1 0 58
1 256 6 2 65534 4294967294
1 256 7 0 0 59

GROUP_KFFXP NUMBER_KFFXP XNUM_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP
----------- ------------ ---------- ---------- ---------- ----------
1 256 7 1 1 59
1 256 7 2 65534 4294967294
1 257 0 0 0 60
1 257 0 1 1 60
1 257 0 2 65534 4294967294
1 257 1 0 1 61
1 257 1 1 0 61
1 257 1 2 65534 4294967294
1 257 2 0 0 62
1 257 2 1 1 62
1 257 2 2 65534 4294967294

GROUP_KFFXP NUMBER_KFFXP XNUM_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP
----------- ------------ ---------- ---------- ---------- ----------
1 257 3 0 1 63
1 257 3 1 0 63
1 257 3 2 65534 4294967294
1 257 4 0 0 64
1 257 4 1 1 64
1 257 4 2 65534 4294967294
1 257 5 0 1 65
1 257 5 1 0 65
1 257 5 2 65534 4294967294
1 257 6 0 0 66
1 257 6 1 1 66

GROUP_KFFXP NUMBER_KFFXP XNUM_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP
----------- ------------ ---------- ---------- ---------- ----------
1 257 6 2 65534 4294967294
1 257 7 0 1 67
1 257 7 1 0 67
1 257 7 2 65534 4294967294
1 258 0 0 0 68
1 258 0 1 1 68
1 258 0 2 65534 4294967294
1 258 1 0 1 69
1 258 1 1 0 69
1 258 1 2 65534 4294967294
1 258 2 0 0 70

GROUP_KFFXP NUMBER_KFFXP XNUM_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP
----------- ------------ ---------- ---------- ---------- ----------
1 258 2 1 1 70
1 258 2 2 65534 4294967294
1 258 3 0 1 71
1 258 3 1 0 71
1 258 3 2 65534 4294967294
1 258 4 0 0 72
1 258 4 1 1 72
1 258 4 2 65534 4294967294
1 258 5 0 1 73
1 258 5 1 0 73
1 258 5 2 65534 4294967294

GROUP_KFFXP NUMBER_KFFXP XNUM_KFFXP LXN_KFFXP DISK_KFFXP AU_KFFXP
----------- ------------ ---------- ---------- ---------- ----------
1 258 6 0 0 74
1 258 6 1 1 74
1 258 6 2 65534 4294967294
1 258 7 0 1 75
1 258 7 1 0 75
1 258 7 2 65534 4294967294

72 rows selected.

SQL>
--===================================
--diskgroup number 1的type是normal方式,也就是正常的冗餘,而且裡面只有2個failgroup,
這樣像controlfile這種的REDUNDANCY值是:HIGH,這樣oracle肯定是無法真真做到high的,看一下
從x$kffxp顯示出來的3個controlfile的資訊就知道了,欄位DISK_KFFXP中的值65534肯定只是一個臨時值,
不是真真意義上的disk編號,我們可以再增加一個failgroup到diskgroup number=1的diskgroup裡,此時
我們會發現欄位DISK_KFFXP=65534的值會變成2,2就是我們新增加進來的disk的編號,此時controlfile
的REDUNDANCY特性才實現了真真意義上的high。
在沒有查doc之前,我以為一個diskgroup中允許的最大disk數量是
65534,查了以下doc,有關asm的limit如下:
Scalability
ASM imposes the following limits:

63 disk groups in a storage system

10,000 ASM disks in a storage system

4 petabyte maximum storage for each ASM disk

40 exabyte maximum storage for each storage system

1 million files for each disk group

Maximum files sizes as shown in the following table:

Disk Group Type Maximum File Size
External redundancy 35 TB
Normal redundancy 5.8 TB
High redundancy 3.9 TB
--================================
doc原文連線:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1052838/,如需轉載,請註明出處,否則將追究法律責任。

相關文章