AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[tnsnames](dba)

Martin Hope
honeybees
Asked: 2020-01-26 11:45:10 +0800 CST

如何使用第 3 方 IDE (DataGrip) 连接到 Oracle 自治数据仓库?

  • 0

我正在尝试使用 Jetbrains DataGrip 连接到 Oracle 自治数据仓库数据库。Oracle 为我提供了一个钱包文件(一个 zip),其中包含 tnsnames.ora、一个密钥库、ojdbc.properties 和一些其他文件。

我在使用此信息使用 DataGrip 连接到数据库时遇到了很多麻烦。我在 DataGrip 支持论坛上找到了一个帖子,但我也没有运气。

Jetbrains 支持线程:https
://intellij-support.jetbrains.com/hc/en-us/community/posts/360001792539-Connect-with-Oracle-Cloud 相关 Oracle 文档:https ://docs.oracle.com/en /cloud/paas/autonomous-data-warehouse-cloud/adwud/connect-using-client-application.html

我做了什么:
1. 创建“TNS_ADMIN”环境变量并将其设置为:
C:\\Users\\xxx\\Documents\\[folder with wallet files]
2. 将 Oracle JDBC 驱动程序文件(ojdbc8.jar、osdt_cert.jar、oraclepki.jar、osdt_core.jar)添加到 DataGrip 中的标准 Oracle 驱动程序
3. 编辑 'sqlnet.ora' 文件以包含钱包文件的路径
4. 在数据源 VM 选项中添加以下内容:

-Doracle.net.tns_admin=C:\\Users\\xxx\\Documents\\[folder with wallet files]
-Djavax.net.ssl.trustStore=truststore.jks
-Djavax.net.ssl.trustStorePassword=[password]
-Djavax.net.ssl.keyStore=keystore.jks    
-Djavax.net.ssl.keyStorePassword=[password]
-Doracle.net.ssl_server_dn_match=true    
-Doracle.net.ssl_version=1.2
  1. 将连接类型设置为仅 URL
  2. 在 URL 字段中尝试了不同的连接字符串:

jdbc:oracle:thin:@//adb.eu-frankfurt-1.oraclecloud.com:1522/xxxxxx_adw1_high.adwc.oraclecloud.com?TNS_ADMIN=C:\\Users\\xxx\\Documents\\[folder with wallet files]

jdbc:oracle:thin:@xxxxxx_adw1_high.adwc.oraclecloud.com?TNS_ADMIN=C:\\Users\\xxx\\Documents\\[folder with wallet files]

jdbc:oracle:thin:@//adb.eu-frankfurt-1.oraclecloud.com:1522/mnr6yzqr22jgywm_adw1_high.adwc.oraclecloud.com

结果:

Connection to ADW1 failed.  
[08006][17002] IO Error: Got minus one from a read call, connect lapse 32 ms.,  
Authentication lapse 0 ms.  

我还尝试使用“服务名称”和“TNS”连接类型并填写来自 tnsnames.ora 的信息。没有骰子,同样的错误。

还尝试将 'tcp.validnode_checking' 参数显式设置为 null。

(连接工作正常与 sqldeveloper)

这样做的正确方法是什么?

oracle tnsnames
  • 1 个回答
  • 1096 Views
Martin Hope
Error 1004
Asked: 2019-11-21 03:41:03 +0800 CST

修改 TNSNAMES.ORA 文件以连接到 Oracle 数据库

  • 0

我想修改 TNSNAMES.ORA 文件以连接到 ORACLE 数据库,我注意到在我的 PC 上有 3 个名为 TNSNAMES.ORA 文件的不同文件。为了建立连接,我应该修改这三个中的哪一个

D:\app\XXX\product\11.2.0\client_32\network\admin
E:\app\XXX\product\11.2.0\client_64\network\admin
D:\app\XXX\product\11.2.0\client_1\network\admin
oracle tnsnames
  • 2 个回答
  • 3407 Views
Martin Hope
logixologist
Asked: 2019-04-23 05:51:47 +0800 CST

从连接字符串中获取 TNS 名称

  • 0

我通常在工作中使用连接字符串连接到我的 Oracle 数据库。除了询问 DBA 它是什么的明显答案之外,使用 SQL Developer 或其他一些工具,我可以找出 tns 侦听器名称是什么。这是我用来连接的.net中配置文件的摘录:

数据源=myURL:port/servicename;PASSWORD=password

oracle-11g-r2 tnsnames
  • 1 个回答
  • 4312 Views
Martin Hope
Ventur
Asked: 2018-06-23 08:35:36 +0800 CST

来自 Oracle 11g 的远程连接错误

  • 0

我正在尝试从连接在同一网络中的另一台计算机连接到我的 Oracle 数据库 11g。

在连接数据中,我输入了服务器机器的地址,但它不允许我连接。如果它允许我连接,则从服务器计算机,但不能从另一台计算机:

Error de E/S. The network adapter could not establish the connection

机器 1 - Oracle 服务器:本地访问连接:是

机器 2 - 客户端远程连接:失败

两台机器在同一个网段:192.168.x.machine1 192.168.x.machine2

Listerner
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = LAPTOP-BPS592UE)(PORT = 1521)(QUEUESIZE = 32))
    )
  )

状态监听器:

C:\..\..\11.2.0\server\network\ADMIN>lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.2.0 - Production on 22-JUN-2018 11:30:17

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.2.0 - Production
Start Date                22-JUN-2018 11:04:36
Uptime                    0 days 0 hr. 25 min. 40 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   C:\..\..\..\product\11.2.0\server\network\admin\listener.ora
Listener Log File         C:\..\..\..\diag\tnslsnr\LAPTOP-BPS592UE\listener\alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LAPTOP-BPS592UE)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LAPTOP-BPS592UE)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 3 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
  Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully
oracle-11g-r2 tnsnames
  • 1 个回答
  • 1432 Views
Martin Hope
Aks
Asked: 2016-12-17 03:06:42 +0800 CST

具有相同别名的多个 service_name 和主机

  • 0

我目前正在研究这样的重复基础架构:

我们有两个数据服务器,每个服务器上有两个数据库。

  • 服务器 1
    • 甲骨文实例 1
    • Oracle实例镜像1
  • 服务器 2
    • 甲骨文实例 2
    • Oracle实例镜像2

我无法更改数据库上的实例名称。

DWH_connection =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Server1)(PORT = 1521)
      (ADDRESS = (PROTOCOL = TCP)(HOST = Server2)(PORT = 1521)
    )
    (CONNECT_DATA =
      (SERVICE_NAME = Oracleinstance1)
      (SERVER = DEDICATED)
    )
  )

这是我知道我们可以做的,但我被卡住了,找不到任何文档。也许我不擅长搜索,但找不到方法。

我想获得Server 1 - Oracle instance 1与Server 2 - Oracle instance 2. 所以万一Server 1没有启动,我们的应用程序将转到服务器 2。所以这就是我想要的:

DWH_connection =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = Server1)(PORT = 1521)
      (ADDRESS = (PROTOCOL = TCP)(HOST = Server2)(PORT = 1521)
    )
    (CONNECT_DATA =
      (SERVICE_NAME = Oracleinstance1)
      (SERVICE_NAME = Oracleinstance2)
      (SERVER = DEDICATED)
    )
  )
oracle tnsnames
  • 1 个回答
  • 6528 Views
Martin Hope
Joe Creighton
Asked: 2015-12-15 13:36:55 +0800 CST

无法使用 tnsnames.ora 进行连接,但可以通过替换其详细信息进行连接

  • 0

我正在通过 zip 文件(根据https://docs.oracle.com/database/121/SQPUG/apd.htm#SQPUG157 )在非 Oracle Linux 主机上设置最小的 Oracle Instant Client并已安装

instantclient-basiclite-linux.x64-12.1.0.2.0.zip
instantclient-sqlplus-linux.x64-12.1.0.2.0.zip

(注意:没有 tnsping 可用)。

我添加了以下环境变量:

ORACLE_SID=prod; export ORACLE_SID
ORACLE_HOME=/local/share/bin/oracle_client/instantclient_12_1; export ORACLE_HOME
SQLPLUS=$ORACLE_HOME/sqlplus; export SQLPLUS
LD_LIBRARY_PATH=$ORACLE_HOME:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH
TNS_ADMIN=/local/share/oracle/network; export TNS_ADMIN

$TNS_ADMIN/tnsnames.ora 文件由 Oracle 主机提供(我无法更改),可从该非 Oracle 主机读取,并且不包含语法错误(Oracle 主机正在使用它)。具体条目看起来很像这样:

PROD.DOMAIN =
 (DESCRIPTION =
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = prod.domain)(PORT = 1234))
  )
 (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = prod)
 )
)

也就是说,我无法使用我们首选的方法在命令行上进行连接:

$SQLPLUS user@prod
SQL*Plus: Release 12.1.0.2.0 Production on Mon Dec 14 14:45:22 2015

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

Enter password: 
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified

暗示未找到或解析 tnsnames 或...?我相信我已经按照顶部参考文档中的“使用 SQL*Plus Instant Client 连接到数据库”的要求做好了一切准备。

请注意,如果我使用主机名本身,我可以连接:

$SQLPLUS user@\"//prod.domain:1235/prod\"

或 tnsnames 本身的详细信息(证明语法很好):

$SQLPLUS user@"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=prod.domain)(PORT=1234)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=prod)))"

有任何想法吗?

我当前的解决方法是使用 Perl 将 tnsnames 解析为一组单行和 grep 的第三种方法,用于我想要的实例,但很高兴知道为什么这不起作用以及如何修复它。

谢谢。

oracle tnsnames
  • 1 个回答
  • 5566 Views
Martin Hope
Mark Harrison
Asked: 2015-11-04 16:14:22 +0800 CST

Oracle:将带有 SID 的 TNS 条目转换为 instantclient?

  • 0

如何将具有 SID 的 TNS 条目转换为 instantclient 格式?

我可以连接 TNS 字符串,但不能连接等效的(我认为!)instantclient 字符串。

$ ./sqlplus 'myname/mypass@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost.example.com)(PORT=1521))(CONNECT_DATA=(SID=mysid)))'
Connected to: ...

$ ./sqlplus myname/mypass@//myhost.example.com:1521/mysid

ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
oracle tnsnames
  • 1 个回答
  • 842 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve