场       景:客户的服务器是在虚拟机上,结果虚拟机的服务器的硬盘坏掉了。硬盘换掉后,系统成功恢复出来,但是登录虚拟机后,数据库无法启动。

解决方案:通过冷恢复将数据库还原。在自己的电脑上搭建一个和虚拟机系统一致的环境,包括操作系统、数据库版本、数据库安装目录都和虚拟机一致;

再将虚拟机的数据文件路径中的文件全部覆盖到新系统的相同目录中;最后通过sqlplus命令启动数据库。

操作步骤:

数据库A无法启动,将数据库A的数据冷恢复到数据库B。

操作步骤如下:

1>创建数据库B,操作系统、数据库版本、安装目录都必须跟数据库A的环境一致。

2>关闭数据库B,按照如下操作关闭数据库B。

3>将数据库A中D:\oracle\ora92\database和D:\oracle\oradata\tempo文件夹中的数据拷贝出来,覆盖到数据库B对应的目录中。

D:\oracle\oradata\tempo中的“tempo"是数据库名,此目录是安装数据库的时候指定的数据文件的路径,里面保存的是控制文件、日志文件、数据文件。

4>启动数据库,按照下图启动数据库。如果未报错则可以正常登录数据库了。如果报错,则查看日志文件定位错误。

5>启动数据库报错,执行alter database open,如果报错无法标识数据文件,错误如下图。

  1. ORA-01157: 无法标识/锁定数据文件
  2. ORA-01110: 数据文件 2: D:\oracle\oradata\tempo\UNDOTBS01.DBF;

处理步骤

5.1>执行操作”alter database datafile 'D:\oracle\oradata\tempo\UNDOTBS01.DBF' offline drop; “。

5.2>执行操作"alter database open; "。

重复执行5.1和5.2,直到操作5.2不报错为止。

注释:操作5.1中的DBF文件为执行5.2报错中提示的DBF文件。

oracle数据库冷恢复的更多相关文章

  1. oracle数据库冷备中的手工备份和恢复

    我的操作系统是red hat5.5 32位系统oracle11g 以我的系统为例: 冷备状态下,数据库必须是关闭的,但是我们现在要做一个实验,在开库的状态下分别查询出: 1.show paramete ...

  2. Oracle数据库冷备份与恢复(救命稻草)

    说明,只要是同样系统,同样数据库版本,是可以做冷备恢复.冷备份数据必须是数据库不在open状态下.以oracle11gR2为例. 一.冷备份与冷恢复 具体步骤如下. 1. 复制旧的数据库文件 (1) ...

  3. Oracle数据库文件恢复与备份思路

    怎样才能对Oracle数据库进行备份?如何才能对删除的数据再进行恢复?这是困扰着很多人的问题.大家都知道,任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操 ...

  4. oracle数据库全然恢复和不全然恢复以及运行用户管理辈分恢复

    比較全然恢复和不全然恢复: 一.全然恢复:将数据库恢复到当前最新状态,包含直至请求恢复时进行的全部已提交的数据更改 二.不全然恢复:将数据库恢复到请求恢复操作之前指定的过去时间点 一.全然恢复过程 以 ...

  5. oracle数据库表恢复到特定时间点

    某一张表被应用软件里误操作把数据都清空了,现在想恢复到清空之间,比如2013年8月13日14点以前,应该怎样操作? 通过这个问题可以引发一系列的知识点串联. 1.如果开启闪回可以使用闪回表. 怎样查看 ...

  6. Oracle数据库备份恢复,巡检须要关注的对象设置以及相关恢复概述

    数据库备份恢复.巡检须要关注的对象设置: 1.数据库名称,以及DBID:  --dbid在v$database中     SYS@ORCL>select dbid,name from v$dat ...

  7. Windows系统下Oracle数据库冷备

    一.背景: 具体的场景是数据库不是普通的OLTP系统,更像是OLAP系统,数据的更新频率很低,在noarchivelog 模式下运行,实时性要求低,但是数据只有一份不能弄丢,需要应付磁盘损坏等情况.这 ...

  8. ORACLE数据库误删恢复

    一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from r ...

  9. oracle数据库误删恢复方法

    一.如果只是误删部分数据或者某条数据可以通过 1.select * from 误删除的表明 as of timestamp to_Date('恢复年月日  时分秒', '恢复时间格式')       ...

随机推荐

  1. Java API下载和查阅方法

    使用来自API的类是简单的.只要把它当做自己写的就可以,采用import来引用,可以节省自己编程的气力~ 1.API文档下载地址 https://www.oracle.com/technetwork/ ...

  2. 24 week 4 安装 docker

    安装docker 出现问题 解决办法https://blog.csdn.net/VOlsenBerg/article/details/70140211 发现链接超时,然后就https://blog.c ...

  3. (Unity4.7)assetbundle 坑爹总结

    使用版本Unity4.7 一.关于依赖打包 1.当一个被打包的资源A引用了其他的资源B,并且没有被打成一个包时,要选用[BuildAssetBundleOptions.CollectDependenc ...

  4. C# 监测每个方法的执行次数和占用时间(测试1)

    在Nuget引用 Castle.DynamicProxy 和 Newtonsoft.Json 这个 原文:http://www.cnblogs.com/RicCC/archive/2010/03/15 ...

  5. mysql 拼接字符

    Mysql的查询结果行字段拼接,可以用下面两个函数实现: 1. concat函数 mysql> select concat('1','2','3') from test ; +--------- ...

  6. 静态html返回

    在这篇文章中我们介绍后台路由的概念,后台的路由根据路径返回相应的内容, 首先我们建立一个服务器 let port = 3000 //监听端口let fs = require ('fs')//用来生成可 ...

  7. sqlite 时间戳转时间

    ), 'unixepoch','localtime') from messages where data != '' order by timestamp desc 官方eg: Examples Co ...

  8. JDBC的基本概念

    英文名:Java DataBase Connectivity 中文名:数据库连接 作用: java操作数据库 本质上(sun公司的程序员)定义的一套操作关系型数据库的规则也就是接口,各数据库厂商实现接 ...

  9. 抖音爆火的随机点名Java实现原理,没有连接数据库

    抖音爆火的随机点名Java实现原理,没有连接数据库 import java.util.Random; public class Array{ public static void main(Strin ...

  10. git查看某个文件修改历史

    [git查看某个文件修改历史] 1.使用git命令 git whatchanged charge.lua 显示某个文件的每个版本提交信息:提交日期,提交人员,版本号,提交备注(没有修改细节) git ...