解决windows环境下服务消失的问题

环境: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. 第一次,会报未发现服务,然后自动新建一个监听器服务。哈哈~~

你可能感兴趣的:(oracle,windows,脚本,XP,360)