使用EZCONNECT语法时sqlplus获取ORA-12504

C. *_*alt 5 oracle tns oracle11g

与这个人有相反的问题。 TNSPING好,但是sqlplus给出了ORA-12154吗?

我正在尝试在VMWare Workstation中的VM上安装Oracle。我尝试在以下位置安装Oracle 11g和12c:

  • Windows Server 2008 R2
  • Windows Server 2012 R2
  • Windows Server 2016 Tech Preview 3(绝望)

在每种情况下,我都会看到一个对话框,显示“未满足最低要求”。当我在AppData中检查安装日志时,我得到了。

检查是否可以确定本地主机的IP地址...严重:CVU不支持目标环境

我尝试将我的VM设置为使用NAT以及使用桥接连接。根据该线程,可以忽略“ CVU错误”。https://community.oracle.com/thread/2478769

Oracle每次都能成功安装,并且会自动在我的tnsnames.ora文件中插入一个条目。我可以作为sys用户连接sys@TNS_ENTRY as sysdba

但是第二次我尝试使用EZCONNECT语法,它不起作用。例如:

>sqlplus /nolog
>connect sys@localhost:1521/service
Run Code Online (Sandbox Code Playgroud)

然后,我得到一个ORA-12504:在CONNECT_DATA中未为TNS:Listener提供SERVICE_NAME。这很奇怪,因为我什至没有尝试使用tnsnames.ora文件中的条目进行连接。我尝试在Net Manager的sqlnet.ora配置管理器中推广EZCONNECT。

我已验证Oracle安装程序确实将侦听器放在了名为“ LISTENER”的计算机上

我还有另一台在裸机上运行Windows Server 2012 R2的服务器。我交叉检查了所有的tns,侦听器和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:\ Users \ Administrator> tnsping本地主机

适用于64位Windows的TNS Ping实用工具:版本11.2.0.1.0-在2015年9月17日生产11:36:02

版权所有(c)1997、2010,Oracle。版权所有。

使用的参数文件:C:\ app \ Administrator \ product \ 11.2.0 \ dbhome_1 \ network \ admin \ sqlnet.ora

使用EZCONNECT适配器解析别名尝试联系(DESCRIPTION =(CONNECT_DATA =(SERVICE_NAME =))(ADDRESS =(PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))OK(0毫秒)

^看起来与我的2012 R2裸机服务器上的tnsping完全相同,上面有11g的路由器。

我在这里错过了一些很简单的事情吗?我正为此而努力。

Jon*_*ler 5

这是EZCONNECT语法的问题,而不是Mark Williams 在此描述的数据库配置。连接字符串中的正斜杠使EZCONNECT感到困惑,必须像这样进行转义:

C:\>sqlplus sys@\"localhost:1521/orcl12\" as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Fri Sep 18 13:10:19 2015

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

Enter password:

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL>
Run Code Online (Sandbox Code Playgroud)