Windows系统崩溃后快速恢复Oracle数据库的妙招

时间:2022-08-05 11:41:18

Windows系统崩溃后快速恢复Oracle数据库的妙招

摘 要:数据库在长时间的生产运行过程中,势必存在一定的安全隐患。例如操作系统的故障对数据库服务带来的影响。作为数据库管理和维护人员,需要建立一定的备份和恢复机制,使故障发生后能够及时还原数据库,将故障带来的损失减到最少。本文介绍了一种部署在Windows服务器上的Oracle数据库在操作系统故障后快速恢复的技巧。

关键词:Oracle;数据库;操作系统;恢复

中图分类号:TP311.13

鉴于Windows操作系统的普及性和易用性,目前有相当一部分ORACLE数据库服务器是基于Windows服务器操作系统的(Windows Server2003、Windows Server 2008)。当Windows因病毒或因其他原因崩溃需要重新安装部署时。Oracle数据库的恢复是技术人员经常遇到的问题。通常,DBA会定期通过EXP导出DMP文件,或是使用RMAN工具来完成备份和恢复工作。但是对于不熟悉Oracle的用户来说,这些方法具备一定的技术门槛。其实,只要Oracle的文件目录没有被破坏,对Oracle的文件目录结构有基本的了解,使用Windows的一些基本操作,同样也可以完成数据库的恢复。本文就以Oracle 10G在Windows Server2003服务器环境下为例,介绍这种简单快速的数据库恢复方法,使不具备DBA知识的操作人员也能够在Windows服务器操作系统无法启动的情况下快速恢复数据库。

1 数据库恢复流程

1.1 准备工作

首先,需要对原有系统的Oracle安装目录做好备份。建议使用Windows PE工具启动故障服务器,查找Oracle安装主目录。将目录内全部内容拷贝做备份。记录目录路径。(例如Oracle安装在D盘根目录下,就将D:\oracle目录的全部内容备份。并记录原始安装路径为D:\oracle)。其次,记录故障服务器的IP地址和计算机名信息。由于故障服务器的操作系统损坏无法启动,因此无法通过常规方法获得这些信息。笔者建议从经常访问该数据库服务器的客户端主机中找到Oracle目录的TNSNAMES.ORA文件,该文件中包含了数据库服务器IP或主机名信息。如果客户端主机无法轻易访问,也可以从之前备份出的Oracle文件夹中找到listener.log文件来获取这些信息。路径为\oracle\product\10.2.0\db_1\NETWORK\log\listener.log(视Oracle版本不同,文件的路径可能不同)。最后,记录需要恢复的数据库名。找到访问之前备份出的Oracle文件目录,打开\oracle\product\10.2.0\admin文件夹,Oracle针对服务器上的每一个数据库在该路径都单独建立了以数据库名命名的文件夹。记录这些文件夹名即可。

1.2 重新安装Windows操作系统

确认准备工作中所有信息收集完毕后,即可开始操作系统的安装。无论是在原服务器上恢复数据库还是在新服务器上重新部署数据库都需要注意磁盘分区和盘符问题。新安装的系统必须包含准备工作中记录的Oracle安装路径所在盘的盘符。以上文记录的Oracle安装路径为例,新系统必须包含D盘。安装完成后,将计算机名、IP地址信息修改为准备工作中记录的内容,确保新的操作系统环境与故障前的一致性。

1.3 重新安装Oracle DataBase

操作系统重装完毕后,开始安装Oracle 10G Database服务器端软件。注意选用的软件版本一定要与原始服务器安装的版本一致。安装过程中,选择基本安装即可,注意Oracle主目录位置选择要与准备工作中记录的原服务器Oracle主目录位置保持严格一致。如果要恢复的原服务器中并没有名为orcl的数据库,则启动数据库的复选框可以不勾选,这样点击下一步执行安装。

图1 安装Oracle数据库服务

安装完成后,新系统ORACLE路径下已经自动生成了相应的文件。只要在新的服务器上手工建立同原服务器名字相同的数据库即可。使用ORACLE 10G自带的Database Configutarion Assistant工具,根据提示完成操作。所有步骤默认初始配置即可,在第三步数据库标识处注意输入数据库名称。

图2 创建数据库

此时再次打开\oracle\product\10.2.0\admin文件夹,可以看到以这些数据库名命名的文件夹已经自动生成。此时新服务器上的Oracle文件目录结构与故障服务器上的已经十分接近。

1.4 数据库恢复

上述工作完成后,关闭新服务器上的Oracle服务,开始恢复工作。

右键“开始”菜单,选择“任务管理器”,将以ORACLE开头的进程全部结束。然后点击“我的电脑-管理服务和应用程序”,选择服务菜单,窗口右侧列出了系统运行的所有服务。找到以ORACLE为开头命名的服务,一一将其关闭,为备份恢复做好准备。

将备份的原始ORACLE文件夹拷贝到新系统的ORACLE安装路径,覆盖现有ORACLE文件夹即可。

重新打开和ORACLE相关的各项服务后,恢复工作基本完成。这时点击“开始-运行”,输入“cmd”进入命令行模式,使用sqlplus命令尝试登陆数据库。

sqlplus /nolog

conn / as sysdba

如果报监听错误,则在命令行模式中输入lsnrctl start,开启监听程序即可。至此,ORACLE数据库恢复完毕。

2 结束语

通过本方法恢复ORACLE数据库,操作人员只需对ORACLE文件目录结构有基本的认识,熟练掌握Windows基本操作即可。备份方法也快速简单,归档容易,属于一种低度维护,高度安全的方法。当然,这种方法也存在一定的局限性,例如备份恢复中数据拷贝的时间可能过长、不能按表或者按用户来恢复数据等。

参考文献:

[1]王琴,宋顺林.ORACLE数据库管理系统的备份策略及应用举例[J].计算机工程,2002(02).

[2]魏莉,赵纯坚.ORACLE数据库备份技术探讨[J].信息技术,2008(09).

作者简介:李睿(1987-),男,山西晋中人,助理工程师,本科,研究方向:数据库技术。

作者单位:民航华北空管局通信网络中心,北京 100621

上一篇:手语数据库的建设构想 下一篇:信息系统质量管理