oracle – sqlplus:ORA-01017登录被一台主机拒绝但是另一台主机正常

我有一个奇怪的行为远程sqlplus登录到Oracle 11.2我无法解释:

1)我有一个在虚拟主机上运行的Oracle 11.2服务器,比如host1
2)我设置了另一个虚拟机,比如host2(CentOS 6.5 x86_64)和oracle-instantclient 11.2.0.4 64bit,由最小安装ISO构建
3)我还从网上下载了一个CentOS 6.5 x86_64虚拟机映像(已经安装了所有内容的桌面安装),比如host3,我安装了相同的Oracle即时客户端

我在host2和host3上使用相同的环境和tnsnames.ora文件,如:

MONSTER=
(DESCRIPTION=
    (ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1521))
    (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=CRM)))

问题:
在host2上,我无法摆脱ORA-01017错误:

host2> sqlplus sys/<passwd>@monster as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 1 12:09:51 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied

但是,在host3上,一切正常:

host3> sqlplus sys/<passwd>@monster as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 1 06:21:59 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release ...
SQL>

有人知道为什么从一个主机连接正常而从另一个主机连接是KO?

注意:不用说这不是区分大小写的问题,或者是错误的orapwd,或者remote_login_password文件未设置为EXCLUSIVE,因为它可以从host3运行.

谢谢

解决方法:

首先确保数据库主机可用ping host1.

然后,您必须安装客户端并配置服务名称.

要正确安装oracle客户端并能够使用它,您必须:

>选择oracle客户端安装的“Administrator”类型,而不是即时客户端,它为您提供数据库管理员工具.
>客户端安装后运行Net Manager(netmgr)以添加新服务名称.当您开始测试连接时(最后一步),请确保数据库中的“scott”用户可用.
>然后运行tnsping YOUR_SERVICE_NAMECONNECTION_NAME(感谢@vapcguy进行更正) – tnsping是管理安装中的一个工具.
>运行sqlplus sys / passwd @< YOUR_SERVICE_NAME> as sysdba或sqlplus sys / passwd @ host1:PORT /< DATABASE_SERVICE_NAME>

上一篇:oracle – 使用sqlplus,Linux编码问题


下一篇:centos6.5 live555 rtsp转发