协议适配器错误

今天工作时需要在服务器的数据库上建立database link连接另外一个数据库,但是dblink建好后无法使用,一直提示协议适配器错误!

上网搜索材料,得到一些解决思路,下面把我解决此问题时遇到的坑和解决方案总结一下:

解决方案:

1、在服务器安装路径下找到\NETWORK\Admin\listner.ora文件,该文件为监听参数文件,查看其中的配置,样例配置如下:

# listener.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = CLRExtProc)

(ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)

(PROGRAM = extproc)

(ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-R2JN79TUN3A)(PORT = 1521))

)

)

ADR_BASE_LISTENER = E:\app\Administrator


主要注意LISTENER下的HOST值,若设置为主机名,需要查看c:\windows\system32\drivers\etc路径下hosts文件,最后一行填加--本机ip  主机名--配置,且去除其他关于主机名的配置。

2、若不想直接修改listner.ora文件,可以使用监听配置工具net configuration assistent。

3、tnsnames.ora文件中host配置必须和listener.ora中保持一致。

遇到问题:

1、重新设置OracleOraDb10g_home1TNSListener服务(因为无法启动等原因)

①打开注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet/下的Services和HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002下的Services下,新建项OracleOraDb10g_home1THSListener,在右边窗口右击新建字符串名为ImagePath,数据数值为自己的Oracle安装路径,C:/oracle/product/10.2.0/db_1/bin/TNSLSNR

②开始—>运行(cmd)—>lsnrctl start; 在计算机管理服务和应用程序中,右键刷新,就可看到启动项了,如果还是不行则重新启动计算机,

执行lsnrctl start 命令,刷新后即可解决。

你可能感兴趣的:(协议适配器错误)