1. 程式人生 > >ORACLE RAC TAF 配置(透明故障轉移)

ORACLE RAC TAF 配置(透明故障轉移)

原文地址:http://blog.itpub.net/17086096/viewspace-1872783/

TAF(Transparent Application Failover)即透明應用程式故障轉移技術。當初始化連接出現問題無法連線時,該功能可以保證應用程式重新連線到可用服務。在重新連線過程中,之前的活動事務將會被回滾,但在“具體條件”下TAF可以保證SELECT語句不被終止。這也是RAC亮點之一。

所謂的“具體條件”指的就是FAILOVER_MODE中METHOD選擇“BASIC”、TYPE選擇“SELECT”


TAF的特性:

1:TAF是ORACLE客戶端提供的一項特性,使用TAF,對客戶端的環境有一定的要求,比如JAVA的JDBC驅動、Oracle客戶端的版本等(8i開始支援TAF);


2:大致上TAF可以分為2種,連線時的TAF和會話建立後TAF;
3:TAF本身與是否RAC環境無關,但一般都用在RAC環境,最小程度的減少最應用的影響,單例項環境下也可以使用TAF,這樣使用PL/SQL developer連線資料庫,即使資料庫例項重啟,也不需要重新連線;
4:RAC環境下,還可以把TAF配置在伺服器端;
5:配置listener.ora檔案的GLOBAL_DBNAME引數後將會禁用TAF


檢視當前service

  1. col name format a24
  2. col failover_method format a11 heading 'METHOD' 
  3. col failover_type format a10 heading 'TYPE'
     
  4. col failover_retries format 9999999 heading 'RETRIES' 
  5. col goal format a10 
  6. col clb_goal format a8 
  7. col AQ_HA_NOTIFICATIONS format a5 heading 'AQNOT' 
  8. select name, failover_method,failover_type, failover_retries,goal, clb_goal,aq_ha_notifications from dba_services;


1. 客戶端TAF配置

  1. vi tnsnames.ora 
  2. NODE = 
  3.   (DESCRIPTION =
     
  4.     (ADDRESS_LIST = 
  5.       (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan.yang.com)(PORT = 1521)) 
  6.     ) 
  7.     (CONNECT_DATA = 
  8.       (SERVICE_NAME = rac.yang.com) 
  9.       (FAILOVER_MODE = 
  10.        (TYPE = SELECT) 
  11.        (METHOD = BASIC) 
  12.        (RETRIES = 180) 
  13.        (DELAY = 5)) 
  14.     ) 
  15.   )

  16. SELECT MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER FROM V$SESSION WHERE SID=141;  
  17. MACHINE TYPE METHOD FAI  
    -------------------- ---------- ----------- ---  
    tay SELECT BASIC NO

2. 伺服器端TAF配置


2.1新增taf服務
srvctl add service -d cnposqa -s cnposqa_taf -r "cnposqa1,cnposqa2" -P BASIC

    -e        Failover type (NONE, SESSION, or SELECT)
    -m      Failover method (NONE or BASIC)
    srvctl add service -d cnposqa -s cnposqa_taftt -r "cnposqa1,cnposqa2" -e select -m basic -P BASIC


2.2啟動服務

srvctl start service -d cnposqa -s cnposqa_taf

2.3檢查服務情況
[email protected]_rel:/oradata/> srvctl config service -d cnposqa -s cnposqa_taf
Service name: cnposqa_taf
Service is enabled
Server pool: cnposqa_cnposqa_taf
Cardinality: 2
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition: 
Preferred instances: cnposqa1,cnposqa2
Available instances:

2.3 給service新增引數(basic,select):

execute dbms_service.modify_service (service_name => 'cnposqa_taf' - 
, aq_ha_notifications => true - 
, failover_method => dbms_service.failover_method_basic - 
, failover_type => dbms_service.failover_type_select - 
, failover_retries => 180 - 
, failover_delay => 5 - 
, clb_goal => dbms_service.clb_goal_long);

++單邊服務新增

--cnposqa_taf2單邊服務,主節點cnposqa2, 副節點cnposqa1   (-r Preferred  , -a Available )
srvctl add service -d cnposqa -s cnposqa_taf2 -r "cnposqa2" -a "cnposqa1" -P BASIC

[email protected]:/oradata> srvctl config service -d cnposqa -s cnposqa_taf2 
Service name: cnposqa_taf2
Service is enabled
Server pool: cnposqa_cnposqa_taf2
Cardinality: 1
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: NONE
Failover method: NONE
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition: 
Preferred instances: cnposqa2
Available instances: cnposqa1

切換測試


相關推薦

ORACLE RAC TAF 配置透明故障轉移

原文地址:http://blog.itpub.net/17086096/viewspace-1872783/TAF(Transparent Application Failover)即透明應用程式故障轉移技術。當初始化連接出現問題無法連線時,該功能可以保證應用程式重新連線到可

Oracle RAC failover 測試(連線時故障轉移)

1、Oracle failover的幾種方式 Oracle failover也叫故障轉移,從Oracle 10g開始,分為3種方式: a. Client-Side Connect time Failover 客戶端連線failover模式,此方式較為簡單,只要

ORACLE RAC部署實錄ORACLE ASMLIB

oracle asm[root@king01 ~]# yum install -y kmod-oracleasm* [root@king01 ~]# rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm [root@king01 ~]# rpm -ivh oracleasm

ORACLE RAC部署實錄Oracle Grid Infrastructure

oracle rac[root@king01 ~]# groupadd -g 1300 dba [root@king01 ~]# groupadd -g 1301 oper [root@king01 ~]# groupadd -g 1000 oinstall [root@king01 ~]# groupad

新手入門 配置Always On 故障轉移群集例項

1.      搭建WSFC 1.1.1.        部署環境準備  準備3臺虛擬機器,總體概況如下,後續詳細介紹配置過程 1.1.1.        WindowsServer AD搭建和配置 修改機器名稱 1.1.2.  

ORACLE 11gR2 RAC新增刪除正常及強制節點操作步驟刪除篇

ORACLE 11gR2 RAC新增刪除(正常及強制)節點操作步驟(刪除篇) 本文主要轉載 【  http://www.cnxdug.org/?p=2511 】 有部分細節自己實驗新增,再此謝謝前輩。 RAC刪除節點 這裡我們模擬節點可以正常啟動時,正常刪除RAC節點的操作過程以及節點由於遇到

spring整合Mybatis oracle資料庫連線配置dbcp

Spring + struts + MyBatis 結合編碼demo 一.首先匯入相應的 Spring + struts + MyBatis jar包  1.Spring + MyBatis :如下操作順序 1.1:首先建立資料庫連線:(oracle) <bean

keepalive配置mysql自動故障轉移

本文先配置了一個雙master環境,互為主從,然後通過Keepalive配置了一個虛擬IP,客戶端通過虛擬IP連線master1,當master1宕機,自動切換到master2。一次只能連線其中一個master進行讀寫,所以是active-passive模式。 一 My

maven倉庫配置阿裏雲

iyu mpi log get XML aliyun mir ont xml文件 在maven文件夾下的setting.xml文件夾下查找<mirrors>標簽,將下列代碼添加進去 <mirror> <!--This send

redis之 集群配置主從復制

端口 cnblogs pid 分享 必須 服務器配置 主服務器 一個 cat 集群的作用:    集群的方式有二種:   第二種的好處是:master宕機以後可以直接切換到slave1 主從通信的過程   先通過dump導出大塊的rdb 然後把aof緩沖過來,然後通過

二維碼解碼器Zbar+VS2010開發環境配置使用opencv庫

nbsp () imread cfg 如何配置 lib eight ann dev Zbar條碼解碼器是一個開源的二維碼(包括條形碼)解碼器,可以識別來至於視頻流,圖像文件、手持掃碼器和視頻設備(如攝像頭)等二維碼識別,支持EAN-13/UPC-A, UPC-E, EAN-

將項目導入WebStrom中的環境配置Nodejs+npm+vue

設置 com header -- 項目導入 log 命令 fault 參考 參考: https://segmentfault.com/a/1190000008922234#articleHeader0; http://www.cnblogs.com/pengjunhao/p

mysql的下載及配置復制1

img log mysql數據庫 cnblogs ica http -s 配置服務 tle ---恢復內容開始--- MySQL數據庫安裝與配置詳解 目錄 一、概述 二、MySQL安裝 三、安裝成功驗證 四、NavicatforMySQL下載及使用 一、概述   M

高性能HTTP加速器Varnish安裝與配置包含常見錯誤

人員 準備 版本 狀態碼 port pop 沒有 gis for Varnish是一款高性能的開源HTTP加速器。挪威最大的在線報紙Verdens Gang使用3臺Varnish取代了原來的12臺Squid,性能竟然比曾經更好。Varnish 的作者Po

實戰c++中的vector系列--vector&lt;unique_ptr&lt;&gt;&gt;初始化全部權轉移

down pop namespace tor each ring space spa hid C++11為我們提供了智能指針,給我們帶來了非常多便利的地方。 那麽假設把unique_ptr作為vector容器的元素呢? 形式如出一轍:vector&l

MongoDB 線上環境按照及配置授權方式啟動

users inux 相對 mongos emd 刪除數據 ocl conf get 1創建文件repo文件 #vim /etc/yum.repos.d/mongodb-org-3.4.repo [mongodb-org-3.4] name=MongoDB Reposito

簡單基礎路徑配置單用JSPEASYUI

yui ces getitem col oca ase frame new request <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@page

Spring Boot實戰筆記-- Spring常用配置事件Application Event

ans can string code text extends autowired dem plc 一、事件(Application Event)   Spring的事件為Bean和Bean之間的消息通信提供了支持。當一個Bean處理完一個任務之後,希望另一個Bean知道

keepalived 安裝配置高可用VIP,雙主模式

keepalived 高可用 雙主模式 郵件腳本 首先需要明白我們準備使用keepalived來做什麽,今天這裏只是給大家簡單安裝和配置下keepalived實現vip對外服務,防止單點故障。keepalived是高可用高可用高可用 而非負載非負載非負載。 下面我將使用keepalived部署雙主模模式,

vsftpd虛擬用戶認證配置vsftpd+pam+mysql

vsftpd虛擬用戶一、準備所需要的程序包mysqlpam_mysqlvsftpd二、開始安裝[root@localhost ~]# yum -y install mysql-server mysql-devel vsftpd pam_mysql // 註意:pam_mysql由epel源提供,epel源需要