oracle 第二个数据库实例,用plsql不能连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 第二个数据库实例,用plsql不能连接相关的知识,希望对你有一定的参考价值。

在本地oracle10g先建立了一个实例,orcl,用plsql能够正常连接,之后又建立一个数据库实例,orcl10g,结果orcl10g不能用plsql正常连接,但是可以用sqlplus正常连接。下面是tnsnames.ora的代码片段:

ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)

ORCL10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl10g)
)
)

我自己找到答案了,但错误确实是在listener.ora上,在这个文件添加上第二个实例的监听就可以了!

参考技术A 1、能连就见鬼了
2、LOL
3、你看看监听是一个端口!
3、lsnrctl status 查看每个实例对应的监听,修改之后即可,初步估计一个是1521,一个是1522追问

把端口号该为1522也不行,连接时的错误如下:

追答

。。。。。我是叫你看看监听。。我是猜测,也没教你直接改。。。命令行下面 lsnrctl status

参考技术B 你把服务器端的listener.ora文件与客户端的tnsnames.ora文件对比下,看下服务器端有没有SERVICE_NAME这个参数,服务器端的可能是SID,而不是SERVICE_NAME。本回答被提问者采纳 参考技术C 应该是新建的实例orcl10g没有在监听处注册的原因。可以先启动监听,再启动实例试下 参考技术D 端口改完以后。还需要把监听改了。每个都配置不同的监听。然后再把监听起来。lsrnct start

oracle用cmd货plsql登录oracle实例提示“ORA :12170”TNS:连接超时

 

1,cmd ------ ping ip地址:查看网络问题,能否ping通ip地址

2,cmd ------ tnsping ip地址(或服务器的实例名SID)“

①如果出现"TNS-12535:操作超时" 提示,可能是服务器端防火墙没有关闭,关闭防火墙即可;

   ②如果出现下图显示,则证明没有问题;

 

 3,cmd ------ netstat - na 查看1521端口是否关闭

①如果显示关闭,则需要在防火墙设置中将1521端口设为例外;

   ②如果出现下图显示,则证明没有问题;

 

 4,cmd ------ lsnrctl status  (重点:大部分错误集中于此)

lsnrctl是listener-control 监听器的缩写,查看监听的状态

   当输入命令后出现下图所示:

 

 或出现监听不支持服务等文字,基本可以确定我们安装目录product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN 下的tnsnames.ora文件或listener.ora文件出现问题。

①检查tnsnames.ora文件,查看代码中HOST后面对应的是不是你的IP地址,如果不是修改为正确的IP 即可。(连接无线网络的多注意,因为每次的IP是随机分配的)如下显示为正确的文件内容 

 

 ②检查listener.ora文件,listener.ora文件我们需确保文件中至少存在如下代码

 

  如果lsnrctl status命令下出现监听不支持服务问题我们还需要在上面的基础上加一段,如下为完整代码

 

 5,重点(亲测):检查--开始--程序--找到oracle安装目录:找到net manager“oracle net 配置”--本地:服务命名--orcl90--这个是我的实例服务名(这是我的本地专用服务器)。检查主机名是否是本机ip或localhost。注意:连接类型要选“专用服务器”。

 

 

如果连接在次报错ora-12541:TNS:没有监听器:

1.cmd---services.msc----以Oracle开头TNListener结尾的服务启动它

2.如果还没有启动,修改注册表cmd--regedit
找到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleTnsListener
添加一个字符串imagepath值为TNSLSNR.exe的路径
我的是D:/Oracle/Administrator/product/11.1.0/db_1/BIN/TNSLSNR
就可以连接上了。

 

如果在本机可以正常使用,可是到局域网中的其他机器就出现“ORA-12170:TNS:连接超时

解决方法:

1.cmd-----ping ip地址 查看网络问题,看能否ping通

2.cmd-----tnsping   ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙    没有关闭

3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外

4.cmd----lsnrctl status   lsnrctl是listener-control 监听器的缩写,查看监听的状态

以上是关于oracle 第二个数据库实例,用plsql不能连接的主要内容,如果未能解决你的问题,请参考以下文章

PLSQL可以连接上本地的ORACLE,但是JAVA连不上。

JAVA连数据库查询结果和PLSQL不一样(oracle)

Oracle PLSQL 函数调用到第二个函数

oracle无法连接到数据库实例

急询:C#Webservice连oracle数据库报错的问题

您好,您提问过的问题:plsql能远程连上oracle数据库,java程序连不上,是怎么解决的?