环境:linux,oracle服务器,使用docker里的python访问oracle数据库。
报错:ORA-12541:TNS:no listener
排查:
su - oracle切换成oracle用户后,用sqlplus可以连接到数据库,说明数据库本身是没问题的。
运行:lsnrctl status,发现监听终端是localhost。
明白了,这是限制了远程连接。
解决方法:
修改配置服务端listener.ora,加上HOST=0.0.0.0,如果不加,默认只能运行在本机的程序才能访问。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST =0.0.0.0)(PORT = 1521))
)
重启一下监听:lsnrctl stop、lsnrctl start
本文详细介绍了在Linux环境下,如何通过Docker中的Python访问Oracle数据库时遇到的OR-12541错误,重点在于解决方法,包括检查listener设置、修改listener.ora文件,以及重启监听服务的过程。
612

被折叠的 条评论
为什么被折叠?



