Public/Private/Vip区别

在Oracle RAC环境下,每个节点都会有多个IP地址,分别为Public/Private/Vip,这三个IP到底有啥区别呢?分别用在那些场合呢?来看看老外的回答。
1. private IP address is used only for internal clustering processing (Cache Fusion)
私有IP用于心跳同步,这个对于用户层面,可以直接忽略,简单理解,这个Ip用来保证两台服务器同步数据用的私网IP。
2. VIP is used by database applications to enable fail over when one cluster node fails
虚拟IP用于客户端应用,以支持失效转移,通俗说就是一台挂了,另一台自动接管,客户端没有任何感觉。
这也是为什么要使用RAC的原因之一,另一个原因,我认为是负载均衡。
3. public IP adress is the normal IP address typically used by DBA and SA to manage storage, system and database.
公有IP一般用于管理员,用来确保可以操作到正确的机器,我更愿意叫他真实IP。

通过上述解释,不难理解作为一个DBA,在配置tnsnames.ora时,有些场合是要使用的vip,而有些场合又必须使用public IP。 例如,当你在定位一个数据库的死锁时,使用public ip,可以确保连到你想处理的机器,相反此时使用虚拟ip时,会出现不确定性,因为服务器默认是开启负载均衡的,也就是有可能你想连A机,系统却给你分配了B机。
例如:
  1. 下面的例子就是使用的VIP

  2. infodb8 =
  3.   (DESCRIPTION =
  4.     (ADDRESS = (PROTOCOL = TCP)(HOST = 138.*.1.81)(PORT = 1521))
  5.     (ADDRESS = (PROTOCOL = TCP)(HOST = 138.*.1.82)(PORT = 1521))
  6.     (LOAD_BALANCE = yes)
  7.     (FAILOVER = ON)
  8.     (CONNECT_DATA =
  9.       (SERVER = DEDICATED)
  10.       (SERVICE_NAME = infodb)
  11.       (FAILOVER_MODE =
  12.         (TYPE = SELECT)
  13.         (METHOD = BASIC)
  14.         (RETRIES = 30)
  15.         (DELAY = 5)
  16.       )
  17.       ))
  1. 下面的例子就是使用的Public IP,指定连接1机,注意红色字体infodb1进一步限制连接的实例。
  2. INFODB83 =
  3.   (DESCRIPTION =
  4.     (ADDRESS_LIST =
  5.       (ADDRESS = (PROTOCOL = TCP)(HOST = 138.*.1.83)(PORT = 1521))
  6.     )
  7.     (CONNECT_DATA =
  8.       (SERVICE_NAME = infodb)
  9.       (INSTANCE_NAME = infodb1)
  10.     )
  11.     (HS = OK)
  12.   )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
讲解这段代码: private FragmentManager manager; private FragmentTransaction transaction; //private Fragment fragment_title; //通过manager和transaction;来实现对fragment的动态操作 public RadioButton radio1,radio2,radio3,radio4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE);//将app自带的标题去掉 setContentView(R.layout.vip_main); //设置初始内容Fragment为我的页面 manager=getFragmentManager();//获取管理器 transaction=manager.beginTransaction(); transaction.add(R.id.content_layout,new Vipmain4());//添加 transaction.commit();//提交 //初始化控件 radio1=(RadioButton)findViewById(R.id.radioButton); radio2=(RadioButton)findViewById(R.id.radioButton2); radio3=(RadioButton)findViewById(R.id.radioButton3); radio4=(RadioButton)findViewById(R.id.radioButton4); RadioButtonListener listener=new RadioButtonListener(); //给控件绑定监听器 radio1.setOnClickListener(listener); radio2.setOnClickListener(listener); radio3.setOnClickListener(listener); radio4.setOnClickListener(listener); } //radioButton上绑定的监听器类 class RadioButtonListener implements View.OnClickListener{ @Override //当点击不同radioButton的时候,需要切换不同的Fragment public void onClick(View v) { transaction=manager.beginTransaction(); switch (v.getId()){ case R.id.radioButton: transaction.replace(R.id.content_layout,new Vipmain1()); break; case R.id.radioButton2: transaction.replace(R.id.content_layout,new Vipmain2()); break; case R.id.radioButton3: transaction.replace(R.id.content_layout,new Vipmain3()); break; case R.id.radioButton4: transaction.replace(R.id.content_layout,new Vipmain4()); break; } transaction.commit(); } }
06-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值