与此人有相反的问题。 TNSPING OK but sqlplus gives ORA-12154?使用EZCONNECT语法时,sqlplus获取ORA-12504
我试图在VMWare Workstation中的VM上安装Oracle。 我试着安装在Oracle 11g和12C:
- 的Windows Server 2008 R2
- 的Windows Server 2012 R2
- 的Windows Server 2016技术预览版3(出于绝望)
在任何情况下,我都会看到“最低要求不符合”的对话框。 当我检查AppData中的安装日志时,我得到了这个。
检查是否本地主机的IP地址可以被 确定...重度:CVU不支持目标环境
我试过设置我的虚拟机使用NAT以及使用桥接连接。 根据这个线程,'CVU错误'可以被忽略。 https://community.oracle.com/thread/2478769
Oracle每次安装成功,它会自动在我的tnsnames.ora文件中插入一个条目。我可以连接sys
用户通过做[email protected]_ENTRY as sysdba
但第二我尝试使用EZCONNECT语法,它不起作用。例如:
>sqlplus /nolog
>connect [email protected]:1521/service
然后我得到一个ORA-12504:TNS:监听器没有给出在CONNECT_DATA的SERVICE_NAME。这很奇怪,因为我甚至不想使用tnsnames.ora文件中的条目进行连接。我试过在Net Manager的sqlnet.ora配置管理器中推广EZCONNECT。
我已经验证Oracle安装程序并把监听我的机器被称为“监听器”
对我有另一台服务器运行Windows Server 2012 R2在裸机上运行。我交叉检查了所有tns,listener和sqlnet配置以及它们全部相同(由11g安装程序创建的默认配置)
我知道VMWare在其VM上支持Oracle数据库。我试图坚持这里列出的这些最佳做法。 http://www.vmware.com/files/pdf/partners/oracle/Oracle_Databases_on_VMware_-_Best_Practices_Guide.pdf
我检查了lsnrctl
以确保它正确加载配置。 我看到我的终点那里,当我重新启动监听
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mymachinename)(PORT=1521)))
防火墙是关闭的。
这里的TNSPING结果:
C:\用户\管理员> TNSPING本地主机
TNS Ping实用工具为64位Windows:11.2.0.1版本。0 - 生产 on 17-SEP-2015 11:36:02
版权所有(c)1997,2010,Oracle。版权所有。
使用参数文件: C:\程序\管理\产品\ 11.2.0 \ dbhome_1 \网络\ ADMIN \ sqlnet.ora中
二手EZCONNECT适配器来解析别名试图联系 (DESCRIPTION =( CONNECT_DATA =(SERVICE_NAME =))(ADDRESS =(PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) 行(0毫秒)
^看起来完全一样从TNSPING我的2012 R2裸机服务器上有11g的工作。
我在这里错过了非常容易的事情吗?我在这里与我的智慧有关。
谢谢!我觉得自己像个白痴......我甚至无法从sqldeveloper连接,这很奇怪。但现在情况很好。 :) – matrixugly
马克威廉姆斯博客的永久链接,以防万一它发生故障。 http://web.archive.org/web/20120717020405/http://oradim.blogspot.com/2009/07/sqlplus-ezconnect-password-prompt-and.html – matrixugly
请注意,您还必须使用\“用户名\ “如果你的Oracle用户名不全是大写的。特别是如果你有一个_foo_和_FOO_用户。在用户名周围没有“\”,Oracle做了隐含的大写转换,并且这与用户的意图不一样!是的,不建议使用这种非大写用户名,甚至更多_overloaded_仅用于案例,而是Oracle确实允许并支持它,所以最好做好准备。 – ddevienne