大家好,RT,ORACLE 11G+ Windows xp sp3,估计是之前用360清理系统,把oracle注册表的信息删除了,现在导致oracleservice(servicename)这个服务启动不了。
oracle的listener是正常的,可以启动。
现在的问题是,不知道该如何修复注册表,还请各位给出修改意见。
第二是,不知道oracle里面注册表各信息都是什么作用的,希望下次遇到类似的问题时,可以自己解决。谢谢大家了。

解决方案 »

  1.   

    1、注册表中这四个键值是重要的:ORACLE_BASE:oracle产品目录
    ORACLE_HOME:oracle主目录
    ORACLE_SID:数据库实例ID
    NLS_LANG:客户端字符集(不是必须,默认是英文)
    2、下面是一个样例
    根据你的实际情况修改一下,然后下面的存为ORACLE.reg的文本文件
    双击导入注册表试,内容如下:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE][HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1]
    "ORACLE_HOME"="G:\\oracle\\product\\10.2.0\\db_1"
    "ORACLE_SID"="ora"
    "ORACLE_BASE"="G:\\oracle\\product\\10.2.0"
    "NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
      

  2.   

    有没有关于system下面的各项用途?
      

  3.   

    如果知道sid以及oracle_home值,可以手动生成一些服务。
      

  4.   

    创建实例。设置PATH环境变量(不是必须),如果不设置,要进入ORACLE_HOME\bin目录或指定oradim的全路径, 执行命令(ora是实例名,与上面注册表中的ORACLE_SID对应):
    C:\>oradim -new -sid ora
      

  5.   

    如果数据库没问题的话,可以借助 oradim的命令,先删除旧的服务,然后重建。