ITPub博客

首页 > 数据库 > Oracle > oracle命令---oradim

oracle命令---oradim

Oracle 作者:dawn009 时间:2014-05-04 09:00:51 0 删除 编辑

oracle命令---oradim

 
 今天我学会了使用oradim 命令的使用,谢谢张丹梅....
ORADIM: [options]。  请参阅手册。
请输入以下命令之一:
  通过指定以下参数创建例程:
    -NEW -SID sid | -SRVC service [-INTPWD password] [-MAXUSERS number] [-STARTM
ODE a|m] [-PFILE file] [-TIMEOUT secs]
  通过指定以下参数编辑例程:
 -EDIT -SID sid [-NEWSID sid] [-INTPWD passwd] [-STARTMODE a|m] [-PFILE file] [-
SHUTMODE a|i|n] [-SHUTTYPE srvc|inst]
  通过指定以下参数删除例程:
    -DELETE -SID sid | -SRVC service name
  通过指定以下参数启动服务和例程:
    -STARTUP -SID sid [-USRPWD password] [-STARTTYPE srvc|inst|srvc,inst] [-PFIL
E filename]
  通过指定以下参数关闭服务和例程:
    -SHUTDOWN -SID sid [-USRPWD password] [-SHUTTYPE srvc|inst|srvc,inst] [-SHUT
MODE a | i | n]
  通过指定以下参数查询帮助: -? | -h | -help
您为 -NEW 命令输入了无效的选项
 
主要参数说明:
 
-SID sid        
指定要启动的实例名称
 
-SRVC 服务        
指定要启动的服务名称
 
-USRPWD 口令        
指定内部用户的口令,如果作为 NT管理员登录,不用此参数
 
-PFILE 文件名        
为实例指明初始化参数文件,如果参数文件在 Oracle的默认位置,则不需要此命令
 
例如在windows上建一例程:
C:\Documents and Settings\User>oradim -new -sid cjh -srvc OracleServicecjh
 
-STARTMODE:
oradim -edit -sid biti -startmode a :使用这个命令,可以改 OracleServiceBITI 服务启动类型为自动,并且把注册表中的 ORA_BITI_AUTOSTART 改为 true ;如果 -startmode 后面的参数写 m ,则把服务改成手动,并且把注册表中的 ORA_BITI_AUTOSTART 改为false 。但是在服务中改启动类型和在注册表中改值,不会互相影响,但是以注册表中的设置为准。
 
-STARTTYPE:
oradim -startup -sid biti -starttype srvc :使用这个命令,只启动 OracleServiceBITI 服务而不启动例程;如果 -starttype 后面的参数写 srvc,inst ,则启动服务和例程;如果 -starttype 后面的参数写 inst ,则只启动例程,如果服务还没有启动会报错 ORA-12560: TNS:protocol adapter error。
 
-SHUTTYPE:
跟上面的 -STARTTYPE 类似
 
-SHUTMODE
表示终止实例所使用的关闭模式,a | i | n 分别为 abort | immediate | normal
 

注册表里的主要参数说明:
 
-ORA_BITI_AUTOSTART
为 true 时,表示当 OracleServiceBITI 服务启动类型为自动,且服务启动时,例程也启动。
 
-ORA_BITI_SHUTDOWN
跟 ORA_BITI_AUTOSTART 类似。
 
-ORACLE_SID
这里为 biti ,这个是当前默认的数据库。如果在 cmd 下 set ORACLE_SID=newsid 或者在 sqlplus 里面 startup pfile=newdec ,则以当前设置的为准,否则找注册表中的 ORACLE_SID 。当前的设置值对当前 cmd window 有效。
 
 
===========================================
 
在Windows系统中有些时候,Oracle的数据库会无法自动启动成功,但是手动启动却是可以的,在这种情况下我们可以尝试重新创建Oracle服务来看看问题是否能够解决。

重建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 中的卷是 PRIVAT
 卷的序列号是 94B0-FD3B

 D:\oracle 的目录

2006-08-16  14:14    

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

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

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

 d:\oradata 的目录

2006-08-16  14:25    

          .
2006-08-16  14:25              ..
2005-09-12  16:40              flash_recovery_area
2005-09-12  16:40              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

=================================================================

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29119536/viewspace-1153226/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-08-15

  • 博文量
    595
  • 访问量
    4989223