測試一體機ASM failgroup的相關問題處理

環境:3臺虛擬機 RHEL 7.3 + Oracle RAC 11.2.0.4
問題現象:RAC運行正常,ASM磁盤組Normal冗余,有failgroup整體故障,有failgroup配置錯誤。
溫馨提示:本文并不是市場上任何一款商業的一體機產品,只是我為了學習這類分布式存儲架構自己模擬的實驗環境,為了區分我暫時稱之為xData吧^_^。

  • 1.問題現象確認
  • 2.重新加入CELL01的盤
  • 3.修改failgroup的配置

1.問題現象確認

SQL> select group_number, name, total_mb, free_mb, USABLE_FILE_MB, offline_disks, state, type from v$asm_diskgroup;GROUP_NUMBER NAME                             TOTAL_MB    FREE_MB USABLE_FILE_MB OFFLINE_DISKS STATE                  TYPE
------------ ------------------------------ ---------- ---------- -------------- ------------- ---------------------- ----------1 CRS                                  2000       1170            585             0 MOUNTED                NORMAL2 DATA                                40960      35652           7586             0 MOUNTED                NORMALSQL>  select group_number, disk_number, name, path, failgroup, mode_status, voting_file  from v$asm_disk order by 1, 2;GROUP_NUMBER DISK_NUMBER NAME                           PATH                    FAILGROUP            MODE_STATUS    VO
------------ ----------- ------------------------------ ----------------------- -------------------- -------------- --0           0                                /dev/CELL01-data2                            ONLINE         N0           1                                /dev/CELL01-data1                            ONLINE         N0           2                                /dev/CELL01-crs1                             ONLINE         Y1           1 CRS_0001                       /dev/CELL02-crs2        CRS_0001             ONLINE         Y1           2 CRS_0002                       /dev/CELL03-crs3        CRS_0002             ONLINE         Y2           0 DATA_0000                      /dev/CELL03-data1       DATA_0000            ONLINE         N2           1 DATA_0001                      /dev/CELL03-data2       DATA_0001            ONLINE         N2           2 DATA_0002                      /dev/CELL02-data1       CELL02               ONLINE         N2           3 DATA_0003                      /dev/CELL02-data2       CELL02               ONLINE         N9 rows selected.

可以看到不但CELL01節點的所有盤被刪除,而且CELL03節點的數據盤,failgroup目前也配置不正確!

2.重新加入CELL01的盤

由于時間超過默認的3.6h,offline的盤已經被刪除,只有重新加入CELL01的盤才可以。

alter diskgroup CRS add disk '/dev/CELL01-crs1';
alter diskgroup DATA ADD FAILGROUP CELL01 disk '/dev/CELL01-data1', '/dev/CELL01-data2' rebalance power 5;

直接這樣加盤很可能會遇到下面這類錯誤,因為這些盤之前是被使用過的:

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

這個問題可以通過dd盤頭,也可以加盤嘗試加force參數來解決,我這里選擇dd盤頭的方式:

[root@db01 ~]# dd if=/dev/zero of=/dev/CELL01-crs1 bs=8k count=1000
1000+0 records in
1000+0 records out
8192000 bytes (8.2 MB) copied, 0.0691801 s, 118 MB/s

dd盤頭之后再次嘗試添加就可以順利完成:

SQL> alter diskgroup CRS add disk '/dev/CELL01-crs1';Diskgroup altered.

同樣的,將CELL01的數據盤也重新加入到DATA磁盤組中,failgroup名稱為CELL01:

SQL> alter diskgroup DATA ADD FAILGROUP CELL01 disk '/dev/CELL01-data1', '/dev/CELL01-data2' rebalance power 5;Diskgroup altered.

通過v$asm_operation視圖可以查看磁盤重新平衡的進度,直到下面的查詢不再返回結果說明重平衡完成:

SQL> select * from v$asm_operation;GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES ERROR_CODE
------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- ----------- --------------------2 REBAL      RUN               5          5        366        529        348           0
SQL> select * from v$asm_operation;no rows selected

3.修改failgroup的配置

CELL03的數據盤,failgroup目前配置還不正確。

SQL> alter diskgroup DATA drop disk DATA_0000, DATA_0001;Diskgroup altered.

查詢v$asm_operation視圖可以查看磁盤重新平衡的進度,完成后再重新加回磁盤組,指定確切的failgroup(CELL03):

SQL> alter diskgroup DATA ADD FAILGROUP CELL03 disk '/dev/CELL03-data1', '/dev/CELL03-data2' rebalance power 5;Diskgroup altered.

再次關注重平衡進度,最后查詢一切正常,結果如下:

SQL> col path for a50
SQL> select group_number, disk_number, name, path, failgroup, mode_status, voting_file  from v$asm_disk order by 1, 2;GROUP_NUMBER DISK_NUMBER NAME                           PATH                    FAILGROUP            MODE_STATUS    VO
------------ ----------- ------------------------------ ----------------------- -------------------- -------------- --1           0 CRS_0000                       /dev/CELL01-crs1        CRS_0000             ONLINE         Y1           1 CRS_0001                       /dev/CELL02-crs2        CRS_0001             ONLINE         Y1           2 CRS_0002                       /dev/CELL03-crs3        CRS_0002             ONLINE         Y2           0 DATA_0000                      /dev/CELL03-data1       CELL03               ONLINE         N2           1 DATA_0001                      /dev/CELL03-data2       CELL03               ONLINE         N2           2 DATA_0002                      /dev/CELL02-data1       CELL02               ONLINE         N2           3 DATA_0003                      /dev/CELL02-data2       CELL02               ONLINE         N2           4 DATA_0004                      /dev/CELL01-data1       CELL01               ONLINE         N2           5 DATA_0005                      /dev/CELL01-data2       CELL01               ONLINE         N9 rows selected.SQL> select group_number, name, total_mb, free_mb, USABLE_FILE_MB, offline_disks, state, type from v$asm_diskgroup;GROUP_NUMBER NAME                             TOTAL_MB    FREE_MB USABLE_FILE_MB OFFLINE_DISKS STATE                  TYPE
------------ ------------------------------ ---------- ---------- -------------- ------------- ---------------------- ----------1 CRS                                  3000       2033            516             0 MOUNTED                NORMAL2 DATA                                61440      56012          17766             0 MOUNTED                NORMAL

說明:一般我會將磁盤組的兼容性參數設置為11.2,如有特殊需求,還可以設置disk_repair_time(默認3.6h)。

SQL> col COMPATIBILITY for a30
SQL> col DATABASE_COMPATIBILITY for a30
SQL> select NAME, COMPATIBILITY, DATABASE_COMPATIBILITY from v$asm_diskgroup;NAME                           COMPATIBILITY                  DATABASE_COMPATIBILITY
------------------------------ ------------------------------ ------------------------------
CRS                            11.2.0.0.0                     11.2.0.0.0
DATA                           11.2.0.0.0                     11.2.0.0.0--設置DATA磁盤組disk_repair_time(可理解為磁盤離線刪除的時間)屬性為4.5h
SQL> ALTER DISKGROUP data SET ATTRIBUTE 'disk_repair_time' = '4.5h';
Diskgroup altered.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450226.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450226.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450226.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

掌握窮變富的12條原則 迅速從普通人變成有錢人

“窮忙”和“富閑”是對立面,“窮”對“忙”,“富”對“閑”,很多“窮忙女”是在拿青春當賭注,希望自己今天的“美麗”明天就能在市場上有個不錯的“回報”;而多數“富閑女”則是在拿智慧當籌碼,既不可替代…

com.alibaba.dubbo.rpc.RpcException: Forbid consumer 192.168.184.1 access service com.foreveross.syst

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 報錯如下: com.alibaba.dubbo.rpc.RpcException: Forbid consumer 192.168.XXX.1 access service com.XXX.system.service.…

動手又動腦

1.編寫一個程序,指定一個文件夾,能自動計算出其總容量。 import java.io.File; import java.io.IOException; public class FileEdit { double size0.0; //計算文件或文件夾的大小,單位MB public double getSize(File file){ //判斷文件是否存…

windows下安裝和設置gradle

一、安裝前檢查 檢查jdk是否已經安裝 二、下載gradle 1. https://gradle.org/releases/ 2.設置gradle環境變量 3. 環境變量中增加名為GRADLE_HOME的變量名,值為Gralde的解壓路徑,例如D:\Gradle 在path的后追加%GRADLE_HOME%\bin; 4. 驗證 5.修改默認緩存目錄 修改Gradle默認緩存…

智能硬件的時代,嵌入式是否已經日薄西山

存吐吐槽,智能硬件現在很火熱,導致很多人以為嵌入式行業又迎來了春天,可是明白人都知道,智能硬件核心在智能,硬件是很次要的。目前的硬件產品,要有亮點,都和智能沾邊,已經不是那個可…

賺大錢一定要選擇

賺大錢一定要選擇 八大賺錢定律讓你賺翻天 許多人看起來已經步入小康了,但他們還說不上是真正的富人,從科學理財的觀念看,憑高收入和攢錢來實現富裕的思路完全是錯誤的,依靠攢錢,不僅多數人無法獲得最終的財務自由&…

深解微服務架構:從過去,到未來

http://www.uml.org.cn/zjjs/im... 微服務的誕生 微服務架構(MicroserviceArchitect)是一種架構模式,它提倡將單塊架構的應用劃分成一組小的服務,服務之間互相協調、互相配合,為用戶提供最終價值。每個服務運行在其獨立…

解決IntelliJ Idea中文亂碼問題、修改IDEA編碼

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 有兩種辦法可以修改 IntelliJ IDEA 的文件編碼(IDE 版本為 14.1.4) File->Settings->Editor->File En…

前端框架開始學習Vue(一)

MVVM開發思想圖(圖片可能會被縮小&#xff0c;請右鍵另存查看&#xff0c;圖片來源于網絡)定義基本Vue代碼結構1 v-text,v-cloak,v-html命令默認 v-text沒有閃爍問題&#xff0c;但是會覆蓋元素中原本的內容&#xff0c;插值表達式只會替換自己的占位符,<!DOCTYPE html> …

Android App圖片輪播效果的組件化

簡介 一個通用的圖片輪播效果的通用組件&#xff0c;方便開發者快速集成。 初學者&#xff0c;其實應該實現一個自定義控件的&#xff0c;改天有空&#xff0c;在學習下吧&#xff0c;學習能力一般&#xff0c;以前也沒寫過java&#xff0c;這個組件都寫了好久&#xff0c;慚愧…

天下IT:程序員能掙哪些外快?

各位朋友&#xff0c;大家好&#xff01;歡迎收看《天下IT》。 今天我們給您講講程序員&#xff0c;坦率的說世界上的程序員基本跟我手里的帽子一樣遍地都是&#xff0c;各種各樣的程序員&#xff0c;因為程序員已經成為社會的主流打工群體。但是程序員實際在公司里往往是最不受…

P1616 瘋狂的采藥(洛谷,動態規劃遞推,完全背包)

先上題目鏈接:P1616 瘋狂的采藥 然后放AC代碼: #include<bits/stdc.h> #define ll long long using namespace std; ll f[100010]; ll timee[10010]; ll w[10010]; int main() {ll t,m;cin>>t>>m;//t總時間,m總草藥//time時間,w價值for(ll i1;i<m;i){scan…

MySQL通過source命令執行sql文件

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 IT人員經常會和MySQL打交道&#xff0c;備份和恢復應該是最常用的操作了&#xff0c;那么通過直接執行sql文件無疑是最快捷的方式&#x…

Android系統中通過shell命令實現wifi的連接控制

簡介 工作中遇到一個“變態”的需求&#xff0c;在android系統中不通過java層控制wifi的連接&#xff08;主要是修改ap的essid和password&#xff09;&#xff0c;而是需要通過native層實現對wifi的控制。 How 接到這個需求時&#xff0c;第一個想法是如何找到Android nativ…

程序員賺大錢

本文共分三部分&#xff0c;現在打開的是《第一部分》&#xff0c;歡迎繼續閱讀《第二部分》和《第三部分》1 引子 都說海闊憑魚躍&#xff0c;又有多少魚能躍出大海&#xff1f;都說天高任鳥飛&#xff0c;但真正能一飛沖天的&#xff0c;也不過是寥寥數鷹而已&#xff1b;在…

MySQL索引底層實現原理

索引的本質 MySQL官方對索引的定義為&#xff1a;索引&#xff08;Index&#xff09;是幫助MySQL高效獲取數據的數據結構。提取句子主干&#xff0c;就可以得到索引的本質&#xff1a;索引是數據結構。 我們知道&#xff0c;數據庫查詢是數據庫的最主要功能之一。我們都希望查詢…

解決 A component required a bean of ‘XXX.RoleService‘ that could not be found.

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 springboot工程啟動報錯&#xff0c;無法啟動成功。 dubbo訂閱服務失敗&#xff0c;提示如下&#xff1a; 出錯原因&#xff1a;唉&…

開源個小工具simple-repo

背景 了解android系統的都應該熟悉repo這個工具&#xff0c;google為了方便管理數百個git倉庫&#xff0c;開發了repo這個批量管理工具。不過google repo project配置比較麻煩&#xff0c;而通過gitbucket搭建git server則比較傻瓜&#xff0c;所以此處開發了simple-repo這么一…

配合OAuth2進行單設備登錄攔截

2019獨角獸企業重金招聘Python工程師標準>>> 要進行單設備登錄&#xff0c;在其他地點登錄后&#xff0c;本地的其他操作會被攔截返回登錄界面。 原理就在于要在登錄時在redis中存儲Session,進行操作時要進行Session的比對。 具體實現&#xff0c;假設我們的OAuth 2…

朱大鳴:中國金融危機到底有多嚴重

我們到底該不該救助金融機構&#xff0c;中國鈔票到底有沒有超發&#xff0c;對于這個問題&#xff0c;央行行長周小川日前撰文全面為之辯護&#xff1a;對于第一個問題&#xff0c;他的觀點是金融業出現了問題就必須救&#xff0c;否則意味著集體的失靈甚至死亡&#xff1b;中…