昨天,一个客户打打来电话,说他们的数据库坏了,不能用了,需要我帮助恢复下,这马上要放假了,居然出了这事儿,自己也不太喜欢恢复数据库这类,尤其是他们的数据库是个win上的库,但心里很清楚,客户比咱着急,客户就是上帝,没什么好说的,开工吧。通过认真了解,大体明白了客户的情况,他们的库是在win上的Oracle11g,因为杀毒软件的把Oracle软件的某些文件当成了病毒给删了,而且顽固到拷贝过去就会删掉,后来也不知道删了多少文件,数据库就起不来了,我也不知道他们把数据库给主动关了,还是数据库自己宕掉了,反正结果就是起不来了。经过检查,数据文件应该还没问题,只是大体判断而已,开始恢复吧。

1、安装软件

首先,得先重新安装Oracle软件,经过和客户沟通,他们很自信的说可以自己重新安装软件,于是,先由他们来安装数据库软件,为了保险起见,让他们把软件安装到和之前不同的位置。让我有点惊讶的是,客户安装软件非常快,可能也就10多分钟就装完了。为了说明,假设原来的软件安装路径为:

d:\app\erp\product\11.2.0\dbhome_1

新安装软件的路径为:

d:\app\erp\product\11.2.0\dbhome_2

软件装完了,接下来需要做的就是看看能否用新安装的软件把数据库拉起来。
2、设置环境变量

打开计算机高级设置-->环境变量设置--->设置:

ORACLE_SID=ora11g

ORACLE_BASE=d:\app\erp\product\

ORACLE_HOME=d:\app\erp\product\11.2.0\dbhome_2

将path中oracle有关路径d:\app\erp\product\11.2.0\dbhome_1\bin -->d:\app\erp\product\11.2.0\dbhome_2\bin

3、拷贝相应文件:

cp d:\app\erp\product\11.2.0\dbhome_1\database\*.* d:\app\erp\product\11.2.0\dbhome_2\database\

cp d:\app\erp\product\11.2.0\dbhome_1\network\*.* d:\app\erp\product\11.2.0\dbhome_2\network\
4、注销并重新登录OS用户
5、先删除旧的oracle服务

oradim -delete -srvc oracleserviceora11g
6、新建oracle服务:
oradim -new -srvc oracleserviceora11g -sid ora11g -startmode auto -shutmode immediate -srvcstart demande -spfile
7、重启新建的oracle服务

net start oracleserviceora11g

lsnrctl start
8、登录数据库测试:
sqlplus test/test@ora11g
如果能顺利登录数据库,说明到此一切OK。
9、删除旧的oracle软件目录,以释放空间。

10、至此,客户数据库恢复完成,前后大概半个多小时的样子。

数据库恢复(database restore)之兵不血刃——半小时恢复客户数据库的更多相关文章

  1. 显式激活数据库( ACTIVATE DATABASE)

    某天值班员联系我说,我负责的一套报送系统没有按时生成报文,因为此报警提前量比较大,加上系统经常发生未按时生成报文的事件,也就是没在意,然后不急不慢的到公司,打开系统页面,发现其中一个存储过程跑了将近8 ...

  2. oracle数据库recover和restore的区别

    restore just copy the physical file, recover will consistent the database.restore 是还原,文件级的恢复.就是物理文件还 ...

  3. 每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作

    上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program F ...

  4. 跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现

    提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关. 而事务的ACID(即原子性Atomicity.一致性Consiste ...

  5. 【SQLServer】【恢复挂起的解决方案】附加文件时候的提示“无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。 ”【数据库恢复】

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 先贴错误: 吐槽一下: 进入正题: 新建一个同名数据库 停止MSSQL服务 替换数据库文 ...

  6. 数据库(Database)

    一.定义 1. 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,简单来说是本身可视为电子化的件柜--存储电子文件的处所,用户可以对文件中的数据进行新增.截取.更新.删除等操作.数 ...

  7. smarty半小时快速上手入门教程

    http://www.jb51.net/article/56754.htm http://www.yiibai.com/smarty/smarty_functions.html http://www. ...

  8. 【转载】一个小时学会MySQL数据库

    一个小时学会MySQL数据库   目录 一.数据库概要 1.1.发展历史 1.1.1.人工处理阶段 1.1.2.文件系统 1.1.3.数据库管理系统 1.2.常见数据库技术品牌.服务与架构 1.3.数 ...

  9. 【半小时大话.net依赖注入】(下)详解AutoFac+实战Mvc、Api以及.NET Core的依赖注入

    系列目录 上|理论基础+实战控制台程序实现AutoFac注入 下|详解AutoFac+实战Mvc.Api以及.NET Core的依赖注入 前言 本来计划是五篇文章的,每章发个半小时随便翻翻就能懂,但是 ...

随机推荐

  1. SQLServer代理新建或者编辑作业报错

    SQLServer代理新建或者编辑作业的时候报错如下 错误信息: 标题: Microsoft SQL Server Management Studio------------------------- ...

  2. JAVA怎样理解面向对象

    一.对象   现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类.书桌.计算机.高楼大厦等.人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的.通常都 ...

  3. mutect/mutsig/gistic官网汇总

    http://software.broadinstitute.org/software/cprg/

  4. 【抓包】【Charles】

    Mac抓包神器-----Charles Charles 是一款Mac上的HTTP代理服务器.HTTP监视器.反向代理服务器,可以让开发者监视查看所有连接互联网的HTTP通信,包括请求,响应和HTTP头 ...

  5. es6中的find filter 在数组中查找对象

    数组的方法find和filter var aa=[{id:1,name:'张三'},{id:2,name:'李四'},{id:3,name:'王五'},{id:2,name:'赵六'}] aa.fin ...

  6. 《剑指offer》第四十二题(连续子数组的最大和)

    // 面试题42:连续子数组的最大和 // 题目:输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整 // 数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为O(n). #in ...

  7. vscode下ts-node传入cli参数

    ts-node写ts,启动时习惯在package.json里写 "scripts": { "build-ts": "tsc", " ...

  8. Mint wine

    卸载 http://blog.csdn.net/ouyangying123/article/details/459126051.终端中执行sudo apt-get remove wine1.3(win ...

  9. Codeforces 920G - List Of Integers

    920G - List Of Integers 思路:容斥+二分 代码: #include<bits/stdc++.h> using namespace std; #define ll l ...

  10. java重新学习记载的一些资料。

    1.ided的注册码地址. IDEA的密码:http://idea.lanyus.com/ 2.