前几天,Oacle数据库启动不起来了,一启动就死机,经过多次测试差错发现是磁盘损坏,导致UNDOTBS01.DBF数据文件无法访问,访问就死机。无奈用冷备份的办法,将数据库迁移到另一台主机上。
Oracle 11g, 安装在windows XP上,只是作为平时开发用的数据库,没有多少维护,也没有开启归档日志模式。(注:由于操作时没有保存操作信息,也没有可用的测试环境了,所以都是凭记忆还原步骤,不排除有不正确的操作和命令,仅作参考。)
Step 1. 首先在目标主机上安装Oracle 11g(和源数据库相同),创建和源数据库相同SID的数据库。
Step 2. 查找源数据库里的数据文件、REDO日志文件、控制文件、启动参数文件。
EXPRD是SID
SQL>startup mount
ORACLE 例程已经启动。
Total System Global Area 770019328 bytes
Fixed Size 1374780 bytes
Variable Size 293602756 bytes
Database Buffers 469762048 bytes
Redo Buffers 5279744 bytes
数据库装载完毕。
SQL>select name from v$datafile;
NAME
------------------------------------------------------
D:\APP\ADMINISTRATOR\ORADATA\E