由于+RECO磁盘组故障,导致指向该磁盘组的DB_RECOVERY_FILE_DEST下的文件都丢失。因为数据库文件使用OMF,对数据库影响较大的是一份控制文件和一半日志成员丢失,而控制文件缺失会造成数据库无法正常启动,报错如下:

ORA-00205: error in identifying control file, check alert log for more info

OMF管理的控制文件中有一份是保存的+DATA磁盘组上,于是使用这份完整的控制文件来恢复+RECO磁盘组中的控制文件:
1)使用控制文件原来的的文件名称来恢复控制文件,结果失败:

ASMCMD> cp +DATA/ORCL/CONTROLFILE/current.272.1093648975  +RECO/ORCL/CONTROLFILE/current.256.1093648975
copying +DATA/ORCL/CONTROLFILE/current.272.1093648975 -> +RECO/ORCL/CONTROLFILE/current.256.1093648975
ASMCMD-8016: copy source '+DATA/ORCL/CONTROLFILE/current.272.1093648975' and target '+RECO/ORCL/CONTROLFILE/current.256.1093648975' failed
ORA-15056: additional error message
ORA-15046: ASM file name '+RECO/ORCL/CONTROLFILE/current.256.1093648975' is not in single-file creation form
ORA-06512: at "SYS.X$DBMS_DISKGROUP", line 617
ORA-06512: at line 3 (DBD ERROR: OCIStmtExecute)

2)不指定新控制文件文件的名称,直接拷贝完好的控制文件,即使用+DATA磁盘组上的控制文件名称,结果也失败:

ASMCMD> cp +DATA/ORCL/CONTROLFILE/current.272.1093648975  +RECO/ORCL/CONTROLFILE/
copying +DATA/ORCL/CONTROLFILE/current.272.1093648975 -> +RECO/ORCL/CONTROLFILE/current.272.1093648975
ASMCMD-8016: copy source '+DATA/ORCL/CONTROLFILE/current.272.1093648975' and target '+RECO/ORCL/CONTROLFILE/current.272.1093648975' failed
ORA-15056: additional error message
ORA-15046: ASM file name '+RECO/ORCL/CONTROLFILE/current.272.1093648975' is not in single-file creation form
ORA-06512: at "SYS.X$DBMS_DISKGROUP", line 617
ORA-06512: at line 3 (DBD ERROR: OCIStmtExecute)

3)使用不带数字后缀的名称来命名新控制文件,命令成功。但是新控制文件实际上是保存在了+RECO/ASM/CONTROLFILE/位置,只在+RECO/ORCL/CONTROLFILE/上创建了一个别名:

ASMCMD> cp +DATA/ORCL/CONTROLFILE/current.272.1093648975  +RECO/ORCL/CONTROLFILE/current
copying +DATA/ORCL/CONTROLFILE/current.272.1093648975 -> +RECO/ORCL/CONTROLFILE/currentASMCMD> ls -l
Type         Redund  Striped  Time             Sys  Name
CONTROLFILE  UNPROT  FINE     AUG 27 00:00:00  N    current => +RECO/ASM/CONTROLFILE/current.256.1113785871

因此,在ASM中创建新文件时是不能指定由ORACLE自动生成的数字后缀,也就无法直接恢复原有的文件,只能通过更改文件名称的方式来进行恢复。

最后,更改初始化参数control_files,让丢失的控制文件指向恢复的新名称的控制文件。

#创建pfile
startup nomount
create pfile='/u01/app/oracle/product/19.0.0/dbhome/dbs/pfileorcl.ora' from spfile;#编辑pfile,去掉名称后面的数字后缀
*.control_files='+DATA/ORCL/CONTROLFILE/current.272.1093648975','+RECO/ORCL/CONTROLFILE/current'#关闭数据库
shutdown immediate#使用更改的pfile启动数据库到挂载模式
startup pfile='/u01/app/oracle/product/19.0.0/dbhome/dbs/pfileorcl.ora' mount;ORACLE instance started.Total System Global Area 8657039528 bytes
Fixed Size                 12443816 bytes
Variable Size            2852126720 bytes
Database Buffers         5771362304 bytes
Redo Buffers               21106688 bytes
Database mounted.
SQL> show parameter control_filesNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      +DATA/ORCL/CONTROLFILE/current.272.1093648975, +RECO/ORCL/CONTROLFILE/current#重新创建spfile
create spfile='+DATA/ORCL/PARAMETERFILE/spfile' from pfile='/u01/app/oracle/product/19.0.0/dbhome/dbs/pfileorcl.ora';#关闭数据库,重新启动,再次确认控制文件的位置
shutdown immediate
startup mount

ASM磁盘组中的控制文件丢失处理相关推荐

  1. oracle 数据文件 属组,kfed找出来asm 磁盘组中数据文件别名对应的文件号—amdu恢复...

    前段时间有多个朋友问我,在amdu中,如果数据文件命名不是omf的方式,该如何找出来数据文件的asm file_number,从而实现通过amdu对不能mount的磁盘组中的数据文件进行恢复,这里通过 ...

  2. oracle 数据文件从文件系统移动到asm磁盘组中

    刚记录了临时文件创建错位置的处理,又联想到数据文件的创建错位置的处理,一起记录下,去年处理的案例 准备做数据库启停时,db2节点上检查alert日志时发现有报错,登录sql检查发现如下问题 SQL&g ...

  3. 12.2 数据库控制文件复制到ASM磁盘组

    1 描述 当前数据库t12csia1 参数文件与控制文件皆在文件系统上. 本文档目的是将数据库参数文件与数据库控制文件都放入asm中去. ASM实例有两个磁盘组DATA  和 RECOED02, 将文 ...

  4. RAC中ASM磁盘组管理

    1,添加磁盘后,fdisk分区/dev/sdd     (linux) 2,创建ASM磁盘      service oracleasm createdisk VOL1 /dev/sdd1       ...

  5. asm冗余 oracle_oracle 11.2.0.1 rac 修改asm磁盘组的冗余模式(redundancy mode)为normal

    oracle 11.2.0.1 rac 修改asm磁盘组的冗余模式(redundancy mode)为normal 背景介绍: oracle 11.2.0.1 linux rac , ocr和vote ...

  6. oracle中asm磁盘不足,Oracle用户无法访问ASM磁盘组问题

    1. 权限问题引起找不到ASM磁盘组 1.1 确认操作系统用户属主 # 确认属主 Grid Infrastructure Home Owner : grid Primary Group : oinst ...

  7. 【解决方法】因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间

    文章目录 平台 问题描述 解决问题 1.查看数据库数据文件存放路径 2.查看存放路径的盘是否已满 3.更改数据库设置 平台 sqlserver 2012 问题描述 正常运行的生产系统,今天下午突然发现 ...

  8. oracle 复制组删除,利用copy在ASM磁盘组之间迁移

    从+DISK迁移到+DG1磁盘组 一.复制数据库文件到ASM磁盘组 1.启动到mount状态(启动第一节点数据库到mount,其它节点数据库实例关闭) SQL> startup mount; 2 ...

  9. centos7创建asm磁盘_Oracle ASM 磁盘组基础知识整理(收藏版)

    为什么要写这么一篇基础知识呢?还是有那么一点点原因的,不是胡编乱造还真是有真实存在的事件的,前两周里因一套生产环境数据库磁盘不足无法对其进行表空间扩容,需要向存储岗申请存储资源,当存储岗划好资源加完存 ...

最新文章

  1. 关于mongodb ,redis,memcache之间见不乱理还乱的关系和作用
  2. python传递指针_使用Python / C API传递C指针
  3. QEMU — 编译安装指定的版本
  4. java 将换行代替_Java批量将文件中的段落替换成空格,根据指定分隔符换行(SQL示例)...
  5. 作者:桑健(1989-),男,中国科学院北京基因组研究所生命与健康大数据中心博士生...
  6. 人口增长(信息学奥赛一本通-T1070)
  7. 一起学习C语言:初步进入编程世界(三)
  8. 【转】Visio(流程图绘制软件)的免费替代品
  9. PE基础5-权限提升-内存管理
  10. 深度学习计算机视觉五大技术:图像分类、对象检测、目标跟踪、语义分割和实例分割
  11. kernel or user oops信息定位步骤
  12. mac sudo: /etc/sudoers is world writable
  13. 计算机图形学笔记------变换与光栅化的理论知识
  14. Java聊天室yadiChat step1 登陆注册
  15. 【JY】2021全国首届工程仿真大赛154个项目视频教程分享
  16. python 修改pdf_使用Python编辑PDF
  17. C语言多个源文件编译
  18. 互联网公司各岗位真实工作内容起底
  19. MTK 平台TP调试遇坑
  20. 射频中IM3、IIP3、OIP3、G、P1dB指标计算

热门文章

  1. 4线触摸屏控制器ET2046介绍
  2. 玩客云安装青龙面板实现京东签到薅羊毛
  3. 《金融科技(FinTech)发展规划(2019-2021年)》梳理
  4. 同为标准版 OPPO Reno7和华为nova9怎么选,这几点要搞清楚
  5. Android APP启动白屏的解决办法
  6. 使用logisim设计简易CPU
  7. elasticsearch篇之mapping
  8. 智慧屏新品尝鲜:精致机身旗舰声画
  9. 【iOS】—— 调用手机相机和相册
  10. 微型计算机内存为16m,微型计算机的内存为16M,指的是其内存容量为()。