oracle数据库查看恢复记录吗,oracle数据库数据恢复记录

本文详细阐述了在Windows环境下,如何仅恢复E:/oracle/product/10.2.0/oradata/orcl目录下的Oracle数据库数据文件、控制文件和日志文件,包括删除重建、密码处理、控制文件更新和数据库打开的过程。适合遇到类似问题的Oracle管理员参考。
摘要由CSDN通过智能技术生成

windows下oracle数据的恢复

目的:只有E:/oracle/product/10.2.0/oradata/orcl下的数据:数据文件,控制文件,日志文件,如何恢复用户数据。

解决方法(我的oracle安装在了E盘):

1、删除掉新建数据库/oracle/product/10.2.0/oradata/orcl下的所有数据文件、控制文件和日志文件。Copy原数据库的数据文件、控制文件和日志文件到对应目录下。

2、连接sqlplus,

Conn system as sysdba

用户名:system as sysdba

密码:(此处密码为新创建数据库的密码),如下图(图咋贴不上去啊):

3、

Sql>shutdown immediate

Sql>startup nomount

Sql>alter database mount

看是否数据库能否mount?

有时会提示没有口令文件E:/oracle/product/10.2.0/db_1/database/PWDorcl.ora文件找不到。查看对应的目录(database下)会发现该文件是存在的。此时需要注意,该口令文件是新安装数据库后创建实例时生成的口令文件,不是以前所用数据库的口令文件,而现在,我们是用以前数据库的控制文件和数据文件来打开以前的数据库,所以此时需要重新创建一个口令文件。

Sql>shutdown immediate

Sql>host orapwd file=E:/oracle/product/10.2.0/db_1/database/PWDorcl.ora password=oracle

Entries=10(放在database目录下)

Sql>startup nomount

Sql>alter database mount

4、打开数据库。

Sql>alter database open

如果新数据库的安装目录和原有数据库的目录不一样,那么此时可以重建控制文件来打开数据库。因为原控制文件中记录的数据文件地址和现有的数据文件位置不一样。

重建控制文件步骤:

先执行备份控制文件

SQL> alter database backup controlfile to trace;

Database altered.

然后去E:/oracle/product/10.2.0/admin/orcl/udump里找出最新的那个文件。

从中找出这段:

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGSNOARCHIVELOG

MAXLOGFILES 16

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 8

MAXLOGHISTORY 292

LOGFILE

GROUP 1 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO01.LOG'SIZE 50M,

GROUP 2 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO02.LOG'SIZE 50M,

GROUP 3 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/REDO03.LOG'SIZE 50M

-- STANDBY LOGFILE

DATAFILE

'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSTEM01.DBF',

'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/UNDOTBS01.DBF',

'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSAUX01.DBF',

'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/USERS01.DBF',

'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/EXAMPLE01.DBF',

CHARACTER SET ZHS16GBK

;

RECOVER DATABASE

ALTER SYSTEM ARCHIVE LOG ALL;

ALTER DATABASE OPEN;

ALTER TABLESPACE TEMP ADD TEMPFILE 'E:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/temp01.dbf'

SIZE 41943040REUSE AUTOEXTEND ON NEXT 655360MAXSIZE 32767M;

形成一个新的文件creatctl.sql,放在E:/ creatctl.sql.

执行此控制文件就OK了

SQL>@ E:/ creatctl.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值