标签: tns

在向SQL Developer添加新连接时未显示Oracle TNS名称

我正在尝试使用SQL Developer连接到oracle数据库.

我安装了.Net oracle驱动程序并将tnsnames.ora文件放在
C:\Oracle\product\11.1.0\client_1\Network\Admin

我在tnsnames.ora中使用以下格式:

dev =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XXX.XXX)(PORT = XXXX))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = idpdev2)
    )
  )
Run Code Online (Sandbox Code Playgroud)

在SQL Developer中,当我尝试创建新连接时,没有TNS名称显示为选项.

有什么我想念的吗?

database oracle tns tnsnames oracle-sqldeveloper

90
推荐指数
4
解决办法
20万
查看次数

Oracle - 我使用的TNS名称文件是什么?

有时我会遇到Oracle连接问题,因为我无法弄清楚我的数据库客户端正在使用哪个tnsnames.ora文件.

想出这个的最佳方法是什么?++对各种平台解决方案感到满意

oracle connection tns tnsnames

51
推荐指数
4
解决办法
21万
查看次数

Oracle侦听器未运行且无法启动

lsnrctl status命令中我收到以下错误:

C:\Users\pna105>lsnrctl stat

 LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 17:53
 :55

 Copyright (c) 1991, 2010, Oracle.  All rights reserved.

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 2: No such file or directory
 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 64-bit Windows Error: 61: Unknown error
Run Code Online (Sandbox Code Playgroud)

它在重新启动之前工作正常,但现在它无法工作,我也无法访问我的Oracle主页.

tnsnames.ora是:

  ORACLE = 
  (DESCRIPTION =  
    (ADDRESS_LIST =  
      (ADDRESS = (PROTOCOL …
Run Code Online (Sandbox Code Playgroud)

oracle tns oracle11g

17
推荐指数
3
解决办法
10万
查看次数

Oracle ORA-12154:TNS:无法解析服务名称错误?

我是SQL Server用户.

我正在使用oracle的项目(我很少使用)我需要创建一个ODBC连接,所以我可以通过MS Access访问一些数据我的机器上有一个名为oraHome90的应用程序.它似乎允许在"网络配置实用程序"中配置一个称为侦听器的东西,我认为还需要完成"本地网络服务名称配置".IT支持为我提供了设置ODBC连接的信息.我尝试过每一个我能想到的组合.我可以通过测试成功通过测试"登录"到oracle服务器数据库.当我尝试创建ODBC连接时,我收到以下错误:ORA-12154:TNS:无法解析服务名称.

假设我想从头开始,以下信息应该允许我连接到数据库......任何建议或评论?注意:最终项目将有一个网站.ASP页面查询数据,但我必须首先证明我可以通过MS Access使用ODBC连接查看数据

Service name: SERVICENAME
HOST = HOST.XYZi.com
User Id: MYUSERID
Password: MYPASSWORD
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'Oracle Connection
Dim ocst
Dim oconn

ocst = "Provider=OraOLEDB.Oracle;" & _ 
        "Data Source=DATASOURCE;" & _ 
        "User ID=CHIJXL;" & _ 
        "Password=password;" 

set oconn = CreateObject("ADODB.Connection")
Run Code Online (Sandbox Code Playgroud)

oracle odbc tns

14
推荐指数
4
解决办法
25万
查看次数

什么是TNS:Oracle上下文中的监听器?

Borderline ServerFault问题,但我想先在这里尝试一下,因为我过去对Oracle的问题很满意.

我正在尝试从PHP连接到oracle数据库,我收到以下错误.

ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
Run Code Online (Sandbox Code Playgroud)

这是PHP报告的错误,以及Oracle的listener.log中显示的错误.

我当前的问题是解决这个错误.我想回答的一个更大的问题是Oracle连接模型是如何工作的?

这是在我的本地Windows机器上运行的开发环境中,并且一直在运行.不幸的是,环境被移交给我(我没有设置它),谁的人没有设置它是不可用的帮我调试.

如果我在MySQL或PostgreSQL(我更熟悉的两个系统)中遇到类似的错误,我会检查以确保数据库进程正在运行,然后尝试使用用户名/密码/手动连接到数据库连接字符串.不幸的是,我不熟悉Windows上的Oracle工具(除了SQL Developer),我不知道什么是TNS:监听器或SID在Oracle的上下文中(我有一些模糊的想法,但模糊的想法很少有帮助你正在调试这样的东西)

任何一般建议将不胜感激.

每条评论的更新:

我的tnsnames.ora文件中有很多内容,相关条目是

OBS2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = steel-ae39650)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = OBS2)
    )
  )
Run Code Online (Sandbox Code Playgroud)

当我运行时,这不会反映在实例列表中

    LSNRCTL> services
Run Code Online (Sandbox Code Playgroud)

所以我认为我的下一个问题是,如何尝试手动启动OBS2实例?

oracle tns tnsnames connection-string

12
推荐指数
1
解决办法
6万
查看次数

Oracle sqlldr是否可以在Oracle 10和11中接受TNS条目作为实例限定符?

是否可以使用与Oracle 10/11捆绑的sqlldr使用完全限定的TNS条目?

例如,在SQLPlus中:

    sqlplus user/password@(description=(address=(host=localhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl))) @script.sql
Run Code Online (Sandbox Code Playgroud)

但是使用sqlldr(SQL Loader)似乎直接使用TNS条目存在问题.特别:

    sqlldr user/password@(description=(address=(host=localhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl))) bad='bad_file.txt' control='control.ctl' data='data.txt' log='log.txt' direct='true'
Run Code Online (Sandbox Code Playgroud)

这是产生的错误消息:

    LRM-00116: syntax error at 'address' following '('

    SQL*Loader: Release 11.2.0.1.0 - Production on Tue Sep 13 15:41:54 2011

    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

    SQL*Loader-100: Syntax error on command-line
Run Code Online (Sandbox Code Playgroud)

尝试将TNS条目封装在引号中会产生相同的错误.

看看sqlldr文档,并尝试使用'userid'命令行参数无济于事.特别:

sqlldr userid='user/password@(description=(address=(host=localhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl)))' bad='bad.txt' control='control.ctl' data='data.txt' log='log.txt' direct='true'
LRM-00116: syntax error at 'password@(' following '='

SQL*Loader: Release 11.2.0.1.0 - Production on Tue Sep 13 15:44:17 2011

Copyright (c) 1982, …
Run Code Online (Sandbox Code Playgroud)

oracle tns sqlplus sql-loader

9
推荐指数
2
解决办法
3万
查看次数

Oracle会隐藏某些用户的列

场景:Oracle 11g数据库包含一些敏感的用户数据,如果向错误的一方披露,可能会导致法律责任.

期望的效果:只有从某个IP连接的特定用户才能看到包含此​​敏感用户数据的列

我不确定隐藏的列虚拟列是否是正确的方法.似乎细粒度访问控制可以提供帮助.我不确定什么是最好的解决方案.IP的限制可能是在听众层面完成的?

问题:我们如何限制列的可见性,使其仅适用于特定用户?所有其他用户永远不会看到该列,即使在执行"DESC TABLE_WITH_SENSITIVE_DATA"时也是如此

谢谢你的任何提示.

security oracle tns privacy

7
推荐指数
1
解决办法
7457
查看次数

任何来自Java应用程序的Oracle TNS低效率(许多往返,延迟)的解决方案?

我正在研究一个非常慢的SQL查询(源自使用JBoss 5.1中部署的Hibernate的Java应用程序).此特定查询返回了大约10K记录,但仍然需要40秒或更多.

我最终用数据库嗅探了流量(wireshark有一个TNS的解剖器)并发现了一些意想不到的东西.当数据来自服务器时,每个结果行都在其自己的TNS数据包中.此外,在从数据库发送下一个TNS数据包之前,客户端(即应用服务器)确认每个TNS数据包.对于10K记录,有10K往返来获取数据包并确认它.对性能的影响是巨大的.

这非常低效.TCP允许更大的数据包并具有许多机制(滑动窗口,延迟的ACK)以减少延迟并提高吞吐量.但是,在这种情况下,它是顶部的TNS协议,它增加了自己的协商.

如果我从Oracle的SQL Developer运行相同的查询,我看不到这种模式.查询在大约1/10的时间内完成,没有数千次往返.

简短版本:Oracle的有线协议(TNS)似乎在每个查询结果行的一个TNS数据包中传递数据,并要求在服务器发送下一个数据包之前由客户端确认每个数据包.

我已经找到了一些关于这个[这里] [1]的信息(向下滚动直到关于'tnsnames.ora文件中的SDU和TDU参数'部分).

因此我的问题是:是否可以控制Oracle驱动程序的行为(我使用10.2.0.4.0),因此TNS协议更有效?同样,这是一个在JBoss中部署的非常标准的J2EE应用程序.

非常感谢!

oracle performance tns

6
推荐指数
1
解决办法
4342
查看次数

Oracle 11G 连接字符串中的 SDU 设置

我没有引用 sqlnet.ora 文件进行查找,并且几乎提供了以下 TNS URL 用于连接,我需要在下面的连接 URL 中挤入 SDU 设置,我想知道它会去哪里以及新的如何url 会是什么样子?

这是我正在使用的:jdbc:oracle:thin:@192.168.191.231:1521:naladomain

我现在需要在上面的 TNS 字符串中压缩自定义 sdu 设置。我该怎么做?:-)

谢谢!

oracle tns tnsnames oracle11g

5
推荐指数
1
解决办法
4341
查看次数

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

与这个人有相反的问题。 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 …

oracle tns oracle11g

5
推荐指数
1
解决办法
4367
查看次数