windows下面oracle的oradim以及orapwd的一些资料

首先环境是windows,可以在%oracle_home%/bin里面看到这些个命令,然而oradim管理服务在linux下面是不存在的,原因就是oradim本身就是管理服务的,在linux里面服务,注册表的概念根本就不存在。
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的默认位置,则不需要此命令

-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上的数据库

 

请使用浏览器的分享功能分享到微信等