我们使用的系统是windows2000,经过优化后,oracle数据库出现了问题,本地客户端不能连接.但远程连接是没有问题的.
经过检查,原来是oracle的TNSListener服务没有起动.用"服务"起动,或者net start 起动均失败,检查结果是注册表中的TNSListener的执行文件路径已经被删除了.所以我们只要从其它安装oracle服务器的电脑上将部分注册表文件导出,然后导入到本机就OK了.
下面是我本机的导入的注册表内容.
----------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OracleOraHome92TNSListener]
"Type"=dword:00000010
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):44,00,3a,00,5c,00,6f,00,72,00,61,00,63,00,6c,00,65,00,5c,00,6f,00,72,00,61,00,39,00,32,00,5c,00,42,00,49,00,4e,00,5c,00,54,00,4e,00,53,00,4c,00,53,00,4e,00,52,00,20,00,00,00
"DisplayName"="OracleOraHome92TNSListener"
"ObjectName"="LocalSystem"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OracleOraHome92TNSListener\Security]
"Security"=hex:01,00,14,80,a0,00,00,00,ac,00,00,00,14,00,00,00,30,00,00,00,02,00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,00,00,02,00,70,00,04,00,00,00,00,00,18,00,fd,01,02,00,01,01,00,00,00,00,00,05,12,00,00,00,00,00,00,00,00,00,1c,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,20,02,00,00,00,00,00,00,00,00,18,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,20,02,00,00,00,00,1c,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,00,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\OracleOraHome92TNSListener\Enum]
"0"="Root\\LEGACY_ORACLEORAHOME92TNSLISTENER\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
----------
将上面的内容拷贝到.txt文件中,然后将.txt改成.reg文件,双击该文件即可.
注意:我oracle执行文件安装在D盘.如果不一样的话,要将注册表中的键值修改成正确就可以的了.
查看本文来源