首页 > 数据库 > Oracle > oracle命令---oradim
重建Oracle服务可以利用Oracle在Windows操作系统下特有的oradim使用程序。
数据库的SID可以通过下面的方法知道:
检查windows的服务,找到类似于OracleServiceXXXX的服务名称,其中的XXXX部分就是数据库的SID,比如如果数据库的SID是test,那么服务名称就是OracleServiceTEST。
假设我们的Oracle实例名称是test,使用的参数文件是c:oracleadmin estinittest.ora
那么我们执行下面的命令:
oradim -EDIT -SID test -PFILE c:oracleadmin estinittest.ora -STARTMODE auto -SRVCSTART system
然后重新启动服务,看看Oracle数据库是否可以自动启动
===============================
使用oradim恢复windows上的数据库
很多朋友都问过这样的问题:
在Windows上如果系统崩溃了,数据文件、控制文件、日志文件等都还在,怎样来恢复Oracle数据库?
前几天重新安装了系统,正好需要恢复一下数据库。
如果软件也损失了,那么需要重新安装一下数据库软件,以恢复Windows相关环境变量等信息。
很多人抱怨我的新书很少关于Windows的内容,实际上,Windows和Linux/Unix上的操作没有什么不同,Windows本身就是一个仿Unix的系统。
那么好吧,我还是用一个系列的文章介绍一下我所使用的Windows系统,以及我所认为的数据库系统无关性。
大家可以跟随我看一下这样一个过程。
首先开启一个cmd命令行窗口。
开始->运行->cmd
我的Oracle软件安装在D:\oracle :
|
D:\>dir oracle D:\oracle 的目录 2006-08-16 14:14 2006-08-16 14:14 2006-08-16 14:14 0 个文件 0 字节 3 个目录 941,744,128 可用字节 |
我的数据文件位于D:\oradata下:
|
D:\>dir d:\oradata d:\oradata 的目录 2006-08-16 14:25 2006-08-16 14:25 2005-09-12 16:40 2005-09-12 16:40 0 个文件 0 字节 4 个目录 941,744,128 可用字节 |
现在让我们用oradim创建一个实例,实际上也就是创建一个Windows服务:
|
C:\>oradim -new -sid eygle 实例已创建。 |
我们用net命令可以查看系统启动了哪些服务,我们看到Oracle的服务已经启动:
|
C:\>net start
............... 命令成功完成。 |
如果你的系统装了一些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
=================================================================
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29119536/viewspace-1153226/ ,如需转载,请注明出处,否则将追究法律责任。