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

被折叠的 条评论
为什么被折叠?



