Oracle11g 通过DBF文件恢复数据

本文分享了一次Oracle数据库恢复的经验,针对服务器迁移过程中遇到的数据库启动问题,通过复制原库文件并创建控制文件的方式成功恢复了数据。文章详细记录了操作步骤及遇到的挑战。

服务器是win2008,原本没有使用域,后来不知道怎么的域改了,计算机名也变了,原来的用户也进不去了,又重新建了一个用户,进去后Oracle的实例启动不了了。然后又要转移数据部署到另外一台服务器,就想能不能通过dbf文件恢复数据呢?

于是上网找了一些资料:

Oracle 11g 通过DBF恢复数据 - Mr_Zc - 博客园

数据库出现ORA-00283/ORA-01610的问题 - Oracle数据库管理 - ITPUB论坛-专业的IT技术社区

重建控制文件 报ORA-01503,ORA-01160,ORA-01110错误 - Oracle数据库管理 - ITPUB论坛-专业的IT技术社区

https://www.jianshu.com/p/928aab212024

通过综合以上资料,经过几次尝试后,终于成功。

具体的原理也没研究,也不懂Oracle,下面就说下这次遇到的几个问题:

1. 新的Oracle版本、数据名sid、实例名、路径和数据库编码保持一致;

2.原oracle库主目录下的FLASH_RECOVERY_AREA目录和oradata全部覆盖到新安装的oracle对应目录下;

3.sqlplus /nolog

   connect /as sysdba

shutdown immediate

--采用noresetlogs的方式恢复数据库步骤如下:
SQL> startup nomount;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已经启动。

Total System Global Area  289406976 bytes
Fixed Size                  1248624 bytes
Variable Size              88081040 bytes
Database Buffers          192937984 bytes
Redo Buffers                7139328 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 292
  7  LOGFILE
  8    GROUP 1 'E:ORACLEPRODUCT10.2.0ORADATAORCLREDO01.LOG'  SIZE 50M,
  9    GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOG'  SIZE 50M,
10    GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATAORCLREDO03.LOG'  SIZE 50M
11  -- STANDBY LOGFILE
12  DATAFILE
13    'E:\app\...\SYSTEM01.DBF',
14    'E:\app\...\UNDOTBS01.DBF',
15    'E:\app\...\SYSAUX01.DBF',
16    'E:\app\...\USERS01.DBF'
25  CHARACTER SET ZHS16GBK
26  ;

控制文件已创建。

SQL> recover database;
完成介质恢复。
SQL> alter database open;

数据库已更改。

4. 临时文件dbf不要创建

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值