- 论坛徽章:
- 0
|
如果你在建好Oracle数据库,在客户端连不上。Oracle 提示:
ERROR:
ORA-12541: TNS:no listener
你可以检查server上的listener.ora 和 /etc/hosts. 如果在listener.ora中有
.......
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
........
而且在/etc/hosts中 有
127.0.0.1 本机名 localhost localhost.localdomain
port 1521 没有对外开放,你在客户端是连不上数据库的, 在本机用sqlplus 可以, 因为本机不用listener。
你可以修改 listener.ora
.......
(ADDRESS = (PROTOCOL = TCP)(HOST = 你的网路IP)(PORT = 1521))
........
然后用
lsnrctl stop
lsnrctl start
不要用lsnrctl reload. 现在port 1521对外开放了。你在客户端用tnsping显示OK,sqlplus 也可以连。
如果你的listener.ora 是
.......
(ADDRESS = (PROTOCOL = TCP)(HOST = 你的网路IP)(PORT = 1521))
........
而/etc/hosts 是
127.0.0.1 localhost localhost.localdomain
这时tsnpign 显示OK, sqlplus 连不通。现在你应该知道如何纠正。 你也可以在 /etc/hosts中加
192.168.0.1 本机名
192.168.0.1是我臆造的, 应该是你的本机网路IP。
如果你不用DNS,你应该在客户端的/etc/hosts里有
192.168.0.1 database机名。
在客户端的tnsnames.ora里有
tns-entry=
.....
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))
或
(ADDRESS = (PROTOCOL = TCP)(HOST = database机名)(PORT = 1521))
个人见解,欢迎指正。
John |
|