首页 > 其他分享 >丢失了datafile该怎么办--关于datafile的恢复处理

丢失了datafile该怎么办--关于datafile的恢复处理

时间:2022-12-16 19:32:40浏览次数:59  
标签:ORACLEPRODUCT10.2 datafile -- open 丢失 file data ORA


  • 作者: 三十而立
  • 时间:2009年10月14日 4:29:04

 

csdn上的朋友遇到了这样的问题,莫名的系统坏掉了,恢复了系统后,datafile找不到了,不过在坏之前刚刚做了备份 

问题如下 

1.前几天装有ORACLE数据库的机子瘫痪重装了系统,里面有一些正在使用的数据. 
2.之前在关掉服务的情况下拷贝ORADATA下的数据,但丢失了表空间文件(不知道为啥,我把表空间放在E盘我的名字下,
找不到了).原有的数据库安装在E盘,在恢复过程中 alter database open; log出现以下问题: 

*** SERVICE NAME:() 2009-06-09 18:23:19.913 
*** SESSION ID:(167.1) 2009-06-09 18:23:19.913 
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file 
ORA-01110: data file 1: ‘G:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF’ 
ORA-27041: unable to open file 
OSD-04002: 无法打开文件 
O/S-Error: (OS 21) 设备未就绪。 
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file 
ORA-01110: data file 2: ‘G:ORACLEPRODUCT10.2.0ORADATAORCLUNDOTBS01.DBF’ 
ORA-27041: unable to open file 
OSD-04002: 无法打开文件 
O/S-Error: (OS 21) 设备未就绪。 
ORA-01157: cannot identify/lock data file 3 - see DBWR trace file 
ORA-01110: data file 3: ‘G:ORACLEPRODUCT10.2.0ORADATAORCLSYSAUX01.DBF’ 
ORA-27041: unable to open file 
OSD-04002: 无法打开文件 
O/S-Error: (OS 21) 设备未就绪。 
ORA-01157: cannot identify/lock data file 4 - see DBWR trace file 
ORA-01110: data file 4: ‘G:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF’ 
ORA-27041: unable to open file 
OSD-04002: 无法打开文件 
O/S-Error: (OS 21) 设备未就绪。 
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file 
ORA-01110: data file 5: ‘G:ORACLEPRODUCT10.2.0ORADATAORCLEXAMPLE01.DBF’ 
ORA-27041: unable to open file 
OSD-04002: 无法打开文件 
O/S-Error: (OS 21) 设备未就绪。 
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file 
ORA-01110: data file 6: ‘E:ZHANGMICHUANORACL_TABLESPACEQTY_TSPACE.ORA’ 
ORA-27047: unable to read the header block of file 
OSD-04006: ReadFile() 失败, 无法读取文件 

 

dbf 文件在E盘ORACLEPRODUCT10.2.0ORADATAORCL 目录下,能有办法将G盘改为E盘吗?还有办法恢复吗? 
我给他的解决方案 

直接通过alter database rename file 来重新指定每个datafile的文件路径, 

首先是到mount状态 
SQL>startup mount; 
如果不能到mount状态,就先修复spfile和control file,不够根据你的信息,很幸运你没有中招,这两个你都没有问题。 

不知道你的归档是否完善和正确,最好还是基于非归档的模式吧 
SQL>alter database noarchivelog; 

修改datafile路径 
例如如果现在的备份路径在E:ORACLEPRODUCT10.2.0ORADATAORCL的话 
SQL>alter database rename file ‘G:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF’ to ‘E:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF’; 

依次对所有的datefile做以上处理 

启动到open模式 
SQL> alter database open; 

检查datefile路径 
SQL> select name from v$datafile; 

以上这样的恢复方法,是确认你的E:ORACLEPRODUCT10.2.0ORADATAORADATA下有原来的datafile的备份哟,如果不是的话,就要用别的方法。 

注意操作前,一定要冷备份好你原来数据库。 

 


  • 如果没有那句“三十而立”,三十岁的男人正可以轻轻松松
  • Oracle Mysql技术论坛| 打造实用的Oracle Mysql技术交流园地


 

标签:ORACLEPRODUCT10.2,datafile,--,open,丢失,file,data,ORA
From: https://blog.51cto.com/u_9748604/5948219

相关文章

  • 阿里云服务器部署springboot项目
    一、安装jdk​​安装jdk​​二、安装mysql下载安装包:​​​rpm-ivhhttp://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm​​设置开机自启动:​​​yum......
  • 如何从0到1打磨一门 Elasticsearch 线上直播课?
    拔掉网线接口这个平时一秒钟就搞定的事,我愣是搞了半分钟才拔出来。这是我昨晚11点半最后一次直播后的最直接感受:嗓子嘶哑、身心俱疲。从2021年8月16日接到李猛老师邀约和......
  • Oracle Mysql论坛上线3周(2009-09-30) 网站技术统计
    OracleMysql论坛上线3周(2009-09-30)网站技术统计 网站技术统计 论坛会员统计 论坛发回帖统计 论坛流量统计 上周在csdn上推出了国庆的timesten系列的消息和公众班的......
  • 关于oracle开发中碰到的同列多行合并字符串的问题
    如何将Oracle中同一列的多行记录拼接成一个字符串?本人在oracle的存储过程的开发中,碰到了同一列的多行记录需要拼接成一个字符串进行存储,特此再次记录!1.可以使用wm_concat......
  • 力扣---918. 环形子数组的最大和
    给定一个长度为n的环形整数数组 nums ,返回 nums 的非空子数组的最大可能和 。环形数组 意味着数组的末端将会与开头相连呈环状。形式上,nums[i]的下一个元素是......
  • dnmp 运行多PHP版本--PHP74安装支持swoole,kafka, redis
    官方文档:https://github.com/yeszao/dnmp本身默认PHP7.1版本如果需要同时支持多个版本PHP,需要另外在配置下面举例子配置多个PHP版本--PHP7.4dnmp/service目录下......
  • (多模态)VLP
    0、图文多模态学习包含以下:普通多模态学习,如图文检索、视觉问答、视觉推理、视觉蕴含:CLIPlanguageguideddetectionlanguageguidedsegmentation文本图像生成:Da......
  • LEETCODE 222. 完全二叉树的节点个数
    递归递归很简单,遍历整棵树即可,代码复杂度为O(n)点击查看代码funccountNodes(root*TreeNode)int{ifroot==nil{return0}return1+coun......
  • 安卓高端破冰 vivo率先“微笑”
    2022年市场走到尾声,年初曾有预测市场会略有回暖,事实是后期的现实持续走低,今年手机厂商的日子并不好过。但是在这样的低迷氛围中,市场也在发生着微妙的变化。从市场份额来看,......
  • STM32时钟配置笔记
    时钟配置获取当前时钟源及总线频率RCC_ClocksTypeDefRCC_CLK;//写在main()的最前面,定义要在赋值前面RCC_GetClocksFreq(&RCC_CLK);//Getchipfrequenciesprintf("Sys......