当前位置:首页>科技>正文

OracleOraDb10g_home1TNSListener服务无法启动! 为什么Oracle服务OracleOraDb10g_home1TNSListener停止后无法再次启动

2023-04-26 12:35:14 互联网 未知 科技

 OracleOraDb10g_home1TNSListener服务无法启动! 为什么Oracle服务OracleOraDb10g_home1TNSListener停止后无法再次启动

OracleOraDb10g_home1TNSListener服务无法启动!

最近学习hibernate时,在myeclipes上 关联数据库时出现 OracleOraDb10g_home1TNSListener服务无法启动!!这个问题。
问题的前提条件有:1.能通过sqlplus 进入数据库,数据查询等操作正常。就是与其他介质关联的时候出现该问题,如通过myelcipes 添加数据源,通过jdbc连接数据库等
  这种问题最常见的可能性有2种:

1,用户网络连接设置成自动获取ip地址。这样orlace 服务器的地址就不为127.0.0.1了。

解决办法:D:oracleproduct10.2.0db_1NETWORKADMIN 到这个目录下去找到listener.ora文件。打开该文件
如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = e:oracleproduct10.2.0db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = oracle)
(ORACLE_HOME = e:oracleproduct10.2.0db_1)
(SID_NAME = oracle)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST =168.3.0.1)(PORT = 1521))
)
)
修改带红色字体的为:localhost

2 种:输入的oralce实例名字错误
在sql 命令下 输了SELECT host_name, instance_name, version FROM v$instance
得到的即为oracle实例名字 如果得到的该实例名字与listener.ora文件(ORACLE_HOME = e:oracleproduct10.2.0db_1
不符合的话,则替换为得到的实例名。

为什么Oracle服务OracleOraDb10g_home1TNSListener停止后无法再次启动

出错原因:由于本地的IP地址是自动获取的,每次获取的IP地址基本不同,而安装10g是,默认的把当时的IP地址写在了监听配置文件%ORACLE_HOME%db_1NETWORKADMINlistener.ora
解决办法:%ORACLE_HOME%db_1NETWORKADMINlistener.ora把这个文件里的内容改下 HOST=你的计算机名字,重启下便可。