暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Tools:使用oradim恢复windows上的数据库

原创 eygle 2006-08-18
498

很多朋友都问过这样的问题:
在Windows上如果系统崩溃了,数据文件、控制文件、日志文件等都还在,怎样来恢复Oracle数据库?


前几天重新安装了系统,正好需要恢复一下数据库。
如果软件也损失了,那么需要重新安装一下数据库软件,以恢复Windows相关环境变量等信息。


很多人抱怨我的新书很少关于Windows的内容,实际上,Windows和Linux/Unix上的操作没有什么不同,Windows本身就是一个仿Unix的系统。
那么好吧,我还是用一个系列的文章介绍一下我所使用的Windows系统,以及我所认为的数据库系统无关性。


大家可以跟随我看一下这样一个过程。
首先开启一个cmd命令行窗口。
开始->运行->cmd


我的Oracle软件安装在D:\\oracle :









D:\\>dir oracle
 驱动器 D 中的卷是 PRIVAT
 卷的序列号是 94B0-FD3B


 D:\\oracle 的目录


2006-08-16  14:14    <DIR>          .
2006-08-16  14:14    <DIR>          ..
2006-08-16  14:14    <DIR>          ora10gR2
               0 个文件              0 字节
               3 个目录    941,744,128 可用字节



 我的数据文件位于D:\\oradata下:









D:\\>dir d:\\oradata
 驱动器 D 中的卷是 PRIVAT
 卷的序列号是 94B0-FD3B


 d:\\oradata 的目录


2006-08-16  14:25    <DIR>          .
2006-08-16  14:25    <DIR>          ..
2005-09-12  16:40    <DIR>          flash_recovery_area
2005-09-12  16:40    <DIR>          EYGLE
               0 个文件              0 字节
               4 个目录    941,744,128 可用字节



 现在让我们用oradim创建一个实例,实际上也就是创建一个Windows服务:








C:\\>oradim -new -sid eygle
实例已创建。

 我们用net命令可以查看系统启动了哪些服务,我们看到Oracle的服务已经启动:









C:\\>net start
已经启动以下 Windows 服务:


...............
   O&O Defrag
   OracleServiceeygle
   Plug and Play
   Print Spooler
...............


命令成功完成。



 如果你的系统装了一些Unix增强工具,那么可以通过grep过滤一下:








C:\\>net start |grep Oracle
   OracleServiceeygle

Unix命令工具可以在Sourceforge (http://sourceforge.net/projects/gnuwin32/) 下载.


 此时我们就可以通过启动实例,挂接原有数据库,启动Oracle数据库了。当然你可能还有一些其他工作需要完成,比如重建口令文件等。


如果你想删除这个服务,那么也很简单:








C:\\>oradim -delete -sid eygle
实例已删除。

当然做好备份仍然是最重要的,我见过有的企业将文件分散在很多逻辑分区上,结果随系统崩溃丢失了部分文件,损失也是相当惨重的。


在Linux/Unix上不需要服务来启动实例,也就不存在这样类似的操作。不过在命令行操作,一切都是类似的。


系列文章参考:
http://www.eygle.com/archives/2006/08/oracle10g_on_windows.html


 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论