0

0

当ASM磁盘组无法MOUNT之时如何找到对应的物理磁盘?

php中文网

php中文网

发布时间:2016-06-07 16:11:02

|

1867人浏览过

|

来源于php中文网

原创

如果数据存放于asm磁盘组之上,当asm磁盘组无法mount起来,则意味着无法打开数据库。我们假设磁盘头部没有损坏,只是盘符变了,但无法正确设置asm_diskstring参数。 实验环境: RHEL5 + ORACLE10.2.0.4RAC+RAW+ASM 通过此次实验你将掌握以下知识点: 1. 初步

如果数据存放于asm磁盘组之上,当asm磁盘组无法mount起来,则意味着无法打开数据库。我们假设磁盘头部没有损坏,只是盘符变了,但无法正确设置asm_diskstring参数。

实验环境: RHEL5 + ORACLE10.2.0.4RAC+RAW+ASM

通过此次实验你将掌握以下知识点:

1. 初步了解如何使用ORACLE两款内部工具amdu/kfed

2. 在ASM磁盘组无法MOUNT的情况下,如何对应物理磁盘和ASMDISK的关系

3. 当ASM_DISKSTRING设置不全时,如何补全并将磁盘组MOUNT起来。

SQL> ALTER DISKGROUP ALL MOUNT
Sat Nov 29 22:15:09 2014
NOTE: cache registered group DATA number=1 incarn=0x5bc84523
Sat Nov 29 22:15:09 2014
NOTE: Hbeat: instance first (grp 1)
Sat Nov 29 22:15:13 2014
NOTE: start heartbeating (grp 1)
NOTE: cache opening disk 0 of grp 1: DATA_0000 path:/dev/raw/raw3 <<<<<<<
Sat Nov 29 22:15:13 2014
NOTE: F1X0 found on disk 0 fcn 0.619
NOTE: cache opening disk 1 of grp 1: DATA_0001 path:/dev/raw/raw4 <<<<<<<
NOTE: cache mounting (first) group 1/0x5BC84523 (DATA)
* allocate domain 1, invalid = TRUE
Sat Nov 29 22:15:13 2014
NOTE: attached to recovery domain 1
Sat Nov 29 22:15:13 2014
NOTE: starting recovery of thread=1 ckpt=23.573 group=1
NOTE: advancing ckpt for thread=1 ckpt=23.573
NOTE: cache recovered group 1 to fcn 0.5267
Sat Nov 29 22:15:13 2014
NOTE: opening chunk 1 at fcn 0.5267 ABA
NOTE: seq=24 blk=574
Sat Nov 29 22:15:13 2014
NOTE: cache mounting group 1/0x5BC84523 (DATA) succeeded
SUCCESS: diskgroup DATA was mounted

下面我们取消raw3,raw4裸设备的定义,重启操作系统...

SQL> alter diskgroup all mount;
alter diskgroup all mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA"

SQL> alter system set asm_diskstring='/dev/sdd1'; <<<<<此处只添加一块盘符

System altered.

SQL> alter diskgroup data mount;
alter diskgroup data mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk "1" is missing <<<<<<依旧缺失一块盘符





[oracle@dwdb1 tmp]$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`
[oracle@dwdb1 tmp]$ ./amdu -diskstring='/dev/sd*' -dump 'DATA' <<<<<扫描/dev/sd*所有设备
[oracle@dwdb1 tmp]$ cd amdu_2014_11_30_08_28_26
[oracle@dwdb1 amdu_2014_11_30_08_28_26]$ ls -lrt
total 94364
-rw-r--r-- 1 oracle oinstall 7231 Nov 30 08:28 report.txt

-rw-r--r-- 1 oracle oinstall 8000 Nov 30 08:28 DATA.map
-rw-r--r-- 1 oracle oinstall 96514048 Nov 30 08:28 DATA_0001.img

截取部分report.txt内容:

MagickPen
MagickPen

在线AI英语写作助手,像魔术师一样在几秒钟内写出任何东西。

下载
----------------------------- DISK REPORT N0010 ------------------------------
Disk Path: /dev/sdd1
Unique Disk ID:
Disk Label:
Physical Sector Size: 512 bytes
Disk Size: 1019 megabytes
Group Name: DATA
Disk Name: DATA_0000
Failure Group Name: DATA_0000
Disk Number: 0
Header Status: 3
Disk Creation Time: 2014/11/05 12:55:10.506000
Last Mount Time: 2014/11/29 23:14:47.663000
Compatibility Version: 0x0a100000
Disk Sector Size: 512 bytes
Disk size in AUs: 1019 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2014/11/05 12:55:10.486000
File 1 Block 1 location: AU 2

----------------------------- DISK REPORT N0012 ------------------------------
Disk Path: /dev/sde1 <<<<<<<<<<<<<<<<<磁盘全路径
Unique Disk ID:
Disk Label:
Physical Sector Size: 512 bytes
Disk Size: 1019 megabytes
Group Name: DATA
Disk Name: DATA_0001
Failure Group Name: DATA_0001
Disk Number: 1 <<<<<<<<<<<<<<<<<<<<<<<<<磁盘序号为1
Header Status: 3
Disk Creation Time: 2014/11/05 13:01:56.714000
Last Mount Time: 2014/11/29 23:14:47.663000
Compatibility Version: 0x0a100000
Disk Sector Size: 512 bytes
Disk size in AUs: 1019 AUs
Group Redundancy: 1
Metadata Block Size: 4096 bytes
AU Size: 1048576 bytes
Stride: 113792 AUs
Group Creation Time: 2014/11/05 12:55:10.486000
File 1 Block 1 location: AU 0

...
------------------------- SUMMARY FOR DISKGROUP DATA -------------------------
Allocated AU's: 1632
Free AU's: 406
AU's read for dump: 100
Block images saved: 23563
Map lines written: 100
Heartbeats seen: 0
Corrupt metadata blocks: 0
Corrupt AT blocks: 0


******************************* END OF REPORT ********************************

结合以上信息,使用KFED再次确认:

[oracle@dwdb1 tmp]$ kfed read /dev/sde1 |more
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD
kfbh.datfmt: 1 ; 0x003: 0x01
kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0
kfbh.block.obj: 2147483649 ; 0x008: TYPE=0x8 NUMB=0x1
kfbh.check: 1289251580 ; 0x00c: 0x4cd86afc
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8
kfdhdb.driver.reserved[0]: 0 ; 0x008: 0x00000000
kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000
kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000
kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000
kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000
kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0x00000000
kfdhdb.compat: 168820736 ; 0x020: 0x0a100000
kfdhdb.dsknum: 1 ; 0x024: 0x0001
kfdhdb.grptyp: 1 ; 0x026: KFDGTP_EXTERNAL
kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER

这样,就可以确定disk1就为/dev/sde1了

SQL> alter system set asm_diskstring='/dev/sdd1','/dev/sde1';

System altered.

SQL> alter diskgroup data mount;

Diskgroup altered.

接下来就可以启动数据库了。

 

以上简单地使用了AMDU/KFED命令,这两款具都可以实现在ASM磁盘组无法MOUNT的情况下对磁盘读写,其中KFED命令还可以用于磁盘头部的修复(10.2.5.0以上的数据库全有自动备份),还可以做异常恢复:从ASM磁盘直接恢复数据文件,总之也是个非常强大的工具。

 

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

2

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

2

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

0

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

0

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.29

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

25

2026.01.29

clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址
clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址

clawdbot龙虾机器人官网入口:https://clawd.bot/,clawdbot ai是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

16

2026.01.29

Golang 网络安全与加密实战
Golang 网络安全与加密实战

本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。

8

2026.01.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

622

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
TypeScript 教程
TypeScript 教程

共19课时 | 2.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号