刚装成的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: 因目标主机或对象不存在, 连接失败