测试一体机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.mzph.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;中…