数据库恢复(database restore)之兵不血刃——半小时恢复客户数据库
昨天,一个客户打打来电话,说他们的数据库坏了,不能用了,需要我帮助恢复下,这马上要放假了,居然出了这事儿,自己也不太喜欢恢复数据库这类,尤其是他们的数据库是个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)之兵不血刃——半小时恢复客户数据库的更多相关文章
- 显式激活数据库( ACTIVATE DATABASE)
某天值班员联系我说,我负责的一套报送系统没有按时生成报文,因为此报警提前量比较大,加上系统经常发生未按时生成报文的事件,也就是没在意,然后不急不慢的到公司,打开系统页面,发现其中一个存储过程跑了将近8 ...
- oracle数据库recover和restore的区别
restore just copy the physical file, recover will consistent the database.restore 是还原,文件级的恢复.就是物理文件还 ...
- 每篇半小时1天入门MongoDB——2.MongoDB环境变量配置和Shell操作
上一篇:每篇半小时1天入门MongoDB——1.MongoDB介绍和安装 配置环境变量 Win10系统为例 右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program F ...
- 跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现
提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关. 而事务的ACID(即原子性Atomicity.一致性Consiste ...
- 【SQLServer】【恢复挂起的解决方案】附加文件时候的提示“无法重新生成日志,原因是数据库关闭时存在打开的事务/用户,该数据库没有检查点或者该数据库是只读的。 ”【数据库恢复】
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 先贴错误: 吐槽一下: 进入正题: 新建一个同名数据库 停止MSSQL服务 替换数据库文 ...
- 数据库(Database)
一.定义 1. 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,简单来说是本身可视为电子化的件柜--存储电子文件的处所,用户可以对文件中的数据进行新增.截取.更新.删除等操作.数 ...
- smarty半小时快速上手入门教程
http://www.jb51.net/article/56754.htm http://www.yiibai.com/smarty/smarty_functions.html http://www. ...
- 【转载】一个小时学会MySQL数据库
一个小时学会MySQL数据库 目录 一.数据库概要 1.1.发展历史 1.1.1.人工处理阶段 1.1.2.文件系统 1.1.3.数据库管理系统 1.2.常见数据库技术品牌.服务与架构 1.3.数 ...
- 【半小时大话.net依赖注入】(下)详解AutoFac+实战Mvc、Api以及.NET Core的依赖注入
系列目录 上|理论基础+实战控制台程序实现AutoFac注入 下|详解AutoFac+实战Mvc.Api以及.NET Core的依赖注入 前言 本来计划是五篇文章的,每章发个半小时随便翻翻就能懂,但是 ...
随机推荐
- 51nod 1275 连续字段的差异(单调队列)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1275 题意: 思路: 固定某个端点,然后去寻找满足能满足要求的最大区间, ...
- webservice跨域问题
在webconfig里面加上 <httpProtocol> <customHeaders> <add name="Access-Co ...
- file_put_contents结合print_r,打造日志功能
<?php $log = []; $log['name'] = '张三'; $log['age'] = '15'; $log['date'] = date('Y-m-d'); echo prin ...
- JavaSE习题 第六章 字符串和正则表达式
Make efforts eveyday 问答题 1.对于字符串 String s1=new String("ok"); String s2=new String("ok ...
- Linux下boost库的编译、安装详解
下载boost源码 boost下载地址 解压到一个目录 tar -zxvf boost_1_66_0.tar.gz 编译boost库 进入boost_1_66_0目录中 cd boost_1_66_0 ...
- Codeforces 1071 C - Triple Flips
C - Triple Flips 思路: 小范围暴力 大范围递归构造 构造方法: solve(l, r) 表示使l 到 r 区间全变为0的方法 为了使反转次数小于等于n/3 + 12 我们只需要保证每 ...
- [C#]获取连接MySql数据库及常用的CRUD操作
测试如下: 首先添加引用:MySql.Data.dll 链接:http://pan.baidu.com/s/1dEQgLpf 密码:bnyu *将链接数据库的信息放入配置文件中(app.config) ...
- 用原生js来处理跨域的数据(jsonp)
说明总结: 1.ajax和jsonp其实本质上是不同的东西.ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加<script>标签来调用服务器提 ...
- 滑动拼图 Sliding Puzzle
2018-09-09 22:01:02 问题描述: 问题求解: 问题很Interesting,其实本质就是解空间遍历,使用BFS就可以很快的予以解决~ public int slidingPuzzle ...
- 【简单易懂】JPA概念解析:CascadeType(各种级联操作)详解
https://www.jianshu.com/p/e8caafce5445 [在一切开始之前,我要先告诉大家:慎用级联关系,不要随便给all权限操作.应该根据业务需求选择所需的级联关系.否则可能酿成 ...