zoukankan      html  css  js  c++  java
  • 小知识:Oracle RAC添加服务名实现单节点访问

    环境:Oracle 11.2.0.4 RAC(2 nodes)

    1.查看RAC IP配置信息

    我们先查看下环境的IP分配情况,一般确认/etc/hosts配置无误,可直接快速看下hosts配置相关内容:

    #public ip
    192.168.1.61  jystdrac1
    192.168.1.63  jystdrac2
    #virtual ip
    192.168.1.62  jystdrac1-vip
    192.168.1.64  jystdrac2-vip
    #scan ip
    192.168.1.65  jystdrac-scan
    

    服务名选择系统名+VIP最后一位,即crm62、crm64,从而便于区分服务名默认优先连接哪一个节点;

    2.添加服务名并启动服务

    正常情况下,只连接到某一个节点进行跑批从而最大化避免gc类等待,但要求如果该节点发生故障,是可以连接到另外节点的。 这里就主要用到`-r`和`-a`两个参数分别指定preferred instances和available instances,下面具体规划为:

    服务名 crm62 的 preferred instances 是 crmdb1,available instances 是 crmdb2;
    服务名 crm64 的 preferred instances 是 crmdb2,available instances 是 crmdb1.

    [oracle@jystdrac1 ~]$ 
    srvctl add service -d crmdb -s crm62 -r "crmdb1" -a "crmdb2"
    srvctl add service -d crmdb -s crm64 -r "crmdb2" -a "crmdb1"
    srvctl start service -d crmdb -s "crm62,crm64"
    

    注意:
    1.不需要sqlplus下使用alter system 命令去修改service_names参数值,因为添加对应服务名且服务启动后,服务名就会自动增加对应值;
    2.一般适用于跑批等特殊业务场景,用于防止不必要的gc产生反而影响效率。

    3.停止服务并删除服务名

    这一步属于是回退方案,不管因为什么原因,想去掉新增的服务名,只需停止并删除对应服务名,应用修改为之前的连接配置即可。
    [oracle@jystdrac1 ~]$ 
    srvctl stop service -d crmdb -s "crm62,crm64"
    srvctl remove service -d crmdb -s crm62
    srvctl remove service -d crmdb -s crm64
    
  • 相关阅读:
    构建之法阅读笔记02
    4.7-4.13 第八周总结
    构建之法阅读笔记01
    顶会热词统计
    结对作业-四则运算升级版
    3.31-4.5 第七周总结
    大道至简阅读笔记03
    3.23-3.30 第六周总结
    第7周总结
    人月神话阅读笔记之三
  • 原文地址:https://www.cnblogs.com/jyzhao/p/13429847.html
Copyright © 2011-2022 走看看