今天工作時(shí)需要在服務(wù)器的數(shù)據(jù)庫(kù)上建立database link連接另外一個(gè)數(shù)據(jù)庫(kù)泡躯,但是dblink建好后無(wú)法使用贮竟,一直提示協(xié)議適配器錯(cuò)誤!
上網(wǎng)搜索材料较剃,得到一些解決思路咕别,下面把我解決此問(wèn)題時(shí)遇到的坑和解決方案總結(jié)一下:
解決方案:
1、在服務(wù)器安裝路徑下找到\NETWORK\Admin\listner.ora文件写穴,該文件為監(jiān)聽參數(shù)文件惰拱,查看其中的配置,樣例配置如下:
# 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值啊送,若設(shè)置為主機(jī)名偿短,需要查看c:\windows\system32\drivers\etc路徑下hosts文件,最后一行填加--本機(jī)ip ?主機(jī)名--配置馋没,且去除其他關(guān)于主機(jī)名的配置昔逗。
2、若不想直接修改listner.ora文件篷朵,可以使用監(jiān)聽配置工具net configuration assistent勾怒。
3、tnsnames.ora文件中host配置必須和listener.ora中保持一致声旺。
遇到問(wèn)題:
1笔链、重新設(shè)置OracleOraDb10g_home1TNSListener服務(wù)(因?yàn)闊o(wú)法啟動(dòng)等原因)
①打開注冊(cè)表編輯器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet/下的Services和HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002下的Services下腮猖,新建項(xiàng)OracleOraDb10g_home1THSListener,在右邊窗口右擊新建字符串名為ImagePath鉴扫,數(shù)據(jù)數(shù)值為自己的Oracle安裝路徑,C:/oracle/product/10.2.0/db_1/bin/TNSLSNR
②開始—>運(yùn)行(cmd)—>lsnrctl start; 在計(jì)算機(jī)管理服務(wù)和應(yīng)用程序中缚够,右鍵刷新幔妨,就可看到啟動(dòng)項(xiàng)了,如果還是不行則重新啟動(dòng)計(jì)算機(jī)谍椅,
執(zhí)行l(wèi)snrctl start 命令误堡,刷新后即可解決。