我的windows2003服务器 中病毒后,oracle服务就不能用了,把病毒刹掉后,在控制面板里面关于oracle的服务都没有了。用plsql也不能进去,说没有监听服务。去安装目录E:\oracle\product\10.2.0\db_1\BIN下面找lsnrctl.exe  ,文件不存在了。估计得重新安装,因为里面有很多的表,函数,存储过程,请问能不能修复性的安装,怎么操作那?我是新手,请大家多多赐教。

解决方案 »

  1.   

    如果你中毒之后oracle是正常关闭后杀毒的,我的意思是指你目前的数据库残留文件是一致的话,可以将数据库文件全部copy出(包括 数据文件 日志文件 参数文件等)然后重新安装数据库后,停止所有的服务,将copy出的文件全部覆盖上去即可。
    如果不是一致的,那就要看你的数据库有没有足够的归档日志做恢复了。
      

  2.   

    我的安装目录是 D:\oracle\product\10.2.0 ,请问那个文件夹的东西需要保存?是不是 D:\oracle\product\10.2.0下面的全部保存,然后重装,然后再用本分的覆盖掉那?
      

  3.   

    D:\oracle\product\10.2.0\oradata\以SID命名的文件夹
    如果你没有改过文件的存放路径的话,这个下面的就是了。这个文件夹下的文件夹就是全部的文件,备份了重装之后再覆盖回来。
      

  4.   

    我上面有这个文件件,请问以前创建的包,存储过程,函数,是不是也都在D:\oracle\product\10.2.0\oradata\以SID命名的文件夹
     的下面?只要把这个恢复了,是不是除了以前的用户名,密码外,都恢复过来了那?
      

  5.   

    我之前试验的结果是这样,实际上就相当于数据库冷备恢复的过程,不过前提就是你的数据库是正常关闭的。PS:为了安全起见,你把D:\oracle目录先全部备份一下,万一上面的方法不成功,还有介质可以试验其他方法。
      

  6.   

    服务没有了?那命令启动服务OK?或者直接cmd里,看看SQLPLUS / AS SYSDBA
    STARTUP 看看能否启动服务?
      

  7.   

    还是拷贝数据库文件(包括控制文件、日志文件、参数文件)拷贝时候必须把数据库的所有的服务停止了。
    就相当于冷备份,但是有前提条件的保证你的数据库是正常关闭的,否则冷备份的文件不能copy覆盖过去。
    cmd下是否能启动数据库 sqlplus /as sysdba
    startup
      

  8.   

    我也有类似的问题,sql+不能用了,Plsql可以用