服务器本地连接自身没有问题,但远程客户端连接时报错,远程客户端使用tnsping也没有问题。
cmd->tnsping 192.168.56.101:1521/ora11gR2
tnsping命令:如果能够ping通,则说明客户端能解析listener的机器名,而且lister也已经启动,但是并不能说明数据库已经打开,而且tsnping的过程与真正客户端连接的过程也不一致。但是如果不能用tnsping通,则肯定连接不到数据库。
服务器端执行 lsnrctl 未发现什么异常
C:\Documents and Settings\Administrator>lsnrctl status
C:\Documents and Settings\Administrator>lsnrctl stop
C:\Documents and Settings\Administrator>lsnrctl start
SQL> show parameter local_listener
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
SQL> alter system set local_listener='(ADDRESS =(PROTOCOL=TCP)(HOST=192.168.56.101) (PORT=1521)(SID=ora11gR2))';
System altered.
SQL> alter system register;
System altered.
SQL> exit
客户端再次测试,连接成功!
C:\>sqlplus scoot/aaaaaa@192.168.56.101:1521/ora11gR2