• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種自動管理的高可用架構(gòu)的實現(xiàn)

      2017-01-09 06:19:16霍長娟孫洪平
      關(guān)鍵詞:災備異地日志

      霍長娟,孫洪平

      (1. 中國航空結(jié)算有限責任公司,北京 100028;2. 北京高陽金信信息技術(shù)有限公司,北京 100050)

      一種自動管理的高可用架構(gòu)的實現(xiàn)

      霍長娟1,孫洪平2

      (1. 中國航空結(jié)算有限責任公司,北京 100028;2. 北京高陽金信信息技術(shù)有限公司,北京 100050)

      結(jié)合實際生產(chǎn)業(yè)務(wù)要求,利用Oracle11g的DataGuard技術(shù),通過本地部署主備數(shù)據(jù)庫實現(xiàn)高可用架構(gòu),通過遠端級聯(lián)第二個備庫實現(xiàn)異地容災的要求。在DataGuard的搭建過程中,配置Broker工具實現(xiàn)自動管理DataGuard,在此基礎(chǔ)上,設(shè)置FSFO和快速閃回恢復區(qū)實現(xiàn)本地主數(shù)據(jù)庫故障時自動切換到備庫,以及在備庫快速閃回恢復區(qū)沒有被歸檔日志撐滿之前主庫得到正?;謴?,Broker能夠自動恢復DataGuard的配置,從而真正實現(xiàn)高效的、自動的高可用架構(gòu)。

      DataGuard;主備數(shù)據(jù)庫;遠程災備;FSFO

      0 引言

      目前很多銀行、金融等企業(yè)都使用Oracle作為后臺數(shù)據(jù)庫,如何保證數(shù)據(jù)庫的安全可靠性是從上到下一致關(guān)心的問題。目前的高可用配置有多種方案,數(shù)據(jù)庫RAC、DataGuard、操作系統(tǒng)HA等,都能在某種程度上滿足高可用性的要求。RAC是通過集群來消除單點故障;HA是一種OS級別的高可用方案;DataGuard是通過在異地部署備庫,當主庫出現(xiàn)問題時立即切換到備庫的一種高可用方案。

      1 DataGuard簡介

      Oracle DataGuard是Oracle公司開發(fā)的一種數(shù)據(jù)庫級別的HA方案,其最主要功能是容災、數(shù)據(jù)保護、故障恢復等,其基本原理是將日志文件從源數(shù)據(jù)庫傳輸?shù)侥繕藬?shù)據(jù)庫,然后在目標數(shù)據(jù)庫上應用這些日志文件,從而使目標數(shù)據(jù)庫與源數(shù)據(jù)庫保持同步,達到高可用的目的。以下是DataGuard的一些基本概念。

      (1)DataGuard中的備庫分為物理備庫和邏輯備庫兩種,物理備庫就是應用日志進行恢復, 邏輯備庫就是應用SQL語句進行恢復,業(yè)界大多采用物理備庫的方式。

      (2)DataGuard包含三種服務(wù):日志傳輸服務(wù)——日志從主庫傳輸?shù)絺鋷?;日志應用服?wù)——在備庫應用日志;角色轉(zhuǎn)換服務(wù)——主備庫角色的轉(zhuǎn)換。

      (3)DataGuard的三種數(shù)據(jù)保護模式是:最大保護、最大性能、最大(高)可用。

      2 業(yè)務(wù)要求

      本文結(jié)合實際生產(chǎn)業(yè)務(wù),利用Oracle11g的DataGuard技術(shù)搭建高可用架構(gòu)。此業(yè)務(wù)系統(tǒng)的等級比較高,用戶要求數(shù)據(jù)庫系統(tǒng)的可使用時間為24×365小時,除了每晚計劃內(nèi)的online備份時間和達成一致的維護時間外,網(wǎng)絡(luò)連接可用率必須為可用時間的99.9%,在出現(xiàn)故障的時候,要求2小時內(nèi)解決故障,需要廠商受理的要求4小時內(nèi)解決。另外,為預防災難發(fā)生,此系統(tǒng)要求有異地災備數(shù)據(jù)庫設(shè)置,也就是說需要在異地構(gòu)建一套同樣的環(huán)境,并且要保持數(shù)據(jù)的一致性同步。因此,簡單的單機部署已經(jīng)不能滿足此系統(tǒng)的高可用性要求,必須為此系統(tǒng)配置帶有災備系統(tǒng)的高可用性架構(gòu)。目前的高可用配置有多種方案,數(shù)據(jù)庫RAC、DataGuard、操作系統(tǒng)HA等,都能在某種程度上滿足高可用性的要求,結(jié)合各種技術(shù)的優(yōu)缺點以及成本、對維護人員的要求等各方面因素,最終采用Oracle11g的DataGuard[1]技術(shù)實現(xiàn)本系統(tǒng)的高可用架構(gòu)以及異地災備配置。

      3 架構(gòu)設(shè)計

      高可用架構(gòu)圖如圖1所示。本地三臺服務(wù)器,主庫、備庫和Broker[2]服務(wù)器,主庫實時向備庫傳輸redolog日志,備庫實時恢復,Broker工具實時監(jiān)測DG數(shù)據(jù)庫的狀態(tài),當發(fā)生主庫不可用或是其他問題(例如Broker不能和主庫通信)時,通過Broker端設(shè)置的FSFO功能可以自動切換到備庫,從而實現(xiàn)自動管理,不需要人為干預。另外,在主備庫設(shè)置快速閃回恢復區(qū),用于存放歸檔日志,當主庫出問題后,如果能在備庫快速閃回恢復區(qū)沒有被歸檔日志撐滿之前恢復正常,則不用重新搭建DG,Broker能夠自動恢復DG的配置(如表1所示),歸檔日志往回同步完成后可以重新切回主庫,從而真正實現(xiàn)高效的、自動的高可用架構(gòu)。關(guān)于災備數(shù)據(jù)庫,通過搭建級聯(lián)DG來實現(xiàn),具體就是從備庫通過專線向異地傳輸redolog,在異地數(shù)據(jù)庫進行實時恢復,從而達到異地容災的目的。由于Broker的特性,不能同時部署兩臺Broker服務(wù)器,因此選擇在本地部署,災備端沒有部署,這也是符合SLA要求的。

      圖1 高可用架構(gòu)圖

      保護模式最大性能備庫模式物理備庫redo傳輸方式非壓縮備庫數(shù)據(jù)丟失數(shù)據(jù)丟失<3min故障切換時間故障自動切換時間<5min故障手動切換時間<2h故障切換方式Fast-StartFailover(FSFO)或手動failover所謂FSFO,就是實現(xiàn)自動切換,不需要人為干預(注:如果備庫數(shù)據(jù)丟失超3min,將無法實現(xiàn)自動切換)

      4 搭建DataGuard環(huán)境

      4.1 約定信息

      DataGuard配置表如表2所示。

      表2 DataGuard 配置表

      4.2 DG環(huán)境配置

      4.2.1 主庫配置

      (1)基本配置。開啟force logging,通過使用remote login密碼文件配置redo的傳輸認證、開啟歸檔。

      (2)調(diào)整undo設(shè)置和開啟數(shù)據(jù)庫閃回。通過設(shè)置快速閃回恢復區(qū),再結(jié)合DG的管理工具Broker自動管理功能可以實現(xiàn)DG crash后,不用手工重新搭建DG,便于DG數(shù)據(jù)庫failover時快速恢復主庫狀態(tài)。結(jié)合實際生產(chǎn)業(yè)務(wù)要求,生產(chǎn)數(shù)據(jù)庫undo數(shù)據(jù)和數(shù)據(jù)庫閃回數(shù)據(jù)保留時間分別設(shè)置為12小時和24小時。主要語句如下:

      SQL>ALTER SYSTEM SET UNDO_RETENTION=43200 SCOPE=SPFILE;

      SQL>ALTER SYSTEM SET UNDO_MANAGEMENT='AUTO' SCOPE=SPFILE;

      SQL>ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=1440 SCOPE=BOTH;

      SQL>ALTER SYSTEM SET db_recovery_file_dest_size=150G;

      SQL>ALTER SYSTEM SET db_recovery_file_dest=’/dbflashback/flashlog’;

      SQL>ALTER DATABASE FLASHBACK ON;

      (3)配置DG相關(guān)參數(shù)(修改pfile文件,以下列出主要參數(shù)),然后重新生成spfile,重啟數(shù)據(jù)庫實例生效。

      *.log_archive_dest_state_1=enable

      *.log_archive_dest_state_2=enable

      *.log_archive_dest_state_3=enable

      (4)配置備庫的TNS解析,在主庫tnsnames.ora中添加備庫的TNS解析。

      (5)創(chuàng)建應用程序的連接服務(wù)。為保證應用程序在數(shù)據(jù)庫切換后自動連接到新主庫,使用dbdg服務(wù)和觸發(fā)器實現(xiàn)應用程序的連接轉(zhuǎn)移。

      創(chuàng)建啟動dbdg服務(wù)

      begin

      dbms_service.create_service('dbdg','dbdg');

      end;

      /

      begin

      DBMS_SERVICE.START_SERVICE('dbdg');

      end;

      /

      創(chuàng)建服務(wù)更改觸發(fā)器

      create or replace trigger startdbdg after startup on database

      declare

      v_role varchar(30);

      begin

      select database_role into v_role from vMYMdatabase;

      if v_role = 'PRIMARY' then

      DBMS_SERVICE.START_SERVICE('dbdg');

      else DBMS_SERVICE.STOP_SERVICE('dbdg');

      end if;

      end;

      /

      (6)配置standby redo log。

      數(shù)據(jù)庫standby redo log用來實時接收redo日志,大小與online redo log一致,組數(shù)比online redo log多一組。語句如下:

      ALTER DATABASE ADD STANDBY LOGFILE GROUP 21 ('/dbdata01/oradata/dbpro/styredo01a.log','/dbdata02/oradata/dbpro/styredo01b.log') SIZE 800M;

      ...

      (7)為備庫做準備。

      對主庫做rman全備份、為備庫創(chuàng)建參數(shù)文件、為備庫創(chuàng)建standby控制文件。語句如下:

      4.2.2 備庫配置

      (1)基本配置。從主庫恢復參數(shù)文件和拷貝密碼文件、恢復standby控制文件(直接把standby控制文件改名成control1,control2,control3存到相應目錄即可,然后啟庫到mount)、恢復主庫rman備份。

      (2)配置DG相關(guān)參數(shù)(修改pfile文件,以下列出主要參數(shù)),然后重新生成spfile,重啟數(shù)據(jù)庫到mount。

      *.log_archive_dest_state_1=enable

      *.log_archive_dest_state_2=enable

      *.log_archive_dest_state_3=enable

      (3)配置主庫的TNS解析,在備庫tnsnames.ora中添加主庫的TNS解析。

      (4)配置standby redo log。

      ...

      (5)開啟數(shù)據(jù)庫閃回。

      SQL>ALTER DATABASE FLASHBACK ON;

      (6)啟動redo數(shù)據(jù)同步。

      SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

      (7)驗證redo數(shù)據(jù)同步。

      備庫確認現(xiàn)有的歸檔redo日志文件:

      SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM VMYMARCHIVED_LOG ORDER BY SEQUENCE#;

      主庫強制切換日志:

      SQL> ALTER SYSTEM SWITCH LOGFILE;

      備庫驗證新的redo數(shù)據(jù)是否歸檔:

      SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM VMYMARCHIVED_LOG ORDER BY SEQUENCE#;

      備庫驗證接受的redo是否被應用:

      SQL> SELECT SEQUENCE#,APPLIED FROM VMYMARCHIVED_LOG ORDER BY SEQUENCE#;

      4.3 搭建DR配置

      關(guān)于災備數(shù)據(jù)庫,通過搭建級聯(lián)DG來實現(xiàn),具體就以備庫為源端,通過專線向異地災備服務(wù)器傳輸redolog,在異地數(shù)據(jù)庫進行實時恢復,從而達到異地容災的目的。

      (1)基本配置。從主庫恢復參數(shù)文件、拷貝密碼文件、恢復控制文件,然后啟庫到mount、恢復主庫rman備份。

      (2)配置相關(guān)參數(shù)(修改pfile文件,以下列出主要參數(shù)),然后重新生成spfile,重啟數(shù)據(jù)庫。

      *.log_archive_dest_state_1=enable

      *.log_archive_dest_state_2=enable

      (3)配置主庫備庫的TNS解析、配置standby redo log、開啟閃回、啟動redo數(shù)據(jù)同步、驗證redo數(shù)據(jù)同步,和DG搭建是一樣的部署,這里不再贅述。

      4.4 DG Broker和Fast-Start Failor配置

      4.4.1 Broker配置過程

      Broker是管理DataGuard的命令行工具,為使用快速放障切換(Fast-Start Failover,F(xiàn)SFO)功能,必須將Broker配置在Broker管理服務(wù)器HOST-DGMT-1上。

      (1)主、備庫配置監(jiān)聽服務(wù)。

      修改主、備庫監(jiān)聽配置文件,重啟監(jiān)聽檢查**_DGMGRL服務(wù)。

      主數(shù)據(jù)庫:

      SID_LIST_LISTENER=

      (SID_LIST=

      (SID_DESC=

      (GLOBAL_DBNAME=dbpro_DGMGRL) (ORACLE_HOME=/dbu01/app/oracle/product/11.2.0/dbhome_1)

      (SID_NAME=dbpro)

      )

      )

      備數(shù)據(jù)庫:

      SID_LIST_LISTENER=

      (SID_LIST=

      (SID_DESC=

      (GLOBAL_DBNAME=dbsty_DGMGRL) (ORACLE_HOME=/dbu01/app/oracle/product/11.2.0/dbhome_1)

      (SID_NAME=dbpro)

      )

      )

      (2)主、備庫設(shè)置Broker配置文件位置。

      參數(shù)dg_broker_config_file1規(guī)定Broker配置文件的位置,默認就在MYMORACLE_HOME/dbs下,主備庫采用默認配置即可。

      (3)主、備庫啟用Broker。

      SQL>ALTER SYSTEM SET DG_BROKER_START=TRUE scope=both;

      檢查dmon進程,存在即可。

      (4)Broker服務(wù)器配置主、備庫的TNS解析。

      修改Broker服務(wù)器上tnsname.ora文件,添加主、備庫的TNS解析,此處省略。

      (5)從Broker服務(wù)器連接主庫,添加主備庫信息:

      DGMGRL>connect sys/xxxxxxx@dbpro;

      創(chuàng)建主庫配置信息:

      DGMGRL> CREATE CONFIGURATION 'dbproconf' AS PRIMARY DATABASE IS 'dbpro' CONNECT IDENTIFIER IS dbpro;

      添加備庫配置:

      DGMGRL> ADD DATABASE 'dbsty' AS CONNECT IDENTIFIER IS dbsty MAINTAINED AS PHYSICAL;

      (6)啟用Broker配置:

      DGMGRL> ENABLE CONFIGURATION;

      4.4.2 Fast-Start Failover 配置過程

      Fast-Start Failover功能實現(xiàn)主數(shù)據(jù)庫異常情況下快速切換到備數(shù)據(jù)庫,在Broker管理工具基礎(chǔ)上增加了一個單獨的observer,在Broker服務(wù)器上進行配置。

      (1)配置數(shù)據(jù)庫failover的目標。

      配置dbpro failover的目標:

      配置dbsty failover的目標:

      (2)設(shè)置FastStartFailoverThreshold閾值和FastStartFailoverLagLimit閾值。

      FastStartFailoverThreshold閾值設(shè)置為120秒(默認30秒),如果observer和備庫在120秒內(nèi)無法連接上主數(shù)據(jù)庫,則啟動Fast-Start Fallouer。

      DGMGRL>EDIT CONFIGURATION SET PROPERTY FastStartFailoverThreshold = 120;

      FastStartFailoverLagLimi閾值設(shè)置為180秒(默認30秒),備數(shù)據(jù)庫與主數(shù)據(jù)庫的數(shù)據(jù)丟失在180秒之內(nèi)才能啟動Fast-Start Failover。

      DGMGRL>EDIT CONFIGURATION SET PROPERTY FastStartFailoverLagLimit = 180;

      (3)啟用Fast-Start Failover。

      DGMGRL> ENABLE FAST_START FAILOVER;

      4.4.3 switchover和手動failover測試

      (1)switchover切換測試

      切換前檢查狀態(tài)是否正常,如果數(shù)據(jù)同步不正常,將不能進行switchover。

      DGMGRL> SHOW FAST_START FAILOVER;

      從主庫switchover到備庫:

      DGMGRL> switchover to dbsty;

      從備庫switchover回切到主庫:

      DGMGRL> switchover to dbpro;(2)手動failover切換測試

      切換前檢查狀態(tài)是否正常, 如果備庫狀不正常,將不能進行failover。

      DGMGRL> SHOW FAST_START FAILOVER;

      從主庫手動failover到備庫:

      DGMGRL> FAILOVER TO dbsty;

      5 結(jié)論

      本文主要介紹了Oracle11g的DataGuard以及Broker管理工具的基本概念以及功能,最后結(jié)合實際業(yè)務(wù),給出了在Linux平臺上搭建DG以及DR環(huán)境的實際案例,經(jīng)過生產(chǎn)運行的實際測試,證明利用DG搭建的高可用架構(gòu)以及容災環(huán)境可以滿足實際業(yè)務(wù)需求。

      [1] RICH K.Oracle DataGuard concepts and administrator 11g release 2 (11.2) E25608-03,2012[EB/OL].(2012-xx)http://docs.oracle.com/cd/E11882_01/server.112/e41134/toc.htm.

      [2] RICH K.Oracle DataGuard broker 11g release 2 (11.2) E17023-07,2012[EB/OL].(2012-xx)http://docs.oracle.com/cd/E11882_01/server.112/e40771/toc.htm.

      Implementation of an automatically managed high availability architecture

      Huo Changjuan1,Sun Hongping2

      (1. Accounting Center of China Aviation, Beijing 100028, China; 2. The Company of Beijing Gao Yang Jin Xin, Beijing 100050, China)

      In this paper, according to the actual production of business requirements,using Oracle11g’s DataGuard technology, we deploy primary-standby database architecture locally to achieve high availability,and deploy a second standby database attached to the first standby database remotely for disaster recovery.In the DataGuard building process, we configure Broker tools to achieve automate management DataGuard. On this basis, we set FSFO and fast flashback recovery area for local primary database automatic failover to the standby database, as well as the primary database becomes normal before standby database’s fast flashback recovery area is fulled with archivelog. The broker can automatically restore DataGuard configuration, archiving efficient and automated high availability architecture.

      DataGuard;primary-standby database;remote disaster recovery;FSFO

      TP309

      A

      10.19358/j.issn.1674- 7720.2016.24.022

      霍長娟,孫洪平. 一種自動管理的高可用架構(gòu)[J].微型機與應用,2016,35(24):77-80,83.

      2016-08-17)

      霍長娟(1982-),女,碩士,工程師,主要研究方向:數(shù)據(jù)庫管理、數(shù)據(jù)庫安全。

      孫洪平(1978-),男,本科,高級工程師,主要研究方向:軟件工程、中間件。

      猜你喜歡
      災備異地日志
      一名老黨員的工作日志
      華人時刊(2021年13期)2021-11-27 09:19:02
      扶貧日志
      心聲歌刊(2020年4期)2020-09-07 06:37:14
      游學日志
      推進醫(yī)保異地結(jié)算 穩(wěn)字當先
      企業(yè)級信息系統(tǒng)應用級災備建設(shè)與應用
      廣西電力(2016年4期)2016-07-10 10:23:38
      軌道交通清分系統(tǒng)災備升級方案研究
      深藍云?!霸茷膫洹闭缴暇€
      如何開拓異地市場?
      你適不適合異地戀
      文苑(2015年10期)2015-10-09 11:21:50
      破除異地結(jié)算的地方抵制
      加查县| 临西县| 浠水县| 葫芦岛市| 昭通市| 梅河口市| 乐亭县| 桃源县| 新宁县| 凤台县| 南江县| 东源县| 五家渠市| 绥中县| 交口县| 朝阳县| 繁昌县| 涞水县| 鄂温| 岳普湖县| 安丘市| 翁源县| 宁化县| 洛南县| 通道| 芷江| 桂阳县| 阿图什市| 龙里县| 汝州市| 庆阳市| 平遥县| 建水县| 淮安市| 平陆县| 五台县| 金平| 都江堰市| 道真| 房产| 澄城县|