Oracle 10g RAC 的部署六

日期: 2008-07-20 作者:flightpat 来源:TechTarget中国 英文

  11 透明故障切换(TAF)


    Oracle TAF中的故障切换机制使任何失败的数据库连接能够重新连接到集群中的其他节点。故障切换对用户是透明的。


  创建一个新的数据库服务。


  首先,创建一个名为CRM的新服务。可以使用DBCA或srvctl实用程序来创建数据库服务。


  在节点1上,以oracle用户身份执行


  $dbca


  欢迎页面:选择Oracle Real Application Clusters database。


  操作:选择Services Management。


  集群数据库列表:单击Next。


  数据库服务:单击Add。


  添加服务:输入“CRM”。


  选择节点1的gemni作为首选实例。


  选择节点2的gemni作为可用实例。


  TAF策略:选择Basic。


  单击Finish。


  数据库配置助手将在tnsnames.ora中创建以下CRM服务名项:






CRM = 
  (DESCRIPTION = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = ds1-vip)(PORT = 1521)) 
  (ADDRESS = (PROTOCOL = TCP)(HOST = ds2-vip)(PORT = 1521)) 
  (LOAD_BALANCE = yes) 
  (CONNECT_DATA = 
  (SERVER = DEDICATED) 
  (SERVICE_NAME = CRM) 
  (FAILOVER_MODE = 
  (TYPE = select) 
  (METHOD = BASIC) 
  (RETRIES = 180) 
  (DELAY = 5) 
  ) 
  ) 
  ) 


  <在节点1上>







SQL> connect system/oracle@gemni 
  Connected. 
  SQL> show parameter service 
  NAME TYPE VALUE 
  —————————— ———– ———————— 
  service_names string gemni, CRM 


  <在节点2上>没有CRM服务







SQL> connect system/oracle@gemni 
  Connected. 
  SQL> show parameter service 
  NAME TYPE VALUE 
  —————————— ———– ———————— 
  service_names string gemni 


  使用CRM服务连接第一个会话。


  如果failover_type和failover_mode返回的输出为“NONE”,则验证是否在tnsnames.ora中正确配置了CRM服务。







SQL> connect system/oracle@crm 
  Connected. 
  SQL> select 
  2 instance_number instance#, 
  3 instance_name, 
  4 host_name, 
  5 status 
  6 from v$instance; 
  INSTANCE# INSTANCE_NAME HOST_NAME STATUS 
  ———- —————- ——————— ———— 
  1 gemni ds1.mycorpdomain.com OPEN 
  SQL> select 
  2 failover_type, 
  3 failover_method, 
  4 failed_over 
  5 from v$session 
  6 where username=’SYSTEM’; 
  FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER 
  ————- ————— —————- 
  select BASIC NO 

  从其他会话中关闭该实例。


  在CRM实例上以sys用户身份连接,并关闭该实例。







$export ORACLE_SID=gemni  
  $sqlplus / as sysdba  
  SQL> select  
  2 instance_number instance#,  
  3 instance_name,  
  4 host_name,  
  5 status  
  6 from v$instance;  
  INSTANCE# INSTANCE_NAME HOST_NAME STATUS  
  ———- —————- ——————— ————  
  1 gemni ds1.mycorpdomain.com OPEN   
SQL> shutdown abort; //注意测试切换,需要用abort 
  ORACLE instance shut down. 

  验证会话已经完成故障切换。


  从您先前打开的同一CRM会话执行以下查询,以验证该会话已经故障切换到其他实例。







SQL> select 
  2 instance_number instance#, 
  3 instance_name, 
  4 host_name, 
  5 status 
  6 from v$instance; 
  INSTANCE# INSTANCE_NAME HOST_NAME STATUS 
  ———- —————- ——————— ———— 
  2 gemni ds2.mycorpdomain.com OPEN 
  SQL> select 
  2 failover_type, 
  3 failover_method, 
  4 failed_over 
  5 from v$session 
  6 where username=’SYSTEM’; 
  FAILOVER_TYPE FAILOVER_METHOD FAILED_OVER 
  ————- ————— —————- 
  select BASIC YES 


  将CRM服务重新定位到首选实例。


  恢复节点1之后,CRM服务不会自动重新定位到首选实例。您必须手动将服务重新定位到节点1。


  <在节点1上>  







$export ORACLE_SID=gemni 
  $sqlplus / as sysdba 
  SQL> startup 
  ORACLE instance started. 
  Total System Global Area 209715200 bytes 
  Fixed Size 1218556 bytes 
  Variable Size 104859652 bytes 
  Database Buffers 100663296 bytes 
  Redo Buffers 2973696 bytes 
  Database mounted. 
  Database opened. 
  SQL> show parameter service 
  NAME TYPE VALUE 
  —————————— ———– ———————— 
  service_names string gemni 


  <在节点2上>







$export ORACLE_SID=gemni 
  $sqlplus / as sysdba 
  SQL> show parameter service 
  NAME TYPE VALUE 
  —————————— ———– ———————— 
  service_names string gemni, CRM 


  <在节点1上>







$srvctl relocate service -d gemni -s crm -i ds2 -t ds1 
  SQL> connect system/oracle@gemni 
  Connected. 
  SQL> show parameter service 
  NAME TYPE VALUE 
  —————————— ———– ———————— 
  service_names string gemni, CRM 


  <在节点2上>







SQL> connect system/oracle@gemni 
  Connected. 
  SQL> show parameter service 
  NAME TYPE VALUE 
  —————————— ———– ———————— 
  service_names string gemni 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐