很不幸的,win2003server疏于管理,中毒了,清理了病毒以后。oracle也瘫痪了。上次备份还在一周前,这一周的数据咋办?

首先的想法,是另找一台机器,装个一模一样的oracle。再把被删的文件复制过来。

实施起来发现被删掉的文件不止几个exe这么简单,dll文件还有oracle服务也被删掉了,恢复起来还挺麻烦的。





然后就选择第二条路。重装oracle。首先记得要把原有的oracle主文件夹备份了。

第1次尝试:

选择不创建数据库,仅安装软件,选择原文件夹,然后报错,说安装位置冲突

[INS-32025]所选安装与指定Oracle主文件夹中已安装的软件冲突

解决的方法:删除C:\Program Files\Oracle文件夹,安装继续

然后又提示原文件夹有内容,选择继续,安装完毕。

可是安装完毕后,啥都没变。删除的文件没有回来。

第2次尝试

把原product文件夹删掉,再装。这次删除的exe和dll文件回来了,可是oracle服务没有恢复。执行数据库配置助手。发现它也没有识别并载入到原数据库文件。

第3次尝试

先卸载,提示要使用deinstall.exe,照做,一路回车,卸载完成。然后彻底删除原oracle,包含注冊表、主文件夹、和其他文件。具体參见网络文章。

再次安装,这次选择了创建数据库,实例名还是保持原来的一样。

安装过程中出现了一些问题,比方无权改动键,监听创建失败,数据库创建失败等,心都凉了,也仅仅能一路忽略继续。

装完后发现服务回来了,手工启动TNSListener监听服务。启动OracleService实例服务。所幸没有影响。正常启动,可以正常登录连接熟悉的scott。哦也。

然后就是恢复数据了,停掉OracleService服务。把备份的原库主文件夹下的oradata文件夹所有覆盖过去。

连接提示:ORA-12528: TNS: 监听程序: 全部适用例程都无法建立新连接

别慌。打开主文件夹\product\11.2.0\dbhome_1\NETWORK\ADMIN下的listener.ora文件,在SID_LIST_LISTENER配置改动成:

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = C:\oracle\product\10.1.0\db_1)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (GLOBAL_DBNAME = 数据库实例名)

      (ORACLE_HOME = c:\oracle\product\10.1.0\db_1)

      (SID_NAME = 数据库实例名)

    )

  )

蓝色是加入的,保存后重新启动TNSListener。

这次似乎成功了,sysdba能够连接上了,但是连接scott时又报错了:ora-01033:oracle initializationg or shutdown in progress

用cmd方式。运行sqlpuls /nolog,打开sqlplus,

SQL>connect sys/password@orcl as sysdba  用sysdba连接数据库

SQL>shutdown immediate      停止服务

出现一个ORA-01507的报错,只是还是显演示样例程已关闭,那就别管这个错了。

SQL>startup                          启动服务

发现报错:

ORACLE 例程已经启动。

Total System Global Area  778387456 bytes

Fixed Size                  1374808 bytes

Variable Size             234882472 bytes

Database Buffers          536870912 bytes

Redo Buffers                5259264 bytes

ORA-00211: ??

?

?

?

?

??

?

??

????

ORA-00202: ????: ''D:\ORACLE11G\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL''

那就是这个文件有问题罗

     SQL>shutdown immediate      再次停止服务

把备份的原库主文件夹下的FLASH_RECOVERY_AREA文件夹所有覆盖过去。

SQL>startup                          再次启动服务

连接scott。成功。

连接生产用户。成功。。!

差点哭了……

假设上天给我再来一次的机会,我一定搞成每天自己主动备份。

ORACLE11g中毒恢复的更多相关文章

  1. 传奇装备锻造升级UPGRADEITEMEX功能详解

    装备升级功能可以指定升级物品及属性,按指定机率得到结果.需要升级的装备物品必须放在身上.命令格式UPGRADEITEMEX 物品位置(0-12) 属性位置(0-14) 成功机率(0-100) 点数机率 ...

  2. DBC里首饰不同代码的含义

    DuraMax"这个就是我们要找的物件持久的属性了,一开始怎么也找不到,原来这里的变量中 "1000"表示1个持久度,那么"40000"就表示40个持 ...

  3. oracle11g 数据文件误删恢复(无备份)

    OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...

  4. Oracle-11g 基于 NBU 的 rman 冷备份及恢复

    html,body { font-size: 15px } body { font-family: Helvetica, "Hiragino Sans GB", "微软雅 ...

  5. ORACLE11g 没有控制文件如何通过rman备份恢复数据的详细实战过程

    1.副总裁需要裸恢复的严峻现实 集团总部的信息部负责人给我打电话说为了找一年前的记录,所以需要对一年前2015年5月1日的数据进行恢复.而2016年初因为进行迁移,所以有些文件可能丢失,手上只有rma ...

  6. 教你u盘中毒后如何恢复被隐藏文件

    方法1: 1)在桌面空白处单击鼠标右键,新建一个文本文档,如下图所示: 2) 然后将下列一段代码拷贝到文档中: for /f "delims=?" %%a in ('dir /a ...

  7. ORACLE11G 将dataguard的rman备份恢复到測试环境的单机oracle中的具体过程

    . 也就是说此时数据库仅仅能进行不全然恢复了,在打开数据库时得使用resetlogs打开. recover database until scn 11412370952; RMAN> recov ...

  8. ORACLE11g 重装系统后根据dbf恢复数据库

    1.安装一个和原系统一致的oracle 环境,主要包括版本.数据名sid.实例名.路径和数据库编码一致 2.修改listener.ora的参数 SID_LIST_LISTENER = (SID_LIS ...

  9. 测试oracle数据库的脱机备份和恢复

    环境:windows7.Oracle11g 一.脱机备份 脱机备份是指在数据库关闭情况下的数据备份,也称为冷备份. 在书上学到的备份步骤: 1.记录所要备份数据库文件所在的操作系统路径: 2.关闭数据 ...

随机推荐

  1. Splunk的安装与使用

    一.简单介绍         Splunk 是机器数据的引擎.使用 Splunk 可收集.索引和利用全部应用程序.server和设备(物理.虚拟和云中)生成的高速移动型计算机数据 .从一个位置搜索并分 ...

  2. Oracle基础重点概要

    表空间                                                                 逻辑上处于数据库之下,利用表空间可以更灵活地规划数据库结构. 创 ...

  3. java 切图 判断图片是否是纯色/彩色图片

    首先上切图的代码 /** * 图片剪裁 * @param x 距离左上角的x轴距离 * @param y 距离左上角的y轴距离 * @param width 宽度 * @param height 高度 ...

  4. 【pyhon】理想论坛爬虫1.05版,将读取和写DB分离成两个文件

    下午再接再厉仿照Nodejs版的理想帖子爬虫把Python版的也改造了下,但美中不足的是完成任务的线程数量似乎停滞在100个左右,让人郁闷.原因还待查. 先把代码贴出来吧,也算个阶段性成果. 爬虫代码 ...

  5. mysql字符集说明

    mysql字符集说明 一.mysql中涉及的几个字符集 Ø character-set-server/default-character-set:服务器字符集,默认情况下所采用的. Ø charact ...

  6. ArcEngine10.x开发的许可问题

    1. ArcEngine9.x迁至ArcEngine10.x 相信很多同学都知道,在ArcEngine9.x下正常编译的代码到ArcEngine10.x会报错:ArcGIS version not s ...

  7. utc时间转换成标准时间

    把这个时间 /Date(1484884647943+0800)/ 转成标准时间 String str = String.format("%tF %<tT", 14848846 ...

  8. php之快速入门学习-2

    创建(声明)PHP 变量 PHP 没有声明变量的命令. 变量在您第一次赋值给它的时候被创建: <?php $txt="Hello world!"; $x=5; $y=10.5 ...

  9. 圆形Camera预览实现

    需求 最近有个需求要求界面上使用圆形相机预览进行面部检测 , 具体需求如下图 关于Camera之前接触得比较多 , 主要就是通过SurfaceView显示预览视图 , 因此需要展示圆形预览界面, 只需 ...

  10. 解决Eclipse里项目名有红叉,但是底下的每一个文件都没有红叉

    有这种错误让人很恼火,因为并不知道是哪个文件引起的整个项目错误.所以我们可以打开下边的错误按钮,看看是什么问题. 1.如果是因为java compiler level does not match t ...