我已经下载了测试 Oracle EDQ 测试数据库,使用数据库配置助手创建了一个数据库并创建了一个用户。
我已经授予他这些特权:
所有权限
连接
资源
选择 v_$sysstat
创建 session
创建表
当我在本地连接到这个名为“eratest”的服务时,我可以通过执行以下命令毫无问题地完成: sqlplus localhost/eratest
然而,当我在不同的机器上做同样的事情时,我得到了这个:
sqlplus edqtrn:1521/era_test(我也尝试过使用 SID eratest 进行连接,但我读到这可能是错误的。)
SQLPlus: Release 10.2.0.4.0 - Production on Thu Sep 14 12:38:08 2017 Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
ERROR: ORA-12560: TNS:protocol adapter error
Enter user-name: c##kuba
Enter password:
ERROR:ORA-12560: TNS:protocol adapter error
我在 tnsnames.ora 文件中有 era_test(如果需要,我可以复制粘贴 tnsnames.ora 的全部内容
ERA_TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.3.51)(PORT=1521))
(CONNECT DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ERA_TEST)
(INSTANCE_NAME = ERATEST)
)
)
这是一个 Listener.ora 文件:
listener.ora Network Configuration File: /apps/app/oracledb/oracle-base/product/12.1.0/dbhome_1/network/admin/listener.ora
Generated by Oracle configuration tools.
USE_SID_AS_SERVICE_LISTENER=on
LISTENER = (DESCRIPTION_LIST =
(DESCRIPTION =
> (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
> (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
> ) )
我做错了什么?
最佳答案
请从 shell/cmd 执行此命令来检查监听器的状态:
$>lsnrctl status
然后尝试通过从 shell/cmd 执行来 ping Oracle 实例
$>tnsping your_oracle@SID
可以是防火墙设置。 检查 iptables 服务的状态。如果是您的测试环境,您可以通过从 shell 执行来禁用此服务:
$>service iptables stop
$>chkconfig iptables off
或者您可以使用 iptables(适用于 RHEL/Centos)简单地打开端口 1521:
$>iptables -I INPUT -p tcp -m tcp --dport 1521 -j ACCEPT
$>service iptables save
关于linux - 无法连接到 Oracle DB ORA-12560 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46217188/