ORACLE重装之后恢复数据库,相当于sqlserver的附加数据库

在开发机器上经常会遇到重装系统的问题,重装之前如果ORACLE没有及时备份的话重装之后就纠结了,数据还原很头疼。

各种娘中只能找到一些ORACLE安装与重装系统前目录相同的解决办法,目录不同就没招了。

我用的是oracle11G。老版的应该相似。

经过我的尝试,找到了几个关键点,现在分享出来。

1、控制文件CONTROL01.CTL

oracle数据库的控件文件有两个,一个是在oradata\oradb中,名称为CONTROL01.CTL

另外一个是在flash_recovery_area\SDMS_DEMO,名称为CONTROL01.CTL

控件文件也可能是CONTROL02.CTL 或CONTROL03.CTL

2、控制文件中的datafile,tempfile,logfile

原数据库中的文件路径如果和重装后的路径不一致,需要将这些路径全部修改之后就可以了,具体步骤如下:

一:重新创建oracle数据库后手动关闭oracle所有服务

二:将oradata中新创建的数据库目录改名,d:\app\user\oradata\oradb,改为d:\app\user\oradata\oradb_new

三:将原来的数据库目录复制到该目录下,复制后的结果是oradata中有d:\app\user\oradata\oradb_new和d:\app\user\oradata\oradb两个目录

d:\app\user\oradata\oradb是重装之前数据库的数据文件夹。

四:启动各项oracle服务

五:用sqlplus /nolog命令进入oracle命令符

六:用connect sys/change_on_install as sysdba;命令获得系统管理权限并登录。

七:用select instance_name from v$instance;确认当前的数据库实例是否正确,如果不是oradb需要使用 set oracle_sid来修改默认的oracle实例(没记错的话应该是这个命令可以问度娘查一下)。

八:将d:\app\user\oradata\oradb\CONTROL02.CTL控制文件复制到d:\app\user\flash_recovery_area\oradb中,替换目录中原有的控制文件,注意:名称不一样的话改一下名字。

九:使用startup nomount用无装载模式启动数据库。

十: 设置数据库为装载模式:alter database mount;

十一:查看数据文件清单:select name from v$datafile;

查看临时文件清单:select name from v$tempfile;
查看日志文件清单:select * from v$logfile;

会看到如下结果:

E:\APP\USER\ORADATA\ORADB\SYSTEM01.DBF
E:\APP\USER\ORADATA\ORADB\SYSAUX01.DBF
E:\APP\USER\ORADATA\ORADB\UNDOTBS01.DBF
E:\APP\USER\ORADATA\ORADB\USERS01.DBF
E:\APP\USER\ORADATA\ORADB\SDMS_DATA01.DBF

十二:修改数据文件路径,依次执行如下命令:

SQL> alter database rename file ‘E:\APP\USER\ORADATA\ORADB\SYSTEM01.DBF‘ to ‘D:\APP\USER\ORADATA\ORADB\SYSTEM01.DBF‘

注意日志文件修改的时候有点纠结 文件名是redo01,因为oracle默认为大写,我看成了red001,一直修改不成,另外一个,如果用select * from v$logfile;看到的只有一条日志文件,建议把原数据库中的几个都修改一下。

SQL> alter database rename file ‘E:\APP\USER\ORADATA\ORADB\REDO03.LOG‘ to‘D:\APP\USER\ORADATA\ORADB\REDO03.LOG‘;

十三:启动数据库:alter database open;

好了,现在可以用客户端连接这个数据库了。

时间: 2024-08-30 06:37:34

ORACLE重装之后恢复数据库,相当于sqlserver的附加数据库的相关文章

SQLServer之分离数据库

分离数据库注意事项 要求具有 db_owner 固定数据库角色中的成员资格. 可以分离数据库的数据和事务日志文件,然后将它们重新附加到同一或其他 SQL Server实例. 如果要将数据库更改到同一计算机的不同 SQL Server 实例或要移动数据库,分离和附加数据库会很有用. 分离数据库是指将数据库从 SQL Server 实例中删除,但使数据库在其数据文件和事务日志文件中保持不变. 之后,就可以使用这些文件将数据库附加到任何 SQL Server实例,包括分离该数据库的服务器. 如果存在下

数据库开发基础-教案-3-认识数据库备份和事务日志备份

认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点. 数据库备份 数据库备份可以手动备份和语句备份 一.手动备份数据库 1.鼠标右键选择你要进行备份的数据库-任务-备份 可以在常规选项页面你可以选择备份类型是进行完整数据库备份还是差异数据库备份 2.点击添加选项,选择数据库文件的存放路径 注意文件名记得加后缀.bak,便于恢复时的查找 数据库还原 右键数据库-

C#_ 项目打包附加数据库

C#_ 项目打包附加数据库 2010-07-11 23:22:45|  分类: Winfrom|举报|字号 订阅 实现效果:安装项目时直接附加数据库. 1.首先在需要部 署的项目的解决方案资源管理器中新建一个安装项目 2.在安装项目的 文件视图中,右键[应用程序文件夹]->[添加]->[项目输出] 选择你的项目中的启动项目,下面的列表中,默认就是主输出,确定. 3.此时在文件系 统的中间栏目,会自动列出编译所需的文件.一个简单项目打包差不多,还有快捷方式什么的,就不说了.开始重点了. 创建安装

数据库 约束 分离 备份 还原 附加

--约束 对列的值起一个约束的作用,规定咧的值得范围 --主键,外键,非空,自增长标识列,唯一列,check 约束 select *from score --存储累加求和 alter proc qiuhe @number int as declare @sum int--定义一个变量 int类型 declare @chushizhi int--定义一个初始值 int 类型 set @sum=0 --给sum 赋值 set @chushizhi=1--赋值 当初始值为一的时候 while @chu

解剖SQLSERVER 第一篇 数据库恢复软件商的黑幕

解剖SQLSERVER 第一篇  数据库恢复软件商的黑幕 这一系列,我们一起来解剖SQLSERVER 在系列的第一篇文章里本人可能会得罪某些人,但是作为一位SQLSERVER MVP,在我的MVP任期内希望可以对大家作出一些贡献 在第一篇里面涉及到某些内容可能不会以详细的方式给出截图并且和大家讲解,毕竟第一篇的篇幅比较长,希望大家见谅.. 在第一篇文章开始之前,先说三个题外话 第一个题外话  更新丢失 首先要做的事情是,跟大家道歉 在之前<SQLSERVER走起>的微信公众帐号里推送了一篇文章

Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间

做易买网项目,由于对数据库插入系统时间不了解,常常遇到的问题: 1.java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配.原因:由于获取系统时间类型不对,应为systdate 下面介绍Oracle.Db2.SqlServer.MySQL 数据库插入当前系统时间 例如有表table,table 中有两个字段:name .makedate1.oracle:插入系统时间应为sysdate:insert into table (name,makedate) valu

SQLServer 复制和数据库镜像 详细配置部署

SQLserver 可以把镜像和复制同时部署,结合了双方的高可用性,可以使数据库得到更好的高可用性和容灾的保证. 关于镜像:数据库镜像 关于复制:数据库镜像 本章的复制为事务可更新订阅:事务复制的可更新订阅 关于复制和数据库镜像:复制和数据库镜像 理论的东西参考官方文档吧,这里主要是部署配置过程. 下图为本章参考部署的架构图: 本章模拟的服务器: kk-ad 192.168.2.1 DC(域控) kk-db1 192.168.2.10 主机(Replication + Mirror) kk-db

20、oracle用户管理恢复

下面会一一讲解控制文件.redo文件及非归档模式.归档模式数据文件丢失的情况下,如何恢复数据? (1)控制文件(controlfile)丢失 在做恢复实验之前,先备份好数据. 案例1.模拟一个控制文件丢失 select name from v$controlfile; SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------

Oracle备份和恢复简史

Oracle备份和恢复简史 --http://www.searchdatabase.com.cn/showcontent_90388.htm?info=sinaweibo 这些年来,Oracle数据库备份和恢复方式已经发生了重大变化,特别是在Recovery Manager(RMAN)功能有了进一步改善之后.那么接下来,就让我们来回顾下,在没有RMAN之前,以及有了RMAN之后,DBA如何备份数据,以及RMAN如何改善这一过程. 回到很久之前的Oracle 5,那时候的备份是这么做的:关闭数据库