无法连接到 Oracle DB ORA-12560 错误
Can't connect to Oracle DB ORA-12560 error
我已经下载了测试 Oracle EDQ 测试数据库,使用数据库配置助手创建了一个数据库并创建了一个用户。
我已授予他这些权限:
所有权限
连接
资源
select 在 v_$sysstat
创建会话
创建table
当我在本地连接到名为 '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 服务的状态。如果是你的测试环境,你可以通过执行 from 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
我已经下载了测试 Oracle EDQ 测试数据库,使用数据库配置助手创建了一个数据库并创建了一个用户。
我已授予他这些权限:
所有权限
连接
资源
select 在 v_$sysstat
创建会话
创建table
当我在本地连接到名为 '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 服务的状态。如果是你的测试环境,你可以通过执行 from 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