oracle 局域网映射设置
本Oracle 11g r2的局域网以及外网外网映射的设置:
- 使用Navicat远程连接Oracle报错ORA-28547
- 远程连接Oracle报错ORA-12541
问题一:使用Navicat远程连接Oracle报错ORA-28547
使用Navicat远程连接Oracle报错ORA-28547
使用navicat自身的oci.dll版本,是跟我安装的Oracle数据库是不相符的。
Oracle 11g instantclient文件 链接: https://pan.baidu.com/s/1-orRA5Ndv51WX49SmFi4XQ 密码: b5ht
解决方式:
找到下载文件下的oci.dll文件
至此navicat的问题解决。
如果还没有报错,那就是oracle服务器端监听配置错误,网上多数是修改listen.ora,tnsnames.ora这两个配置文件。
listen.ora,tnsnames.ora监听文件,根据网上教程host上的ip改来改去都没有解决。
listen.ora用计算机的主机名(iZbmiox5uhugkrZ)[主机名消失解决1.通过oracle应用程序配置,2.win计算机属性]
# listener.ora Network Configuration File: D:\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 = D:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(GLOBAL_DBNAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = iZbmiox5uhugkrZ)(PORT = 1521))
)
)
ADR_BASE_LISTENER = D:\app\Administrator
tnsnames.ora host,无关localhost,127.0.0.1,ip,与远程连接无关,oracle数据库物理文件在本机即可。
# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
打开oraclean应用程序,orcle net configuration Assiatant
远程连接Oracle报错ORA-12541
ORA-12541 没有监听器,内网映射,首先确保oracle的标准端口1521 是否暴露出来。其次就是检查对应的监听服务是否开启。