注意:我本地安装oracle11gR2 64位,桌面类;
- 我本地安装目录:D:\app\ELONG\
解决办法:
1. 修改D:\app\ELONG\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora,修改host=为你本机的IP地址,远程通过IP访问;
- 修改前listener.ora,如下:
-
# listener.ora Network Configuration File: D:\app\ELONG\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\ELONG\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\ELONG\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) ) ADR_BASE_LISTENER = D:\app\ELONG
- 修改后listener.ora
# listener.ora Network Configuration File: D:\app\ELONG\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\ELONG\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\ELONG\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.27.135)(PORT = 1521))
)
)
ADR_BASE_LISTENER = D:\app\ELONG
2. 修改D:\app\ELONG\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,修改host=为你本机的IP地址,远程通过IP访问;
- 修改tnsnames.ora前:
# tnsnames.ora Network Configuration File: D:\app\ELONG\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
SYDJ =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SYDJ)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
LISTENER_SYDJ =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
- 修改tnsnames.ora后:
# tnsnames.ora Network Configuration File: D:\app\ELONG\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
SYDJ =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SYDJ)
)
)
SYDJ2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.27.135)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SYDJ)
)
)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
LISTENER_SYDJ =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
LISTENER_SYDJ2=
(ADDRESs = (PROTOCOL = TCP)(HOST=192.168.27.135)(PORT=1521))
结果:
- 现在可以通过远程连接到192.168.27.135这台oracle数据库;
注意:
192.168.27.135为本地电脑在局域网中的内网IP,当换成其他网络时,这个IP也便不会存在,此时若前面两个配置文件依旧那么写,则在启动Oracle的监听器服务时,会报错:
本地计算机上的OracleOraDb11g_home1TNSListener服务启动后停止。某些服务在未由其它服务或程序使用时将自动停止。
解决方法:
将上面两个配置文件恢复原样,即将有关这个内网IP192.168.27.135的部分全部删掉并保存,便可解决问题。