欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 11gR2 RAC连接时ORA-12545错误

程序员文章站 2024-01-31 09:39:10
...

Oracle 11gR2 RAC连接时ORA-12545错误

刚装成的Oracle 11gR2的RAC集群

三个节点

创建好数据库,一切都在正常的进行中

然后去安装了一个oracle client,进行链接时出现了ORA-12545


然后简单的baidu了一下,有人说是11gR1的bug,改一下实例的监听配置

然后还有人说是11gR1的bug需要alter system register;(注册监听)

我这儿看,,我的实例和监听没错。

下边记录整个错误的分析过程

首先查看~/.bash_profile

export ORACLE_SID=+ASM1
#export ORACLE_HOME=/oracle/11.2.0/dbhome
export GRID_HOME=/grid/11.2.0/crs
export ORACLE_HOME=/grid/11.2.0/crs

这三个参数,我的是如上显示,然后实际我的oracle的安装host是在/oracle/11.2.0/dbhome这儿

我创建的数据库的SID是aaa

所以我需要手动设置这两个变量如下(在rac1,一个节点上):

export ORACLE_SID=aaa
export ORACLE_HOME=/oracle/11.2.0/dbhome

然后就可以sqlp / as sysdba连接了

SQL> show parameter db_name;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string aaa
SQL> show parameter instance_name; //实例名

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string aaa1
SQL> show parameter listener; //查看监听

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
listener_networks string
local_listener string (DESCRIPTION=(ADDRESS_LIST=(AD
DRESS=(PROTOCOL=TCP)(HOST=vip1
)(PORT=1521)))) //查得此处监听的是vip1:1521
remote_listener string cluster.rac.com:1521 //remote监听scan的1521

这儿看local_listener监听的是vip1:1521端口,而我节点的vip的解析都是写在hosts中的,client找不到vipn的解析才导致每次链接都出现如下错误:

[oracle@SEM admin]$ sqlplus system/aaa@aaa

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 8月 8 21:01:11 2013

Copyright (c) 1982, 2009, Oracle. All rights reserved.

ERROR:
ORA-12545: 因目标主机或对象不存在, 连接失败

推荐阅读:

通过expdp&impdp把11g的数据迁移到10g平台的要点

Oracle Data Pump使用范例及部分注意事项(expdp/impdp)

Oracle datapump expdp/impdp 导入导出数据库时hang住

expdp/impdp做Oracle 10g 到11g的数据迁移