博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle10g rac 报ora-12545错误的解决方案 转载
阅读量:4028 次
发布时间:2019-05-24

本文共 2013 字,大约阅读时间需要 6 分钟。

一、问题描述
操作系统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
你可能感兴趣的文章
微信小程序开发全线记录
查看>>
Centos import torchvision 出现 No module named ‘_lzma‘
查看>>
网页设计里的浮动 属性
查看>>
Maximum Subsequence Sum
查看>>
PTA:一元多项式的加乘运算
查看>>
CCF 分蛋糕
查看>>
解决python2.7中UnicodeEncodeError
查看>>
小谈python 输出
查看>>
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
查看>>
python:如何将excel文件转化成CSV格式
查看>>
Django 的Error: [Errno 10013]错误
查看>>
机器学习实战之决策树(一)
查看>>
[LeetCode By Python] 2 Add Two Number
查看>>
python 中的 if __name__=='__main__' 作用
查看>>
机器学习实战之决策树二
查看>>
[LeetCode By Python]7 Reverse Integer
查看>>
[LeetCode By Python]9. Palindrome Number
查看>>
[leetCode By Python] 14. Longest Common Prefix
查看>>
[LeetCode By Python]107. Binary Tree Level Order Traversal II
查看>>
[LeetCode By Python]108. Convert Sorted Array to Binary Search Tree
查看>>