广告
返回顶部
首页 > 资讯 > 数据库 >记一次数据库事故-ORA-15038
  • 214
分享到

记一次数据库事故-ORA-15038

2024-04-02 19:04:59 214人浏览 安东尼
摘要

        背景:客户有两套较大的数据库(一套为10T(A数据库), 一套为20T(B数据库))想迁移存储,版本均为12.2.0.1, 采用了ASM管理磁盘,单实

        背景:客户有两套较大的数据库(一套为10T(A数据库), 一套为20T(B数据库))想迁移存储,版本均为12.2.0.1, 采用了ASM管理磁盘,单实例。操作系统分别为linux 6, linux 7。客户想将B数据库的存储迁移到较差的存储,作为只读用途。腾空B数据库的存储之后,将B数据库占用的性能较好的存储分配给A数据库,再将A数据库的数据迁移到新分配的性能较好的存储。

A数据库的存储为较好存储与较差存储的混搭,需要迁移两次(第一次迁移腾出存储空间,第二次迁移到新回收的存储)。这里总共就有3次迁移。因为数据库较大与备份所需磁盘空间的问题,两个数据库均没有备份。

       4月17日,客户告诉我,领导想要下周二能将两个库迁移好(我将将要写迁移方案)。这样就完全没有时间写方案。同时两个数据库需要同时迁移。于是我们负责存储的同事赶过来,给两个主机划好了存储。我做好了多路径映射并创建了ASM磁盘组。同时停库,开始做迁移。

      4月18日晚上,A数据库数据文件拷贝完成。4月19日调整OCR,日志文件,临时文件等。在此期间,B数据库通过RMAN做COPY已经完成了接近16T左右, 还剩余大致4T数据文件。A数据库调整完成后,为了验证修改正确与否,重启了操作系统。

操作系统起来之后,发现数据库起不来,同时新挂载的ASM磁盘组一直是offline。尝试手动mount, 报错: 

    

ORA-15032: not all alterations perfORMed

ORA-15038: disk '/dev/mapper/newdisk01' mismatch on 'Time Stamp' with target disk group [2434962992] [2434985720]

ORA-15038: disk '/dev/mapper/newdisk02' mismatch on 'Time Stamp' with target disk group [2434962992] [2434985720]

ORA-15038: disk '/dev/mapper/newdisk03' mismatch on 'Time Stamp' with target disk group [2434962992] [2434985720]

ORA-15038: disk '/dev/mapper/newdisk04' mismatch on 'Time Stamp' with target disk group [2434962992] [2434985720]

ORA-15038: di

      通过谷歌,MOS搜索, 可能是磁盘给其他ASM实例使用过,或者是多路径配置的问题。尝试修改asm_diskstring,尝试手动mount, 这次错误变了:

     

WARNING: Disk Group NEWDATA containing spfile for this instance is not mounted

ORA-15032: not all alterations performed

ORA-15038: disk '/dev/mapper/3600c0ff0003af211de24985e01000000' mismatch on 'Time Stamp' with target disk group [2434985720] [2434962992]

      可以看到提示的磁盘变了。这个盘我并未加入ASM磁盘组,为什么也提示这个。我推测可能与原asm_diskstring='/dev/mapper/*'有关。虽然盘并未加入磁盘组,ASM实例启动的时候,还是去扫描了磁盘头。通过kfed, amdu等工具扫描ASM磁盘,都没有问题。同时, amdu可以读出数据文件。这样就没有丢失数据的风险(这里已经被吓尿了)。

    根据MOS文档, Doc ID 2643105.1, 也有类似的症状,一个没有加入到ASM磁盘组的磁盘,阻止了磁盘组的正常启动,同时也是发生在主机重启之后:
    

sql> alter diskgroup ACFS mount;
alter diskgroup ACFS mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15017: diskgroup "ACFS" cannot be mounted
ORA-15040: diskgroup is incomplete
ORA-15038: disk '/dev/<asmdevices>/asm2' mismatch on 'Time Stamp' with target
disk group [2026420570] [2026683750]
ORA-15038: disk '/dev/<asmdevices>/asm1' mismatch on 'Time Stamp' with target
disk group [2026420570] [2026683750]
ORA-15038: disk '/dev/<asmdevices>/asm0' mismatch on 'Time Stamp' with target

disk group [2026420570] [2026683750]

A Disk at OS level has this diskgroup information in its header incorrectly:

$GI_HOME/bin:>  kfed read <OS ASM device path>

kfdhdb.dskname: ACFS_4 ; 0x028: length=11
kfdhdb.grpname: ACFS ; 0x048: length=6                                          >>>>>>>>>>>>>>>>>>>Here
kfdhdb.fgname: ACFS_4 ; 0x068: length=11
您可能感兴趣的文档:

--结束END--

本文标题: 记一次数据库事故-ORA-15038

本文链接: https://www.lsjlt.com/news/48117.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作