在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

oracle中如何解决asm磁盘添加失败问题

110次阅读
没有评论

共计 5957 个字符,预计需要花费 15 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 oracle 中如何解决 asm 磁盘添加失败问题,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

生产环境存储划盘并做了多路径聚合,由于经验生疏忘记需要配置 udev。
在添加磁盘到 diskgroup 时,数据库报错权限不足,简单以为只是对应的字符设备的权限是 root:disk 导致无法添加到 diskgroup。
所以尝试使用 chown 命令在两个节点将该字符设备修改权限为 grid:oinstall 后,由于 suse 系统 udev 内部机制问题,在添加该字符设备到 diskgroup 过程中,字符设备的权限自动由 grid:oinstall 变为 root:disk,导致添加磁盘失败。此时该磁盘盘头已写入部分信息,HEADER_STATUS 为 NUMBER,导致无法重新添加到 diskgroup,也无法从磁盘组踢出,进退两难。
由于是生产环境,不敢随意操作,故在测试环境模拟问题并解决。

问题重现:
1 确认 /dev/raw/raw6 的 HEADER_STATUS 是 CANDIDATE 状态,说明可以添加到 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 加进磁盘组 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 的权限由 grid:asmadmin 改为 root:disk,此时报错如下:
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 权限重新改为 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 中,出现报错,模拟故障成功。
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 修改磁盘权限
 chmod 000 /dev/oracleasm/disks/EMCORA47
  3 重新挂载 diskgroup,确认 diskgroup 可以正常挂载,则可以使用 dd 命令清除盘头信息,并重新添加该磁盘。
 dd if=/dev/zero of=/dev/oracleasm/disks/EMCORA43 bs=1M count=1
方法二:
  使用 oracleasm 删除磁盘
 /etc/init.d/oracleasm deletedisk EMCORA43
方法三:
  使用 force 选项强制重新挂载该磁盘。
  alter diskgroup XXXX add disk /dev/oracleasm/disks/EMCORA43 force;

本次实验采用第三种方法:
具体如下:
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%

实际测试中,第一和第三种方法都可行(因本测试环境未使用 oracleasm,故不测试第二种)。
因第一种方法较为稳妥,故选择第一种方法在生产环境修复问题。

后续:
1、几天后在生产环境 pboss2-rdb1/2 江苏库使用第一种方法修复成功。但是引出一个问题:suse 系统和 rhel 系统在 udev 上有一些差异,rhel 修改完  /etc/udev/rules.d/ 下的  rules 文件,通过命令 start_udev 启动 udev 即可。但是 suse 则需要如下操作 /etc/init.d/boot.udev restart  重启 udev 配置,然后模拟拔插 udevadm test /sys/block/xxx 才能使设置生效。当时没发现这个差异,只能通过重启系统生效。
2、在 asmdisk 加进 diskgroup 后,正在做 rebalance 过程中,使用两种方法改变 asmdisk 权限。一种是直接操作系统 chown 命令改变两个节点的 asmdisk,结果发现 rebalance 正常进行,diskgroup 不受影响。另一种是使用 udev 改变 asmdisk 属性,重启 udev 使之生效,结果发现 diskgroup 异常,直接 unmount,数据库实例 down,把 asmdisk 权限修改回来后,重新 alter diskgroup  xxx mount 后,发现 rebalance 继续进行,数据库重启后正常。

关于“oracle 中如何解决 asm 磁盘添加失败问题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-17发表,共计5957字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 国产综合色产在线精品 | 国产精品欧美成人 | 久久爰www免费人成 久久曰 | 免费精品在线观看 | 亚洲av电影一区二区在线秋霞网 | 国产精品久久久小说 | 日韩人妻熟女中文字幕a美景之屋 | 黄又色又污又爽又高潮动态图 | 中文字幕乱码人妻一区二区三区 | 色综合网天天综合色中文男男 | 久久精品国产亚洲5555 | 免费精品在线观看 | 亚洲视频精品在线 | 一区二区三区在线看 | 午夜福利麻豆国产精品 | 浴室人妻的情欲hd三级国产 | 欧美性色黄大片一级毛片视频 | 国内自拍五区 | 男女特黄一级全版视频 | 午夜毛片视频高清不卡免费 | 亚洲精品v天堂中文字幕 | 欧洲美女粗暴牲交免费观看 | 最新91精品老司机在线 | 华人少妇被黑人粗大的猛烈进 | 福利盒子在线视频免费 | 亚洲国产成人久久精品影视 | 2019精品国产品免费观看 | 一级视频在线观看 | 国产精品人妻久久ai换脸 | 精品欧美小视频在线观看 | 亚洲成在 | 亚洲男人网站 | 国产在线一区观看 | 日韩a级 | 亚洲一区二区三区久久久久 | 国内精品久久久久久久久 | 中文字幕久久第13页 | 8050午夜一级全黄毛片 | 国产肥熟女视频一区二区三区 | 精品综合一区二区三区 | 7777精品久久久大香线蕉 |