欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

oracle中如何解決asm磁盤添加失敗問題

這篇文章將為大家詳細(xì)講解有關(guān)oracle中如何解決asm磁盤添加失敗問題,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司是一家專業(yè)提供浦江企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、做網(wǎng)站H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為浦江眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

生產(chǎn)環(huán)境存儲劃盤并做了多路徑聚合,由于經(jīng)驗(yàn)生疏忘記需要配置udev。
在添加磁盤到diskgroup時,數(shù)據(jù)庫報(bào)錯權(quán)限不足,簡單以為只是對應(yīng)的字符設(shè)備的權(quán)限是root:disk導(dǎo)致無法添加到diskgroup。
所以嘗試使用chown命令在兩個節(jié)點(diǎn)將該字符設(shè)備修改權(quán)限為grid:oinstall后,由于suse系統(tǒng)udev內(nèi)部機(jī)制問題,在添加該字符設(shè)備到diskgroup過程中,字符設(shè)備的權(quán)限自動由grid:oinstall變?yōu)閞oot:disk,導(dǎo)致添加磁盤失敗。此時該磁盤盤頭已寫入部分信息,HEADER_STATUS為NUMBER,導(dǎo)致無法重新添加到diskgroup,也無法從磁盤組踢出,進(jìn)退兩難。
由于是生產(chǎn)環(huán)境,不敢隨意操作,故在測試環(huán)境模擬問題并解決。

問題重現(xiàn):
1 確認(rèn)/dev/raw/raw6的HEADER_STATUS是CANDIDATE狀態(tài),說明可以添加到asm磁盤組。
SQL> select PATH,NAME,DISK_NUMBER,GROUP_NUMBER,STATE,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS from v$asm_disk;
PATH                   NAME            DISK_NUMBER GROUP_NUMBER STATE          MOUNT_STATUS   HEADER_STATUS          MODE_STATUS
------------------------------ -------------------- ----------- ------------ ---------------- -------------- ------------------------ --------------
/dev/raw/raw6                              0        0 NORMAL          CLOSED         CANDIDATE              ONLINE
/dev/raw/raw1               DATA_0000              0        2 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw3               DATA_0002              2        2 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw4               DATA1_0000              0        1 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw5               DATA1_0001              1        1 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw2               DATA_0001              1        2 NORMAL          CACHED         MEMBER              ONLINE
2 查看磁盤組,模擬將/dev/raw/raw6加進(jìn)磁盤組DATA。
SQL> select GROUP_NUMBER,NAME from v$asm_diskgroup;

GROUP_NUMBER NAME
------------ --------------------
       1 DATA1
       2 DATA
3 將/dev/raw/raw6加入磁盤組DATA的過程中(約等待3s),另開窗口,將/dev/raw/raw6的權(quán)限由grid:asmadmin改為root:disk,此時報(bào)錯如下:
SQL> alter diskgroup DATA add disk '/dev/raw/raw6';
alter diskgroup DATA add disk '/dev/raw/raw6'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15075: disk(s) are not visible cluster-wide
4 重啟udev(即:將/dev/raw/raw6 權(quán)限重新改為grid:asmadmin) 并重新查詢。
SQL>  select PATH,NAME,DISK_NUMBER,GROUP_NUMBER,STATE,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS from v$asm_disk;
PATH                   NAME            DISK_NUMBER GROUP_NUMBER STATE          MOUNT_STATUS   HEADER_STATUS          MODE_STATUS
------------------------------ -------------------- ----------- ------------ ---------------- -------------- ------------------------ --------------
/dev/raw/raw6                              0        0 NORMAL          CLOSED         MEMBER              ONLINE
/dev/raw/raw1               DATA_0000              0        2 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw3               DATA_0002              2        2 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw4               DATA1_0000              0        1 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw5               DATA1_0001              1        1 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw2               DATA_0001              1        2 NORMAL          CACHED         MEMBER              ONLINE
5 此時嘗試再次將/dev/raw/raw6加入DATA中,出現(xiàn)報(bào)錯,模擬故障成功。
SQL> alter diskgroup DATA add disk '/dev/raw/raw6';
alter diskgroup DATA add disk '/dev/raw/raw6'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15033: disk '/dev/raw/raw6' belongs to diskgroup "DATA"

解決方法:
查了oracle官方文檔,提供了如下三種解決方法(1453285.1):
方法一:
    1 備份問題磁盤
        dd if=/dev/oracleasm/disks/EMCORA43 of=/tmp/EMCORA43.txt bs=1M count=10
    2 修改磁盤權(quán)限
        chmod 000 /dev/oracleasm/disks/EMCORA47
    3 重新掛載diskgroup,確認(rèn)diskgroup可以正常掛載,則可以使用dd命令清除盤頭信息,并重新添加該磁盤。
        dd if=/dev/zero of=/dev/oracleasm/disks/EMCORA43 bs=1M count=1
方法二:
    使用oracleasm刪除磁盤
        /etc/init.d/oracleasm deletedisk EMCORA43
方法三:
    使用force選項(xiàng)強(qiáng)制重新掛載該磁盤。
        alter diskgroup XXXX add disk '/dev/oracleasm/disks/EMCORA43' force;

本次實(shí)驗(yàn)采用第三種方法:
具體如下:
SQL>     select NAME, TOTAL_MB, FREE_MB, (TOTAL_MB - FREE_MB) USED_MB, to_char((TOTAL_MB - FREE_MB) * 100 / TOTAL_MB,'99.99') || '%' USED_PRECENT from v$asm_diskgroup;

NAME               TOTAL_MB    FREE_MB    USED_MB USED_PRECENT
-------------------- ---------- ---------- ---------- --------------
DATA1               1998       1901       97    4.85%
DATA               2997        630     2367  78.98%

SQL> select PATH,NAME,DISK_NUMBER,GROUP_NUMBER,STATE,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS from v$asm_disk;

PATH                   NAME            DISK_NUMBER GROUP_NUMBER STATE          MOUNT_STATUS   HEADER_STATUS          MODE_STATUS
------------------------------ -------------------- ----------- ------------ ---------------- -------------- ------------------------ --------------
/dev/raw/raw6                              0        0 NORMAL          CLOSED         MEMBER              ONLINE
/dev/raw/raw1               DATA_0000              0        2 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw3               DATA_0002              2        2 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw4               DATA1_0000              0        1 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw5               DATA1_0001              1        1 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw2               DATA_0001              1        2 NORMAL          CACHED         MEMBER              ONLINE

6 rows selected.

SQL> alter diskgroup DATA add disk '/dev/raw/raw6';
alter diskgroup DATA add disk '/dev/raw/raw6'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15033: disk '/dev/raw/raw6' belongs to diskgroup "DATA"


SQL> alter diskgroup DATA add disk '/dev/raw/raw6' force;

Diskgroup altered.

SQL>   select PATH,NAME,DISK_NUMBER,GROUP_NUMBER,STATE,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS from v$asm_disk;

PATH                   NAME            DISK_NUMBER GROUP_NUMBER STATE          MOUNT_STATUS   HEADER_STATUS          MODE_STATUS
------------------------------ -------------------- ----------- ------------ ---------------- -------------- ------------------------ --------------
/dev/raw/raw1               DATA_0000              0        2 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw3               DATA_0002              2        2 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw4               DATA1_0000              0        1 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw5               DATA1_0001              1        1 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw2               DATA_0001              1        2 NORMAL          CACHED         MEMBER              ONLINE
/dev/raw/raw6               DATA_0005              5        2 NORMAL          CACHED         MEMBER              ONLINE

6 rows selected.

SQL>     select NAME, TOTAL_MB, FREE_MB, (TOTAL_MB - FREE_MB) USED_MB, to_char((TOTAL_MB - FREE_MB) * 100 / TOTAL_MB,'99.99') || '%' USED_PRECENT from v$asm_diskgroup;

NAME               TOTAL_MB    FREE_MB    USED_MB USED_PRECENT
-------------------- ---------- ---------- ---------- --------------
DATA1               1998       1901       97    4.85%
DATA               3497       1128     2369  67.74%

實(shí)際測試中,第一和第三種方法都可行(因本測試環(huán)境未使用oracleasm,故不測試第二種)。
因第一種方法較為穩(wěn)妥,故選擇第一種方法在生產(chǎn)環(huán)境修復(fù)問題。

后續(xù):
1、 幾天后在生產(chǎn)環(huán)境pboss2-rdb1/2 江蘇庫使用第一種方法修復(fù)成功。但是引出一個問題:suse系統(tǒng)和rhel系統(tǒng)在udev上有一些差異,rhel修改完 /etc/udev/rules.d/下的 rules文件,通過命令start_udev啟動udev即可。但是suse則需要如下操作/etc/init.d/boot.udev restart  重啟udev配置,然后模擬拔插 udevadm test /sys/block/xxx 才能使設(shè)置生效。當(dāng)時沒發(fā)現(xiàn)這個差異,只能通過重啟系統(tǒng)生效。
2、在asmdisk加進(jìn)diskgroup后,正在做rebalance過程中,使用兩種方法改變asmdisk權(quán)限。一種是直接操作系統(tǒng)chown命令改變兩個節(jié)點(diǎn)的asmdisk,結(jié)果發(fā)現(xiàn)rebalance正常進(jìn)行,diskgroup不受影響。另一種是使用udev改變asmdisk屬性,重啟udev使之生效,結(jié)果發(fā)現(xiàn)diskgroup異常,直接unmount,數(shù)據(jù)庫實(shí)例down,把a(bǔ)smdisk權(quán)限修改回來后,重新alter diskgroup  xxx mount后,發(fā)現(xiàn)rebalance繼續(xù)進(jìn)行,數(shù)據(jù)庫重啟后正常。

關(guān)于“oracle中如何解決asm磁盤添加失敗問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

當(dāng)前題目:oracle中如何解決asm磁盤添加失敗問題
鏈接分享:http://www.chinadenli.net/article28/ishpjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT網(wǎng)站改版網(wǎng)站維護(hù)軟件開發(fā)做網(wǎng)站微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營