RHEL 4 上安装配置 Oracle 10g RAC
转载请注明文章转载自:Dbabc.Net [http://dbabc.net]
本文链接:http://dbabc.net/archives/2011/01/28/oracle10g-rac-on-linux-x64.shtml
六、监听配置以及RAC测试
配置相关参数档:listener.ora , tnsnames.ora
SQL> show parameter listener NAME TYPE VALUE -------------------------- -------- ----------- ---------- local_listener string remote_listener string LISTENERS_RACNAME SQL>
开始修改及配置节点1,2 的spfile 中的local_listener, 以及Listener.ora 、 tnsnames.ora
6.1修改Node1的tnsnames.ora文件
确认tnsnames.ora 已经备份,然后在节点1 上tnsnames.ora 中修改。
①.在tnsnames.ora 添加
LOCAL_RAC = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.25)(PORT = 1521)) )
此处的host 需要填写node1物理主机的真实ip(即eth0上的ip)
②.将LISTENERS_RACNAME 的主机名修改成虚拟ip
LISTENERS_RACNAME = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.31)(PORT = 1521)) )
③.修改node1 listener.ora将主机名换成虚拟ip即可
LISTENER_NODE1 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521)(IP = FIRST)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.25)(PORT = 1521)(IP = FIRST)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ) )
6.2修改Node2的tnsnames.ora文件
确认tnsnames.ora 已经备份,然后在node2 上tnsnames.ora 中修改。
①.在tnsnames.ora 添加
LOCAL_RAC = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.26)(PORT = 1521)) )
此处的host 需要填写node2物理主机的真实ip(即eth0上的ip)
②.将LISTENERS_RACNAME 的主机名修改成虚拟ip
LISTENERS_RACNAME = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.31)(PORT = 1521)) )
③ 修改node2 listener.ora将主机名换成虚拟ip即可
LISTENER_NODE1 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.31)(PORT = 1521)(IP = FIRST)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.26)(PORT = 1521)(IP = FIRST)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ) )
6.3修改参数local_listener
SQL> alter system set local_listener='LOCAL_RAC' scope=both ;
注:节点 1 上执行就行了,因为spfile 共享
6.4重新启动所有实例及监听器
每个节点上重新启动所有实例及监听器
6.5.客户端tnsname.ora设置
RAC = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.30)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.31)(PORT = 1521)) (FAILOVER = ON) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = hfthrp) ) )
如果有必要的话也可以设置一个IP 连接单机
6.6.测试RAC
配置安装完成。测试如下
node1</home/oracle>$crs_stat -t
![clip_image146[4]](http://god.dbabc.net/dbabc.net/img/c51b88e7ccdd_12312/clip_image1464.jpg)
State 全部显示 online 说明一切ok
七、RAC重启命令
重启RAC
关闭RAC:
1.首先关闭OEM:$emctl start dbconsole
2.关闭数据库:$ srvctl stop database -d db_name
3.关闭crs:#crsctl stop crs 此处需要用root权限,并且需要在全部节点上执行。
4.重启服务器:#init6
启动RAC
由于RAC开机自动启动,开机后通过运行crs_stat –t 查看RAC是否完全启动。如果其status是 offline 状态可通过 crs_start Name来启动。完整的Name可以通过crs_stat来查看。如果其status是unknown状态,首先通过crs_stop Name来关掉Name,然后再通过crs_start Name来启动。
八、附:卸载ClusterWare
如果在安装clusterware时如果出现报错现象,需要重新安装时,必须先清除已经安装的cluserware,否则可能会影响到下次安装。
运行自身带的卸载工具卸载
然后使用以下命令进行删除
rm -f /etc/init.crs rm -f /etc/init.crsd rm -f /etc/init.cssd rm -f /etc/init.evmd rm -f /etc/oracle/ocr.loc rm -f /etc/rc0.d/K96init.crs rm -f /etc/rc1.d/K96init.crs rm -f /etc/rc2.d/K96init.crs rm -f /etc/rc3.d/S96init.crs rm -f /etc/rc4.d/K96init.crs rm -f /etc/rc6.d/K96init.crs cp -f /etc/inittab.orig /etc/inittab
删除crs的安装目录,以及/ocfs_data/crs 下的ocr.dbf votingdisk
重启机子,重新安装