待完成。
1、首先安装一个全新的ORACLE,包括服务名、SID,安装目录应最好与原来的ORACLE目录一致。请注意我是安装在D盘,请按照你的实际安装目录进行操作。同时我的所有操作都是在sqlplus 中进行。
2、alter database backup controlfile to trace; 备份当前数据库控制文件,控制文件一般备份到D:\oracle\product\10.2.0\admin\bstest\udump下,请注意最新一个就是了。
3、删除安装目录下所有的datafile、logfile.(oradata目录下的文件)
4、Copy原来的数据文件到oradata目录下,包括系统数据文件等。
5、删除原控制文件,重新创建一个控制文件,请注意修改各个路径的位置,如下:
CREATE CONTROLFILE SET DATABASE "TEST" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BSTEST\REDO01.LOG' SIZE 50M,
GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BSTEST\REDO02.LOG' SIZE 50M,
GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BSTEST\REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BSTEST\SYSTEM01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BSTEST\UNDOTBS01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BSTEST\SYSAUX01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BSTEST\USERS01.DBF',
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BSTEST\TEST.DAT'
CHARACTER SET ZHS16GBK
;
注意修改数据文件的路径,如果是原数据文件,加上你原来所有的数据文件路径,如红色则是我原来的数据文件。
6、startup nomount;启动到nomount状态,然后执行以上控制文件重建语句。
7、执行recover database using backup controlfile until cancel;
输入cancel回车,后出现错误。
8、alter database open resetlogs;执行后出现以下错误。
ORA-01194: 文件1需要更多的恢复来保持一致性
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\ZQKH\SYSTEM01.DBF'
9、#系统文件出错,看到“一致性”自然想到 _allow_resetlogs_corruption的隐含命令
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
10、alter database open RESETLOGS;
还是打不开。出现以下错误:
alter database open RESETLOGS
*
ERROR 位于第 1 行:
ORA-01092: ORACLE 例程终止。强行断开连接
11、 将UNDO日志改为手动模式:
alter system set undo_management='manual' scope=spfile;
12、重启,启动到startup mount;然后
执行recover database;成功,
再执行alter database open;打开成功了。
13、现在已基本成功了,但是经过这样处理,为了安全起见,
最好用EXP先将数据全部导出,然后再重新安装ORACLE,然后再用IMP重新导入。
而当我导出时却出现错误:提示临时表空间为空。
用select name from v$tempfile;查看,确实为空,则:
如temp01.dbf已存在,则如下:
alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\bstest\temp01.dbf'
否则:
alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\bstest\temp01.dbf' size 10M;
再用EXP导出,成功!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caok/archive/2009/10/23/4718220.aspx
分享到:
相关推荐
Oracle11g dbf数据库文件恢复经验 ORACLE 报错ORA-00600:内部错误代码,参数:[kcratr_nab_less_than_odr] 经过验证 成功恢复
此文详细描述利用Oracle 11g数据恢复向导恢复数据库数据文件(system,undo,user等),根据文件类型不同详细描述了恢复流程及操作流程。
Oracle环境:11g 小版本:11.2.0 当前存留文件:dbf文件,log文件,ctl控制文件,在这个基础上还原数据库。笔者弄了2天终于成功。
Oracle11g备份恢复笔记文档,有详解实例,方便学习。如有差错还请谅解
Oracle11g、12c因断电数据文件损坏,未开启归档模式,通过recover database until cancel;恢复损坏的介质文件失败,重建控制文件修复数据库过程的笔记。
NULL 博文链接:https://shellfish.iteye.com/blog/2303844
Oracle 11g控制文件全部丢失从零开始重建控制文件,如果丢失了所有的控制文件并且没有任何的备份,我们可以通过重建控制文件来打开数据库。其中,重建控制文件至少需要以下信息: 1.数据库名 2.字符集 3.数据文件...
Oracle 11g R2 Rman备份与恢复_刘耀龙的博客-CSDN博客_rman备份
1、恢复前提,数据库系统文件(初始化配置文件、数据文件、重作日志文件、控制文件)没有遭到破坏。 2、注册表的恢复 3、监听程序重新恢复,注意监听配置、tns配置中机器名的核对 4、oracle实例服务的恢复 5、注册表...
资源名称:临危不惧:Oracle 11g数据库恢复技术内容简介:《临危不惧:Oracle 11g数据库恢复技术》分为三大部分:恢复的原理、恢复的工具、恢复的具体步骤与实战。第一部分能够让读者领略恢复操作的本质,是其他部分...
oracle数据灾难恢复工具。支持oracle 9i,10g,11g版本。支持dmp文件恢复。
在ORACLE10G数据库运行正常的性况下,我们需要掌握这个极为实用的技术来弥补这个错误. 本资料提供了完整的PPT,操作指南相关的命令,相关操作所需的参考知识.本资料为外资企业软件工程师及数据库管理员内训课程,极为...
Oraview是一个直接读取oracle数据文件,解析其数据的小工具。 此工具仅在windows+oracle10g版本下测试过,其他版本未进行测试。 目前支持常用数据类型,尚不支持lob类型,以后会考虑逐步完善该程序功能。 单文件最大...
第5~9章分别介绍了Oracle11g的体系结构、表空间与数据文件的管理、启动和关闭数据库、网络服务与管理,第10—13章介绍了有关安全的几个内容(权限、角色、概要文件、用户的管理),第14—17章介绍了几种方案对象...
《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...
oracle备份与还原主要内容包含了 oracle11g数据库的 rman 的一些简单使用,oracle 数据崩的使用,数据库闪回功能的理解和应用。
Chapter 3, Tablespaces, Datafiles, and Control Files 第 3 章,表空间,数据文件,及控制文件 Chapter 4, Transaction Management 第 4 章,事务管理 Chapter 5, Schema Objects 第 5 章,方案对象 Chapter 6,...
数据文件管理 第17章-与数据库安全性有关的对象 用户管理 权限管理 角色管理 概要文件PROFILE 第18章-备份与恢复 数据库备份与恢复 物理备份和恢复数据库 逻辑备份和恢复数据库 本章小结 第19章-使用RMAN工具...
Rman的异机恢复的作用很多,比如数据库迁移,数据库恢复,基于数据库架构调整的还原恢复(比如从RAC-->>单实例,ASM-->>文件系统),有时候搭建测试环境也会用到,不过,这种情况下相信选择数据库复制方式比较方便。...