环境:Windows XP
背景:
今天360杀毒真的很给力,直接将oracle实例服务和监听器服务当成病毒给删了。。
解决办法:
看来必须恢复,怎么搞呢,后来想起我在使用DBCA创建时,保存的脚本了,看来能派上用场。。
找到脚本的位置:$ORACLE_BASE\admin\$SID\scripts
查看ocp11g.bat,创建数据库最开始就是执行这个脚本的。
看到如下命令:
G:\app\lawrency.meng\product\11.2.0\dbhome_2\bin\oradim.exe -new -sid OCP11G -startmode manual -spfile
G:\app\lawrency.meng\product\11.2.0\dbhome_2\bin\oradim.exe -edit -sid OCP11G -startmode auto -srvcstart system
发现在bin目录下的,oracle自带的exe,是用来创建window服务的。于是将这两天命令在cmd中执行了,OK。服务又回来了。
回头看下第一条命令:-new -sid OCP11G -startmode manual -spfile 创建一个新的服务,sid是OCP11G,服务开启模式是手动,使用spfile开启。
第二条命令:-edit -sid OCP11G -startmode auto -srvcstart system 修改服务,服务开启模式改为自动,服务开始时间是系统启动时间。
于是又google下,下面是网上详细的介绍:
1.在服务里生成一个新的实例管理服务,启动方式为手工
oradim -NEW -SID orcl -STARTMODE manual -PFILE "D:\Oracle\admin\orcl\pfile\initorcl.ora"
oradim -NEW -SRVC OracleServiceORCL -STARTMODE manual -PFILE "D:\oracle\product\10.2.0
\db_2\database\initorcl.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
另外:监听器,如果你监听器的配置文件 listener.ora还在话,在cmd中运行lsnrctl start listener. 第一次,会报未发现服务,然后自动新建一个监听器服务。哈哈~~