系统崩溃下的Oracle 10g数据恢复全流程记录

系统崩溃下的Oracle 10g数据恢复全流程记录

一、错误背景

实验室的服务器硬盘为RAID 5磁盘阵列,在日常使用过程中由于疫情期间无人在学校未及时维护,三个月内连续损坏两张硬盘,阵列子恢复失效需要数据恢复。磁盘阵列数据恢复完成后,原系统中的Oracle 10g数据库失效且数据未进行备份(无dump文件),约1TB的实验数据无法读取,因此需要执行Oracle数据库恢复流程。

二、软件与数据准备

2.1 软件准备

1. VM Ware WorkStation 虚拟机软件,用于构建必要系统环境;

2. Windows XP x86 操作系统安装镜像ISO,Oracle 10g不支持更高版本的系统;

3. 对应版本的 Oracle 10g 数据库,注意小版本号一致,否则会无法正常启动数据库服务,此次恢复使用10.2.0.3.0版本;

2.2 数据准备

1. 原始数据库路径下的oradata文件夹中的所有文件,需要包含 .ctl 控制文件,.dbf 数据文件

2. ORACLE_HOME路径下的 admin 文件夹中的所有文件,database文件夹中的所有文件;

3. 原始数据库路径下的 admin 文件夹中的所有文件,其中包含 bdump,pfile,udump,cdump,dpdump 等文件夹;

三、主要流程

3.1 虚拟机准备

1. 在VM Ware中安装Windows XP操作系统的虚拟机,在分盘时注意保证虚拟机中具有足够多的盘符可以使数据库的安装路径与原路径一致。如原始数据库在E盘,则需要在分盘时划分为C、D、E三个虚拟磁盘,其中E盘用于后续的数据库恢复;

2. 系统安装完成后在右击【我的电脑】->【属性】->【计算机名】->【更改】,将当前计算机名称修改为原计算机名称,原始计算机名称可在 %ORACLE_HOME%/network/admin/listener.ora中找到;

系统崩溃下的Oracle 10g数据恢复全流程记录

3. 继续修改计算机的IP地址,在【网络连接】->【本地连接】->【属性】->【Internet协议(TCP/IP)】->【使用下面的IP地址】中填写原计算机的IP地址

3.2 安装Oracle数据库

1. 安装过程保证安装路径与原始数据库路径一致,如:E:/oracle/product/10.2.0/;

2. 保证数据库实例名与密码与原始数据库一致,默认为orcl;

3. 安装完成后在service中停止OracleDBCConsoleorcl服务

3.3 覆盖原始文件

1. 使用旧数据库的oradata文件夹覆盖新安装数据库的oradata文件夹;

2. 使用旧数据库的admin文件夹覆盖新安装数据库的admin文件夹;

3. 使用旧数据库的%ORACLE_HOME%/admin文件夹覆盖新安装数据库的%ORACLE_HOME%/admin文件夹;

4. 使用旧数据库的%ORACLE_HOME%/database文件夹覆盖新安装数据库的%ORACLE_HOME%/database文件夹;

3.4 启动数据服务

1. 【win+R】打开CMD,输入下列命令,若.ctl文件正确则可正常启动:

C:/> SQLPLUS/NOLOG
SQL> conn /as sysdba
SQL> shutdown immediate
SQL> startup mount
SQL> alter database open;
SQL> select open_mode from v$database;
SQL> select * from v$version;

3.5 异常处理

1. 在 "startup mount" 过程中报 ORA-00205 错误表明 .ctl 文件损坏,处理方法为备份oradata文件夹下的所有.ctl文件,删除CONTROL01.ctl,复制CONTROL02.ctl文件并重命名为CONTROL01.ctl,而后重复上述步骤;

2. 在 "conn /as sysdba"过程中报 ORA-12560 错误表明 OracleServiceORCL 服务未启动,于服务中启动对应服务即可正常连接;

3. 在 "shutdown immediate"过程中报 ORA-01507 错误可忽略;

4. 其余异常可在 "admin/orcl/bdump/alert_orcl.log"文件中查看,并定位对应问题;

上一篇:Centos安装系列软件操作记录


下一篇:ExtJs DateField 清空按钮