创建例程:
-NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m] [-PFILE 文件] [-TIMEOUT 秒]
编辑例程:
-EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE 文件名] [-SHUTMODE a|i|n] [-SHUTTYPE srvc|inst|srvc,inst] [-TIMEOUT 秒]
删除例程:
-DELETE -SID sid | -SRVC 服务名称
启动服务和例程:
-STARTUP -SID sid [-USRPWD 口令] [-STARTTYPE srvc|inst|srvc,inst] [-PFILE 文件名]
关闭服务和例程:
-SHUTDOWN -SID sid [-USRPWD 口令] [-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE a|i|n]
查询帮助:
-? | -h | -help
相关参数说明:
-SID sid 指定要启动的实例名称
-SRVC 服务 指定要启动的服务名称
-USRPWD 口令 指定内部用户的口令,如果作为NT管理员登录,不用此参数
-PFILE 文件名 为实例指明初始化参数文件,如果参数文件在Oracle的默认位置,则不需要此命令
-STARTTYPE srvc|inst|srvc,inst 表示要启动什幺srvc—只启动服务inst—启动实例,服务必须已经启动并开始工作了srvc,inst—服务和实例都启动
-SHUTTYPE srvc|inst|srvc,inst 表示要终止什幺,参数选项同上
-STARTMODE a|m 表示启动实例所使用的模式a—auto方式(自动)m—manual方式(手动)
-SHUTMODE a|i|n 表示终止实例所使用的关闭模式a—abort方式i—immediate方式n—normal方式
例子:
1.在服务里生成一个新的实例管理服务,启动方式为手工:
oradim -NEW -SID test -STARTMODE manual -PFILE "D:\oracle\product\10.2.0\db_1\database\inittest.ora
oradim -NEW -SRVC OracleServicetest -STARTMODE manual -PFILE "D:\oracle\product\10.2.0\db_1\database\inittest.ora
注:有效的服务名为“OracleService” 后跟“SID”
-SID test 与 -SRVC OracleServicetest 等价
2.删除此实例或服务:
oradim -DELETE -SID test
oradim -DELETE -SRVC OracleServicetest
3.编辑此实例,启动方式改为手动:
oradim -EDIT -SID test -STARTMODE manual
4.编辑此实例,启动方式改为自动:
oradim -EDIT -SID test -STARTMODE auto
5. 启动test:
oradim -STARTUP -SID test
oradim -STARTUP -SID test -STARTTYPE srvc,inst
6.只启动test服务:
oradim -STARTUP -SID test -STARTTYPE srvc
7.只启动test实例:
oradim -STARTUP -SID test -STARTTYPE inst
8. 关闭test:
oradim -SHUTDOWN -SID test
oradim -SHUTDOWN -SID test -SHUTTYPE srvc,inst
常见应用:Oracle重建服务
在Windows系统中有些时候,Oracle的数据库会无法自动启动成功,但是手动启动却是可以的,在这种情况下我们可以尝试重新创建Oracle服务来看看问题是否能够解决。
假设我们的Oracle实例名称是test,使用的参数文件是c:\oracle\product\10.2.0\db_1\database\inittest.ora
那么我们执行下面的命令:
oradim -EDIT -SID test -PFILE c:\oracle\product\10.2.0\db_1\database\inittest.ora -STARTMODE auto -SRVCSTART system
然后重新启动服务,看看Oracle数据库是否可以自动启动。