【DATAGUARD】物理dg配置客戶端無縫切換 (八.3)--客戶端TAF 配置
【DATAGUARD】物理dg配置客戶端無縫切換 (八.3)--客戶端TAF 配置
1.1 BLOG文件結構圖
1.2 前言部分
1.2.1 導讀
各位技術愛好者,看完本文後,你可以掌握如下的技能,也可以學到一些其它你所不知道的知識,~O(∩_∩)O~:
① Data Guard Broker 的配置
② Fast-Start Failover 的配置
③ Oracle DataGuard 之客戶端TAF 配置
④ 使用DGMGRL 來管理資料庫
⑤ 物理dg管理和維護的一些sql
⑥ DataGuard 客戶端特級配置
注意:本篇BLOG中程式碼部分需要特別關注的地方我都用黃色背景和紅色字型來表示,比如下邊的例子中,thread 1的最大歸檔日誌號為33,thread 2的最大歸檔日誌號為43是需要特別關注的地方。
List of Archived Logs in backup set 11
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- ------------------- ---------- ---------
1 32 1621589 2015-05-29 11:09:52 1625242 2015-05-29 11:15:48
1 33 1625242 2015-05-29 11:15:48 1625293 2015-05-29 11:15:58
2 42 1613951 2015-05-29 10:41:18 1625245 2015-05-29 11:15:49
2 43 1625245 2015-05-29 11:15:49 1625253 2015-05-29 11:15:53
本文如有錯誤或不完善的地方請大家多多指正,ITPUB留言或QQ皆可,您的批評指正是我寫作的最大動力。
1.2.2 實驗環境介紹
專案 |
主庫 |
dg庫 |
db 型別 |
單例項 |
單例項 |
db version |
11.2.0.3 |
11.2.0.3 |
db 儲存 |
FS type |
FS type |
ORACLE_SID |
oradg11g |
oradgphy |
db_name |
oradg11g |
oradg11g |
主機IP地址: |
192.168.59.130 |
192.168.59.130 |
OS版本及kernel版本 |
RHEL6.5 64位,2.6.32-504.16.2.el6.x86_64 |
RHEL6.5 64位,2.6.32-504.16.2.el6.x86_64 |
OS hostname |
rhel6_lhr |
rhel6_lhr |
1.2.3 相關參考文章連結
dg的系列文章參考:
【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫(一): http://blog.itpub.net/26736162/viewspace-1448197/
【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫(二 ): http://blog.itpub.net/26736162/viewspace-1448207/
【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫(三 ): http://blog.itpub.net/26736162/viewspace-1481972/
【DATAGUARD】 基於同一個主機建立物理備庫和邏輯備庫 (四)--新增一個物理dg節點 :http://blog.itpub.net/26736162/viewspace-1484878/
【DATAGUARD】物理dg的switchover切換(五) :http://blog.itpub.net/26736162/viewspace-1753111/
【DATAGUARD】物理dg的failover切換(六): http://blog.itpub.net/26736162/viewspace-1753130/
【DATAGUARD】物理dg在主庫丟失歸檔檔案的情況下的恢復(七) : http://blog.itpub.net/26736162/viewspace-1780863/
【DATAGUARD】物理dg配置客戶端無縫切換 (八.1)--Data Guard Broker 的配置:http://blog.itpub.net/26736162/viewspace-1811839/
【DATAGUARD】物理dg配置客戶端無縫切換 (八.2)--Fast-Start Failover 的配置:http://blog.itpub.net/26736162/viewspace-1811936/
1.2.4 本文簡介
本篇blog是基於cuug的公開課內容,我自己進行實踐的操作,影片可以參考:http://blog.itpub.net/26736162/viewspace-1624453/ ,簡介我就不多寫了,把cuug的內容直接copy過來吧,覺得還是比較有用的。
這個技術如果你不知道,不能算是ORACLE高手
這個技術如果你不知道,就不能說你會DataGuard
這個技術如果你不知道,......
本次網路課程,研究當主備庫發生切換時,如何在主庫啟動一個service,保證客戶端的連線能夠繼續,而且還能夠繼續select查詢操作,而不管主備庫是在哪臺伺服器上;同時保證新的客戶連線沒有任何的問題。本課程網路上的例子不多,陳老師花了將近一年的時間人肉搜尋,最近才找到,急不可待的要分享給大家。
1、DataGuard的配置(快速)
2、建立service
3、建立觸發器
4、主備庫切換測試
由於內容較多,我打算分為4個章節來共享給大家,貼個圖,不要奇怪,還有一個章節是實驗過程中配到的問題解決。
本篇為第二節,Fast-Start Failover 的配置。
1.3 實驗部分
1.3.1 實驗目標
完成Oracle DataGuard 之客戶端TAF 配置,並測試無縫切換。
1.3.2 客戶端TAF 配置
1.3.2.1 首先在主庫上配置一個TAF的service
此服務在資料庫出現故障時會傳送通知給客戶端,允許查詢語句在故障轉移發生後繼續執行。
在主庫端執行:
14:51:45 SQL> begin
14:52:10 2 DBMS_SERVICE.CREATE_SERVICE(service_name => 'dg_taf_lhr',
14:52:10 3 network_name => 'dg_taf_lhr',
14:52:10 4 aq_ha_notifications => TRUE,
14:52:10 5 failover_method => 'BASIC',
14:52:10 6 failover_type => 'SELECT',
14:52:10 7 failover_retries => 30,
14:52:10 8 failover_delay => 5);
14:52:10 9 end;
14:52:10 10 /
PL/SQL 過程已成功完成。
已用時間: 00: 00: 00.07
14:52:10 SQL>
1.3.2.2 建立一個儲存過程,用於呼叫service,確保只在主庫執行
我們建立一個儲存過程來實現此目的,如果當前資料庫是主庫它就啟動此服務,如果是備庫就停止。
主庫執行:
14:54:58 SQL> create or replace procedure dg_taf_proc_lhr is
14:59:46 2 v_role VARCHAR(30);
14:59:46 3 begin
14:59:46 4 select DATABASE_ROLE into v_role from V$DATABASE;
14:59:46 5 if v_role = 'PRIMARY' then
14:59:46 6 DBMS_SERVICE.START_SERVICE('dg_taf_lhr');
14:59:46 7 else
14:59:46 8 DBMS_SERVICE.STOP_SERVICE('dg_taf_lhr');
14:59:46 9 end if;
14:59:46 10 end;
14:59:46 11 /
過程已建立。
已用時間: 00: 00: 00.07
1.3.2.3 建立1個觸發器來確保服務可以執行
建立兩個觸發器,讓資料庫在啟動和角色轉換時執行此儲存過程。用於當資料庫open時,不需要重啟資料庫,如果是主庫則執行儲存過程。當資料庫切換後,如果是主庫則執行儲存過程。
主庫執行:
14:59:47 SQL> create or replace TRIGGER dg_taf_trg_startup_lhr
14:59:53 2 after startup or db_role_change on database
14:59:53 3 begin
14:59:53 4 dg_taf_proc_lhr;
14:59:53 5 end;
14:59:53 6 /
觸發器已建立
已用時間: 00: 00: 00.26
14:59:54 SQL>
1.3.2.4 啟動新建立的service
在主庫上執行該儲存過程(或者重啟資料庫,在啟動資料庫時會觸發執行dg_taf_proc的觸發器),在主庫做日誌的切換,將變化應用到備庫
主庫執行:
14:59:54 SQL> exec dg_taf_proc_lhr ;
PL/SQL 過程已成功完成。
已用時間: 00: 00: 00.01
15:06:57 SQL> alter system switch logfile;
系統已更改。
已用時間: 00: 00: 01.02
15:20:01 SQL>
[oracle@rhel6_lhr ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 29-9月 -2015 15:07:32
Copyright (c) 1991, 2011, Oracle. All rights reserved.
正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.59.130)(PORT=1521)))
LISTENER 的 STATUS
------------------------
別名 LISTENER
版本 TNSLSNR for Linux: Version 11.2.0.3.0 - Production
啟動日期 29-9月 -2015 12:14:49
正常執行時間 0 天 2 小時 52 分 43 秒
跟蹤級別 off
安全性 ON: Local OS Authentication
SNMP OFF
監聽程式引數檔案 /u01/app/grid/11.2.0/network/admin/listener.ora
監聽端點概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.59.130)(PORT=1521)))
服務摘要..
服務 "+ASM" 包含 1 個例項。
例項 "+ASM", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "PLSExtProc" 包含 1 個例項。
例項 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "dg_taf_lhr.lhr.com" 包含 1 個例項。
例項 "oradg11g", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "ora11g" 包含 1 個例項。
例項 "ora11g", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "oradg11g" 包含 1 個例項。
例項 "oradg11g", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "oradg11g.lhr.com" 包含 2 個例項。
例項 "oradg11g", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
例項 "oradg11g", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "oradg11gXDB.lhr.com" 包含 2 個例項。
例項 "oradg11g", 狀態 READY, 包含此服務的 1 個處理程式...
例項 "oradgphy", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "oradg11g_DGB.lhr.com" 包含 1 個例項。
例項 "oradg11g", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "oradg11g_DGMGRL.lhr.com" 包含 1 個例項。
例項 "oradg11g", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "oradglg" 包含 1 個例項。
例項 "oradglg", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "oradgphy" 包含 1 個例項。
例項 "oradgphy", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "oradgphy.lhr.com" 包含 2 個例項。
例項 "oradgphy", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
例項 "oradgphy", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "oradgphy_DGB.lhr.com" 包含 1 個例項。
例項 "oradgphy", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "oradgphy_DGMGRL.lhr.com" 包含 1 個例項。
例項 "oradgphy", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "oradgss" 包含 1 個例項。
例項 "oradgss", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "orclasm.lhr.com" 包含 1 個例項。
例項 "orclasm", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
命令執行成功
1.3.2.5 在備庫查詢,確認觸發器和存過已經應用到備庫
15:21:21 SQL> select trigger_name, trigger_name
15:22:09 2 from dba_triggers where trigger_name = 'DG_TAF_TRG_STARTUP_LHR';
TRIGGER_NAME TRIGGER_NAME
------------------------------ ------------------------------
DG_TAF_TRG_STARTUP_LHR DG_TAF_TRG_STARTUP_LHR
已用時間: 00: 00: 00.09
15:22:09 SQL>
15:24:28 SQL> select d.owner,d.OBJECT_NAME
15:24:54 2 from dba_procedures d
15:24:54 3 where d.OBJECT_NAME = 'DG_TAF_PROC_LHR';
OWNER OBJECT_NAME
------------------------------ ------------------------------
SYS DG_TAF_PROC_LHR
已用時間: 00: 00: 00.05
15:24:54 SQL>
1.3.2.6 客戶端tnsnames 配置
dg_taf =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = 192.168.59.130)(PORT = 1521))
(ADDRESS = (PROTOCOL = tcp)(HOST = 192.168.59.130)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dg_taf_lhr.lhr.com)
(FAILOVER_MODE =
(TYPE = session)
(METHOD = basic)
(RETRIES = 180)
(DELAY = 5)
)
)
)
注:我的dg環境由於部署在同一臺機器,所以host一樣,生產環境下必然不一樣。
1.3.3 驗證客戶端的TAF
先說說測試過程,首先我們在windows環境下新增tnsnames,然後cmd中連線到dg環境,執行一個長久的查詢(select * from (select * from sys.dba_objects);),此時在dgmgrl中手動shutdown abort掉主庫,那麼連線的cmd中會停頓一會,等待fast-start failover切換完成後,則繼續返回結果。
主備切換不影響使用者的select操作,但是如果是dml操作,則所有事務回滾:
D:\Users\xiaomaimiao>sqlplus lhr/lhr@dg_taf
SQL*Plus: Release 11.2.0.1.0 Production on Tue Sep 29 15:37:20 2015
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> set line 9999
SQL> col name format a10
SQL> col FS_FAILOVER_OBSERVER_HOST format a20
SQL> col DB_UNIQUE_NAME format a15
SQL> select dbid,name, DB_UNIQUE_NAME,RESETLOGS_CHANGE#,current_scn,protection_mode,protection_level,database_role,force_logging,open_mode,switchover_status from v$database;
DBID NAME DB_UNIQUE_NAME RESETLOGS_CHANGE# CURRENT_SCN PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE FOR OPEN_MODE SWITCHOVER_STATUS
---------- ---------- --------------- ----------------- ----------- -------------------- -------------------- ---------------- --- -------------------- --------------------
1403587593 ORADG11G oradg11g 2575356 2604578 MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY PRIMARY YES READ WRITE TO STANDBY
SQL> SELECT d.DBID,
2 d.DB_UNIQUE_NAME,
3 d.FORCE_LOGGING,
4 d.FLASHBACK_ON,
5 DATAGUARD_BROKER,
6 d.FS_FAILOVER_STATUS,
7 d.FS_FAILOVER_CURRENT_TARGET,
8 d.FS_FAILOVER_THRESHOLD,
9 d.FS_FAILOVER_OBSERVER_PRESENT,
10 d.FS_FAILOVER_OBSERVER_HOST
11 FROM v$database d;
DBID DB_UNIQUE_NAME FOR FLASHBACK_ON DATAGUAR FS_FAILOVER_STATUS FS_FAILOVER_CURRENT_TARGET FS_FAILOVER_THRESHOLD FS_FAIL FS_FAILOVER_OBSERVER
---------- --------------- --- ------------------ -------- ---------------------- ------------------------------ --------------------- ------- --------------------
1403587593 oradg11g YES YES ENABLED SYNCHRONIZED oradgphy 30 YES rhel6_lhr
SQL>
可以看到連線到的是主庫。
Cmd卡住了,等待observer切換完成後cmd介面繼續查詢:
15:44:42.75 2015年9月29日 星期二
正在為資料庫 "oradgphy" 啟動快速啟動故障轉移...
立即執行故障轉移, 請稍候...
故障轉移成功, 新的主資料庫為 "oradgphy"
15:44:49.93 2015年9月29日 星期二
SQL> set line 9999
SQL> col name format a10
SQL> col FS_FAILOVER_OBSERVER_HOST format a20
SQL> col DB_UNIQUE_NAME format a15
SQL> select dbid,name, DB_UNIQUE_NAME,RESETLOGS_CHANGE#,current_scn,protection_mode,protection_level,database_role,force_logging,open_mode,switchover_status from v$database;
DBID NAME DB_UNIQUE_NAME RESETLOGS_CHANGE# CURRENT_SCN PROTECTION_MODE PROTECTION_LEVEL DATABASE_ROLE FOR OPEN_MODE SWITCHOVER_STATUS
---------- ---------- --------------- ----------------- ----------- -------------------- -------------------- ---------------- --- -------------------- --------------------
1403587593 ORADG11G oradgphy 2605058 2605468 MAXIMUM AVAILABILITY RESYNCHRONIZATION PRIMARY YES READ WRITE NOT ALLOWED
SQL> SELECT d.DBID,
2 d.DB_UNIQUE_NAME,
3 d.FORCE_LOGGING,
4 d.FLASHBACK_ON,
5 DATAGUARD_BROKER,
6 d.FS_FAILOVER_STATUS,
7 d.FS_FAILOVER_CURRENT_TARGET,
8 d.FS_FAILOVER_THRESHOLD,
9 d.FS_FAILOVER_OBSERVER_PRESENT,
10 d.FS_FAILOVER_OBSERVER_HOST
11 FROM v$database d;
DBID DB_UNIQUE_NAME FOR FLASHBACK_ON DATAGUAR FS_FAILOVER_STATUS FS_FAILOVER_CURRENT_TARGET FS_FAILOVER_THRESHOLD FS_FAIL FS_FAILOVER_OBSERVER
---------- --------------- --- ------------------ -------- ---------------------- ------------------------------ --------------------- ------- --------------------
1403587593 oradgphy YES YES ENABLED REINSTATE REQUIRED oradg11g 30 YES rhel6_lhr
SQL>
切換後,在備庫上儲存過程啟動了TAF的service ,客戶端再連線時,自動連線到了當前的主庫(原備庫)。
@至此,在DG環境下客戶端的TAF配置基本完成。
1.3.4 題外話:Java中的配置
1.3.4.1 使用tnsnames 配置
原文連結:http://aijuans.iteye.com/blog/1488998
格式一: Oracle JDBC Thin using a ServiceName:
jdbc:oracle:thin:@//<host>:<port>/<service_name>
Example: jdbc:oracle:thin:@//192.168.2.1:1521/XE
注意這裡的格式,@後面有//, 這是與使用SID的主要區別。
這種格式是Oracle 推薦的格式,因為對於叢集來說,每個節點的SID 是不一樣的,但是SERVICE_NAME 確可以包含所有節點。
格式二: Oracle JDBC Thin using an SID:
jdbc:oracle:thin:@<host>:<port>:<SID>
Example: jdbc:oracle:thin:192.168.2.1:1521:X01A
Note: Support for SID is being phased out. Oracle recommends that users switch over to usingservice names.
格式三:Oracle JDBC Thin using a TNSName:
jdbc:oracle:thin:@<TNSName>
Example: jdbc:oracle:thin:@GL
Note:
Support for TNSNames was added in the driver release 10.2.0.1
二.測試
2.1 準備工作:
Oracle 是11gR2
Listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = dave)
(ORACLE_HOME =D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = NEWCCS)
)
)
Tnsnames.ora
DVD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dave)
)
)
2.3 使用 service_name:dave
將2.2 節的dbUrl 改成如下:
String dbUrl = "jdbc:oracle:thin:@//127.0.0.1:1521/dave";
輸出結果:
MGMT_VIEW--97
ANQING--94
DVD--93
SYSMAN--95
如果在11g裡遇到如下錯誤:
測試執行Java 類,報錯:
java.sql.SQLException: The Network Adapter could not establish the connection
可以嘗試更換對應的 jdbc connection driver,官網的說明如下:
JDBC Thin Driver 11g Causes"Java.Sql.Sqlexception: Io Exception: The Network Adapter Could NotEstablish The Connection" While Connecting to Oracle Database 11g [ID947653.1]
Change the JDBC connection driver class inyour application server from:
oracle.jdbc.driver.OracleDriver
to
oracle.jdbc.OracleDriver
2.4 使用TNS name: dvd
String dbUrl = "jdbc:oracle:thin:@dvd";
報錯如下:
java.sql.SQLException: Unknown host specified
該問題是因為JVM 沒有oracle.net.tns_admin的system property。 解決方法有2種:
方法一:在啟動VM 時新增如下引數:
-Doracle.net.tns_admin=D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN
方法二:在java 程式碼裡新增:
System.setProperty("oracle.net.tns_admin","D:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN");
新增之後,就可以正常在JDBC中使用tnsnama了。
1. 2.2 測試1,使用SID:newccs
2.
3. [java] view plaincopy
4.
5. import java.sql.*;
6.
7. public class jdbc {
8. String dbUrl = "jdbc:oracle:thin:@127.0.0.1:1521:newccs";
9. String theUser = "dave";
10. String thePw = "dave";
11. Connection c = null;
12. Statement conn;
13. ResultSet rs = null;
14.
15. public jdbc() {
16. try {
17. Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
18. c = DriverManager.getConnection(dbUrl, theUser, thePw);
19. conn = c.createStatement();
20. } catch (Exception e) {
21. e.printStackTrace();
22. }
23. }
24.
25. public boolean executeUpdate(String sql) {
26. try {
27. conn.executeUpdate(sql);
28. return true;
29. } catch (SQLException e) {
30. e.printStackTrace();
31. return false;
32. }
33. }
34.
35. public ResultSet executeQuery(String sql) {
36. rs = null;
37. try {
38. rs = conn.executeQuery(sql);
39. } catch (SQLException e) {
40. e.printStackTrace();
41. }
42. return rs;
43. }
44.
45. public void close() {
46. try {
47. conn.close();
48. c.close();
49. } catch (Exception e) {
50. e.printStackTrace();
51. }
52. }
53.
54. public static void main(String[] args) {
55. ResultSet rs;
56. jdbc conn = new jdbc();
57. rs = conn.executeQuery("select * from dave where rownum<5");
58. try {
59. while (rs.next()) {
60. System.out.println(rs.getString("username")+"--"+rs.getString("user_id"));
61. }
62. } catch (Exception e) {
63. e.printStackTrace();
64. }
65. }
66. }
67.
68. ---輸出正常:
69. MGMT_VIEW--97
70. ANQING--94
71. DVD--93
72. SYSMAN--95
1.3.4.2 不使用tnsname
jdbc:oracle:thin:@
(description=
(ADDRESS_LIST =
(address=(protocol=tcp)(host=192.168.1.44)(port=1521))
(address=(protocol=tcp)(host=192.168.1.45)(port=1521))
(address=(protocol=tcp)(host=192.168.1.46)(port=1521))
(load_balance=yes)
)
(connect_data =
(service_name=ORACMS)
(failover_mode =
(type=session)
(method=basic)
(retries=5)
(delay=15)
)
)
)
-- 加上註釋後的TNS連線串
jdbc:oracle:thin:@
(description=
(ADDRESS_LIST =
(address=(protocol=tcp)(host=192.168.1.44)(port=1521))
(address=(protocol=tcp)(host=192.168.1.45)(port=1521))
(address=(protocol=tcp)(host=192.168.1.46)(port=1521))
(load_balance=yes)//表示是否負載均衡
)
(connect_data =
//(server = dedicated)//該參數列示專用伺服器模式
(service_name=ORACMS)//要運算元據庫的服務名
(failover_mode =//連線失敗後處理的方式
(type=session)//TYPE =SESSION表示當一個連線好的會話的例項發生故障,系統會自動將會話切換到其他可用的例項,前臺應用無須再度發起連線,但會話正在執行的SQL 需要重新執行。
(method=basic)//表示初始連線就連線一個接點
(retries=5)//連線失敗後重試連線的次數
(delay=15)//連線失敗後重試的延遲時間(以秒為單位)
)
)
)
1.4 總結
本篇為第三節,請檢視第四節: dgmgrl維護中的常見錯誤。
About Me
.............................................................................................................................................
● 本文作者:小麥苗,只專注於資料庫的技術,更注重技術的運用
● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/viewspace-1811944/
● 本文部落格園地址:http://www.cnblogs.com/lhrbest
● 本文pdf版、個人簡介及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/
● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/
● DBA寶典今日頭條號地址:
.............................................................................................................................................
● QQ群號:230161599(滿)、618766405
● 微信群:可加我微信,我拉大家進群,非誠勿擾
● 聯絡我請加QQ好友(646634621),註明新增緣由
● 於 2015-09-28 09:00~ 2015-09-29 23:00 在魔都完成
● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
.............................................................................................................................................
● 小麥苗的微店:
● 小麥苗出版的資料庫類叢書:http://blog.itpub.net/26736162/viewspace-2142121/
.............................................................................................................................................
使用微信客戶端掃描下面的二維碼來關注小麥苗的微信公眾號(xiaomaimiaolhr)及QQ群(DBA寶典),學習最實用的資料庫技術。
小麥苗的微信公眾號 小麥苗的DBA寶典QQ群1 小麥苗的DBA寶典QQ群2 小麥苗的微店
.............................................................................................................................................
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28628435/viewspace-1984346/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物理DataGuard客戶端無縫切換--客戶端TAF 配置客戶端
- 【DATAGUARD】物理dg配置客戶端無縫切換 (八.1)--Data Guard Broker 的配置客戶端
- 【DATAGUARD】物理dg配置客戶端無縫切換 (八.2)--Fast-Start Failover 的配置客戶端ASTAI
- 【DATAGUARD】物理dg配置客戶端無縫切換 (八.4)--ora-16652 和 ora-16603錯誤客戶端
- 如何配置WSUS客戶端客戶端
- 分散式配置中心客戶端分散式客戶端
- OutlookAnywhere客戶端配置詳解客戶端
- 客戶端負載均衡配置客戶端負載
- 配置郵件客戶端(無SSL/TLS加密)客戶端TLS加密
- Oracle物理DG自動切換——Dataguard Broker配置Oracle
- 配置安裝版Oracle客戶端Oracle客戶端
- 郵件客戶端的配置使用客戶端
- Tomcat配置Gizp 客戶端使用okHttp3Tomcat客戶端HTTP
- OSSEC服務端配置客戶端批次部署方案服務端客戶端
- Telegram原始碼之安卓客戶端配置原始碼安卓客戶端
- graylog 客戶端的安裝配置客戶端
- 客戶端配置檔案tnsname.ora客戶端
- 配置免安裝版Oracle客戶端Oracle客戶端
- Oracle RAC 客戶端負載均衡配置Oracle客戶端負載
- oracle RAC的客戶端HA配置薦Oracle客戶端
- 多K8s叢集切換:Kubectl客戶端配置全記錄K8S客戶端
- Thrift 客戶端-服務端 零XML配置 註解式配置客戶端服務端XML
- Winform客戶端引用WCF客戶端後,部分類無法正常使用ORM客戶端
- Oracle RAC 客戶端故障轉移(failover) TAFOracle客戶端AI
- Jaeger的客戶端取樣配置(Java版)客戶端Java
- 客戶端自動配置安裝(expect工具)客戶端
- ODPS初始篇--客戶端配置和使用客戶端
- ntp客戶端配置多個時間源客戶端
- Eureka高可用叢集服務端和客戶端配置服務端客戶端
- dubbo客戶端客戶端
- Pulsar客戶端客戶端
- mqtt 客戶端MQQT客戶端
- 客戶端,服務端客戶端服務端
- 服務端,客戶端服務端客戶端
- Nacos - 客戶端心跳續約及客戶端總結客戶端
- NBU 8.0客戶端安裝和備份配置客戶端
- redis伺服器/客戶端安裝與配置Redis伺服器客戶端
- 配置ORACLE 客戶端連線到資料庫Oracle客戶端資料庫