当前位置: 首页 > news >正文

【Oracle专栏】扩容导致数据文件 dbf 丢失,实操

 Oracle相关文档,希望互相学习,共同进步

风123456789~-CSDN博客


1.背景

        同事检查扩容情况,发现客户扩容后数据盘后,盘中原有文件丢失,再检查发现数据库没有启动。通过检查发现数据盘中丢失的是oracle的 dbf 表空间文件。数据库无法启动。

    检查情况:1)没有rman备份   2)dbf文件丢失  3)数据库无法启动

    总体解决思路:想办法把数据库启动起来,重新导入dmp文件

                             或者 最终如果还不行,重装 导入

2. 检查

2.1 检查状态

检查数据库状态:sql查询 或 show pdbs

-- 查看实例状态
SELECT status FROM v$instance;-- 查看数据库的启动状态
SELECT open_mode FROM v$database;

结果截图:

数据库启动状态 

结果分析:发现数据库是mount状态。

      mount状态:仅当前实例的控制文件被打开,数据文件未打开,在这个模式下可以进行如下操作:重命名数据文件、添加取消或重命名重做日志文件、设置归档模式、设置闪回、执行完整的数据库恢复操作等。 

2.2 问题排查

1)尝试启动

命令:alter database open;

结果截图:

分析:

SQL> alter database open;                                                                                 
alter database open                                                                                       
*                                                                                                         
ERROR at line 1:                                                                                          
ORA-01157: cannot identify/lock data file 18 - see DBWR trace file                                        
ORA-01110: data file 18: '/vdb1/oracle/ny_data_001.dbf

2)问题排查

发现/vdb1 文件为空,没有文件了

3)其他

因为数据库没有open,无法生产awr报告:

-- 生成AWR报告

@$ORACLE_HOME/rdbms/admin/awrrpt.sql;

-- 生成ADDM报告

@$ORACLE_HOME/rdbms/admin/addm.sql;

2.3 准备恢复

1)查看环境变量 家目录

echo  $ORACLE_HOME

 结果:/data/u01/app/oracle/product/19.3.0/dbhome_1

2)查看alert日志

cd $ORACLE_BASE/diag/rdbms/<db_name>/<oracle_sid>/trace/alert_<oracle_sid>.log

select file#,name,status from v$datafile;

3) 查看是否开启rman

命令:rman target /

     rman > report schema

 rman target /                          Recovery Manager: Release 19.0.0.0.0 - Production on Mon May 12 15:00:00 2025
Version 19.22.0.0.0                                              Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.connected to target database: ORCL (DBID=1622948453, not open)   RMAN> report schema;                                             using target database control file instead of recovery catalog   
Report of database schema for database with db_unique_name ORCL  List of Permanent Datafiles       
http://www.xdnf.cn/news/436843.html

相关文章:

  • LeetCode_sql刷题(3482.分析组织层级)
  • 鸿蒙OSUniApp制作一个小巧的图片浏览器#三方框架 #Uniapp
  • STM32 之网口资源
  • 大模型微调实战:基于GpuGeek平台的低成本高效训练方案
  • 光流 | Matlab工具中的光流算法
  • 团结引擎开源车模 Sample 发布:光照渲染优化 动态交互全面体验升级
  • MySQL八股(自用)
  • 学习threejs,使用Physijs物理引擎,通过控制重力,实现多米诺骨牌效果
  • Python+Selenium爬虫:豆瓣登录反反爬策略解析
  • Myshell与清华联合开源TTS模型OpenVoiceV2,多语言支持,风格控制进一步增强~
  • 深度学习入门:卷积神经网络
  • CSS常用选择器
  • Flink SQL 将kafka topic的数据写到另外一个topic里面
  • RPM 包制作备查 SRPM 包编译
  • 通过MCP让LLM调用系统接口
  • PDF Base64格式字符串转换为PDF文件临时文件
  • RabbitMQ 快速上手:安装配置与 HelloWorld 实践(一)
  • 【CUDA】Sgemm单精度矩阵乘法(下)
  • MQ消息队列的深入研究
  • STM32F103C8T6板子使用说明
  • 通讯录管理系统(IO_序列化和反序列化版)
  • 学习日志05 java
  • Cookie、 Local Storage、 Session Storage三种客户端存储方式
  • vshell渗透测试工具介绍
  • 从零实现一个高并发内存池 - 1
  • WHAT - 《成为技术领导者》思考题(第八章)
  • Yarn-Tool接口定义
  • python高级特性二
  • Java 反射
  • 久坐办公自动提醒休息的工具