一、问题描述
操作系统Windows 2003 ,oracle 10g 10.2.0.2
当客户端连过来时客户端有时能连通,有时却断开提示错误
SQL> conn system/oracle@gzmdc
已连接。
SQL> conn system/oracle@gzmdc
ERROR:
ORA-12545: 因目标主机或对象不存在,连接失败
警告: 您不再连接到 ORACLE。
SQL> conn system/oracle@gzmdc
已连接。
SQL> conn system/oracle@gzmdc
已连接。
SQL> conn system/oracle@gzmdc
ERROR:
ORA-12545: 因目标主机或对象不存在,连接失败
警告: 您不再连接到 ORACLE。
SQL>
客户端tns配置
GZMDC=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.18)(PORT = 5880))
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.20)(PORT = 5880))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)
服务器端
201.150.14.18 node1-vip
201.150.14.20 node1-vip 是虚拟ip(vip)
201.150.14.5 node1
201.150.14.7 node2 是公网ip
二、解决方案
有人提议把客户端hosts文件中加入对两个服务名的名字解析,经测试的确能解决问题,但总觉得不是很好,维护上百台电脑的hosts文件是很困难的.
下面的方法是我测试成功的.
1, 服务器2个节点群集 机器名为 node1,node2.
2,在服务器端用system用户登录
SQL> show parameter list
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
remote_listener string LISTENERS_TEST
可以看到这两个参数,remote_listener为 LISTENERS_TEST
3,在node1,node2上分别编辑服务器端tnsname.ora (注意,是服务器端的)
将下面部分
LISTENERS_TEST =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 5880))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 5880))
)
改为:
LISTENERS_TEST =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.18)(PORT = 5880))
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.20)(PORT = 5880))
)
也就是将host主机名改为ip地址
在node1上增加以下部分
LOCAL_TEST =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.5)(PORT = 5880))
)
在node2上增加以下部分
LOCAL_TEST =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.7)(PORT = 5880))
)
保存退出
查看两个节点的 listener.ora文件,最好将里面的主机名都改为ip地址
4,用system用户登录
执行
alter system set local_listener=''LOCAL_TEST'' scope=both;
5 重启所有实例 所有监听.
再从客户端连接 正常,
每次连接用 show parameter instance_name查看实例名, 负载均衡已经生效.
有人把remote_listener 参数置空 虽然连接正常但已经破坏了负载均衡.
以上做法不知道是不是有什么不妥. 、
转载: http://dev.firnow.com/course/7_databases/oracle/oraclejs/20071226/95494.html
分享到:
相关推荐
用oracle数据库新建连接时遇到ora-12505,此问题解决后又出现ora-12519错误,郁闷的半天,经过一番折腾问题解决,下面小编把我的两种解决方案分享给大家,仅供参考。 解决方案一: 今天工作时在新建连接的时候遇到...
客户端进行连接的时候,系统不定期出现ora-12520,ora-12516的...问题解决方案建议: 1、增加process和session的连接数。 2、检查连接的应用,是不是有没有释放的连接。 3、将修改参数local_listener中的vip为scan_ip。
解决方案 打开cmd命令,输入tnsping orcl ,正常情况下是这样显示的: 下面会显示监听器配置文件的路径及配置信息。如果不能出现监听器信息,可以输人lsnrctl status 命令查看监听器状态: 根据上个图片显示的监听...
告警日志里这两天一直显示这个错误: ORA-00600:internalerrorcode,arguments:[kcblasm_1],[103],[],[],[],[],[],[] TueAug1209:20:17CST2014 Errorsinfile/u01/app/oracle/admin/orcl/udump/orcl_ora_29974.trc: ...
Oracle ASM 和 Oracle Database 11gR2 提 供了较以前版本更为增强的存储解决方案,该解决方案能够在 ASM 上存储 Oracle Clusterware 文件,即 Oracle 集群注册表 (OCR) 和表决文件(VF,又称为表决磁盘)。这一 特性使 ...
在使用ORACLE的过程中,会出现各种各样的问题,各种各样的错误,其中ORA-12899就是前段时间我在将数据导入到我本地机器上的时候一直出现的问题.不过还好已经解决了这个问题,现在分享一下,解决方案; 出现ORA-12899,是...
以前一直用的是oracle11g,创建用户一直没有问题, 今天在oracle12c上创建用户,报错了。如下图: 我很郁闷, 就打开了oracle官方网站找了下, 发现创建用户是有限制的。 2.解决方案 创建用户的时候用户名以c##或者...
97 Oracle 迁移至 PostgreSQL 在华为 ARM 上的解决方案 98 Oracle 数据库隐含参数设置 99 Oracle 隐含参数 100 Oracle 诊断事件及深入解析10053事件 101 OS deploying-odg-with-oda-1615029 102 OS IBM AIX ...
关于这个问题,测试了很多方案,终于成功,现提供如下排查思路: 1、首先排查oci.dll不一致(navicat for oracle与oracle版本不一致)问题,这个操作必须进行。 将OCI library(oci.dll)目录填写成已安装的oracle目录...
故障现象 Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 7 days [11:01:00oracle@dvd db_1]$sqlplus wang/oracle SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov...
一个项目做了Oracle主从数据库同步,通过Dataguard实现,从库服务器宕机,再开机的时候,从库无法启动,报“ORA-01196: 文件 1 由于介质恢复会话失败而不一致”这个错误,具体日志信息如下: ORA-10458: standby ...
现在本文给出解决方案: 现在先测试一下tns是否可以ping,成功的界面大致如下 (1)在oracle安装路径的tns配置文件里添加如下代码 # tnsnames.ora Network Configuration File: d:\Oracle\product\10.2.0\client_1...
ORA-07445: exception encountered: core dump [evaopn2()+128] [SIGSEGV] [Address not mapped to object] [0x000000000] [] [] 数据库版本 10.2.0.4.0 问题原因 复杂视图合并问题导致的oracle bug 解决方法 1、...