本篇文章為大家展示了udev下oracle 11g RAC asm在線擴(kuò)盤和刪盤操作是怎樣的,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
十余年的滎陽網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整滎陽建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“滎陽網(wǎng)站設(shè)計(jì)”,“滎陽網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
我們都知道ORACLE在RAC的部署和安裝的時(shí)候非常推薦我們使用ASM來管理存儲(chǔ),而非之前的裸設(shè)備和本地文件系統(tǒng)。原因有很多,我覺得最主要的還是ASM的易用性、性能、容錯(cuò)機(jī)制相對(duì)其他方式都要更優(yōu)秀。
但是生產(chǎn)系統(tǒng)使用一段時(shí)間之后,經(jīng)?;爻霈F(xiàn)ASM沒有可擴(kuò)展的存儲(chǔ)的情況,這個(gè)時(shí)候就需要在線給數(shù)據(jù)庫(kù)擴(kuò)存儲(chǔ)的情況,這樣的情況相信也是經(jīng)常困擾dba的一項(xiàng)工作。
本文重點(diǎn)介紹使用UDEV方式在線擴(kuò)ASM存儲(chǔ)的方法和注意事項(xiàng),供大家參考
1、需要存儲(chǔ)工程師劃共享磁盤到兩臺(tái)RAC主機(jī)
/home/oracle/Skillset/questions/Skillset3/Skillset3.html
[root@rac1 by-path]# fdisk -l
Disk /dev/sdh: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 32768 bytes / 32768 bytes
Disk identifier: 0x00000000
我這里只顯示了我新加的磁盤
兩個(gè)節(jié)點(diǎn)查看uuid
[root@rac1 by-path]# ll /dev/disk/by-id
lrwxrwxrwx 1 root root 9 Apr 11 09:51 scsi-3600507680c808021b800000000000424 -> ../../sdc
lrwxrwxrwx 1 root root 9 Apr 11 09:51 scsi-3600507680c808021b800000000000425 -> ../../sdd
lrwxrwxrwx 1 root root 9 Apr 11 09:51 scsi-3600507680c808021b800000000000426 -> ../../sde
lrwxrwxrwx 1 root root 9 Apr 11 09:51 scsi-3600507680c808021b800000000000427 -> ../../sdf
lrwxrwxrwx 1 root root 9 Apr 11 09:51 scsi-3600507680c808021b800000000000428 -> ../../sdg
lrwxrwxrwx 1 root root 9 Apr 11 09:51 scsi-3600507680c808021b800000000000429 -> ../../sdh
查看rac2節(jié)點(diǎn)uuid
[root@rac2 ~]# ll /dev/disk/by-id
lrwxrwxrwx 1 root root 9 Apr 11 10:46 scsi-3600507680c808021b800000000000424 -> ../../sdc
lrwxrwxrwx 1 root root 9 Apr 11 10:46 scsi-3600507680c808021b800000000000425 -> ../../sdd
lrwxrwxrwx 1 root root 9 Apr 11 10:46 scsi-3600507680c808021b800000000000426 -> ../../sde
lrwxrwxrwx 1 root root 9 Apr 11 10:46 scsi-3600507680c808021b800000000000427 -> ../../sdf
lrwxrwxrwx 1 root root 9 Apr 11 10:46 scsi-3600507680c808021b800000000000428 -> ../../sdg
lrwxrwxrwx 1 root root 9 Apr 11 10:46 scsi-3600507680c808021b800000000000429 -> ../../sdh
對(duì)比是否一致,如果一致的話,說明這個(gè)盤是共享的,沒有問題。
2、配置udev
下面是添加磁盤的udev文件
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="3600507680c808021b800000000000429", NAME="asm-diskh", OWNER="oracle", GROUP="dba", MODE="0660"
在兩個(gè)節(jié)點(diǎn)分別增加這么一行
然后在兩個(gè)節(jié)點(diǎn)分別重啟udev
start_udev
檢查兩個(gè)節(jié)點(diǎn)共享磁盤是否添加到ASM里面
[root@rac1 ~]# ll /dev/asm*
brw-rw---- 1 oracle dba 8, 112 Apr 23 15:55 /dev/asm-diskh
3、在線為ASM擴(kuò)磁盤
rac2:/home/oracle@grid> sqlplus / as sysasm
SQL> set lines 200 pages 1000
SQL> col PATH for a30
SQL> select group_number,path,state,total_mb,free_mb from v$asm_disk;
GROUP_NUMBER PATH STATE TOTAL_MB FREE_MB
------------ ------------------------------ ---------------- ---------- ----------
1 /dev/asm-diskg NORMAL 102400 97445
2 /dev/asm-diskh NORMAL 0 0
2 /dev/asm-diskf NORMAL 102400 38788
3 /dev/asm-diske NORMAL 10240 9932
3 /dev/asm-diskd NORMAL 10240 9930
3 /dev/asm-diskc NORMAL 10240 9932
SQL> select name,state,type,total_mb,free_mb,round(((total_mb-free_mb)/total_mb)*100,2) tbs_used from v$asm_diskgroup;
NAME STATE TYPE TOTAL_MB FREE_MB TBS_USED
------------------------------------------------------------ ---------------------- ------------ ---------- ---------- ----------
ARCH MOUNTED EXTERN 102400 97445 4.84
DATA MOUNTED EXTERN 102400 29535 71.16
OCR MOUNTED NORMAL 30720 29794 3.01
SQL> alter system set asm_power_limit=10;
System altered.
SQL> alter diskgroup data add disk '/dev/asm-diskh';
Diskgroup altered.
SQL> alter system set asm_power_limit=1;
System altered.
擴(kuò)完之后,查看asm是否在動(dòng)態(tài)平衡
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 36430 36430 0 0
SQL> select group_number,path,state,total_mb,free_mb from v$asm_disk;
GROUP_NUMBER PATH STATE TOTAL_MB FREE_MB
------------ ------------------------------ ---------------- ---------- ----------
1 /dev/asm-diskg NORMAL 102400 97445
2 /dev/asm-diskh NORMAL 102400 65968
2 /dev/asm-diskf NORMAL 102400 65965
3 /dev/asm-diske NORMAL 10240 9932
3 /dev/asm-diskd NORMAL 10240 9930
3 /dev/asm-diskc NORMAL 10240 9932
這里有幾個(gè)概念需要解釋一下
ASM 實(shí)例的SGA 需要的內(nèi)存很小。
當(dāng)在磁盤組中添加刪除磁盤時(shí),磁盤組會(huì)自動(dòng)對(duì)數(shù)據(jù)在新舊磁盤間重新分配,從而實(shí)現(xiàn)分散IO, 這個(gè)過程就叫再平衡(Rebalance)。在磁盤組中添加刪除磁盤會(huì)在磁盤間移動(dòng)數(shù)據(jù),因此雖然是聯(lián)機(jī)操作,仍然會(huì)影響部分性能,所以要在系統(tǒng)空閑的時(shí)候進(jìn)行。
asm_power_limit參數(shù)控制Rebalance速度, 取值范圍0-11. 最小值0,代表不做Rebalance, 最大值11 代表最快的速度,也意味著嚴(yán)重影響性能, 1 代表最慢的速度和最小的性能影響。 其中1是默認(rèn)值。
4、在線為ASM刪磁盤
生產(chǎn)中雖然輕易對(duì)生產(chǎn)的磁盤做調(diào)整,但是也存在在線刪ASM磁盤的需求。那么我們來測(cè)試一下,刪盤是否會(huì)影響數(shù)據(jù)庫(kù)的使用呢?
創(chuàng)建測(cè)試表 crm.obj表
rac2:/home/oracle@db> . gdenv
rac2:/home/oracle@grid> sqlplus / as sysasm
SQL> select group_number,name,path,state,total_mb,free_mb from v$asm_disk;
GROUP_NUMBER NAME PATH STATE TOTAL_MB FREE_MB
------------ ------------------------------------------------------------ ------------------------------ ---------------- ---------- ----------
1 ARCH_0000 /dev/asm-diskg NORMAL 102400 97445
2 DATA_0001 /dev/asm-diskh NORMAL 102400 65968
2 DATA_0000 /dev/asm-diskf NORMAL 102400 65965
3 OCR_0002 /dev/asm-diske NORMAL 10240 9932
3 OCR_0001 /dev/asm-diskd NORMAL 10240 9930
3 OCR_0000 /dev/asm-diskc NORMAL 10240 9932
SQL> alter diskgroup data drop disk DATA_0001;
Diskgroup altered.
這里需要注意的是要填name,不能填具體哪個(gè)磁盤。
SQL> select GROUP_NUMBER,name,state,type,total_mb,free_mb,round(((total_mb-free_mb)/total_mb)*100,2) tbs_used from v$asm_diskgroup;
GROUP_NUMBER NAME STATE TYPE TOTAL_MB FREE_MB TBS_USED
------------ ------------------------------------------------------------ ---------------------- ------------ ---------- ---------- ----------
1 ARCH MOUNTED EXTERN 102400 97445 4.84
2 DATA MOUNTED EXTERN 102400 29533 71.16
3 OCR MOUNTED NORMAL 30720 29794 3.01
SQL> select disk_number, state, name, total_mb, free_mb from v$asm_disk where group_number = 2;
DISK_NUMBER STATE NAME TOTAL_MB FREE_MB
----------- ---------------- ------------------------------------------------------------ ---------- ----------
1 DROPPING DATA_0001 102400 72948
0 NORMAL DATA_0000 102400 58985
我們可以看到這個(gè)磁盤正在被刪除,因?yàn)橐鰟?dòng)態(tài)平衡嘛,所以可以看到底下的動(dòng)態(tài)平衡的過程。
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 8172 36430 3897 7
而這個(gè)過程是完全不影響用戶使用數(shù)據(jù)庫(kù)的,這個(gè)我在我的測(cè)試庫(kù)上做了測(cè)試。
上述內(nèi)容就是udev下oracle 11g RAC asm在線擴(kuò)盤和刪盤操作是怎樣的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。