Oracle10g只有数据文件的恢复(Windows)

 

 

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导出,成功!

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
删除Oracle 10g的数据文件和配置文件需要谨慎进行,建议在执行此类操作前备份数据。下面是删除Oracle 10g数据文件和配置文件的具体步骤: 1. 停止Oracle 10g服务 在Windows,可以通过在命令行输入“net stop OracleServiceXXX”(其XXX为Oracle服务名)来停止服务。 2. 删除data目录 data目录通常位于“C:\Oracle\product\10.2.0\db_1\oradata”目录下,其包括控制文件数据文件、日志文件等。可以手动删除该目录下的所有文件。 3. 删除admin目录 admin目录通常位于“C:\Oracle\product\10.2.0\db_1\admin”目录下,其包括参数文件、密码文件、跟踪文件等。可以手动删除该目录下的所有文件。 4. 删除network目录 network目录通常位于“C:\Oracle\product\10.2.0\db_1\network\admin”目录下,其包括listener.ora、tnsnames.ora等网络配置文件。可以手动删除该目录下的所有文件。 5. 删除oraInventory目录 oraInventory目录通常位于“C:\Program Files\Oracle\Inventory”目录下,其包括Oracle安装程序的安装信息。可以手动删除该目录下的所有文件。 6. 删除cfgtoollogs目录 cfgtoollogs目录通常位于“C:\Program Files\Oracle\Inventory\logs”目录下,其包括Oracle安装程序和配置工具的日志文件。可以手动删除该目录下的所有文件。 需要注意的是,在删除这些文件之前,应先备份这些文件,以免误删或删除后无法恢复。同时,如果需要重新安装Oracle 10g,请先将这些文件备份到其他目录,以免安装程序将这些文件误删。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值