成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

DB2-HADR搭建

DB2-HADR搭建

在新鄉(xiāng)等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站制作 網(wǎng)站設計制作按需求定制開發(fā),公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站建設,營銷型網(wǎng)站建設,成都外貿(mào)網(wǎng)站制作,新鄉(xiāng)網(wǎng)站建設費用合理。

1、系統(tǒng)環(huán)境搭建

系統(tǒng)版本:CentOS-6.7-x86_64-bin-DVD1  

1、選擇 minimal

2、安裝完成配置IP、主機名 (/etc/hosts  /etc/sysconfig/network  改為相同主機名)

數(shù)據(jù)庫版本:v9.7fp7_linuxx64_server.tar

3、在centos-6.7系統(tǒng)下安裝好主庫 erpdb、和從庫實例  

4、同步時間  ntpdate asia.pool.ntp.org  (可不做,看具體時間而定)

5、安裝scp   yum install -y openssh-clients (可不做,為了傳備份集而做)

以下實驗以數(shù)據(jù)庫devdb47為主庫,devdb49為備庫: 

1、備份主庫

db2 backup db devdb47

2、將備份集傳于從庫

scp xxx(備份集) 172.16.0.49:/home/db2inst1 

3、從庫還原備份集

db2 restore db devdb47

4、配置通訊端口

主從都修改

vi  /etc/service

添加 db2h_erpinst1 70000/tcp

5、主從參數(shù)配置   參數(shù)具體含義看最下解釋

主庫:

db2 update db cfg for devdb47 using hadr_local_host PrimaryNode-1

db2 update db cfg for devdb47 using hadr_local_svc db2h_erpinst1

db2 update db cfg for devdb47 using hadr_remote_host PrimaryNode-2

db2 update db cfg for devdb47 using hadr_remote_svc db2h_erpinst1

db2 update db cfg for devdb47 using hadr_remote_inst db2inst1

db2 update db cfg for devdb47 using logindexbuild on

db2 update db cfg for devdb47 using indexrec restart

db2 update db cfg for devdb47 using hadr_syncmode SUPERASYNC

從庫:

db2 update db cfg for devdb47 using hadr_local_host PrimaryNode-2

db2 update db cfg fordevdb47 using hadr_local_svc db2h_erpinst1

db2 update db cfg for devdb47 using hadr_remote_host PrimaryNode-1

db2 update db cfg for devdb47 using hadr_remote_svc db2h_erpinst1

db2 update db cfg for devdb47 using hadr_remote_inst db2inst1

db2 update db cfg for devdb47 using logindexbuild on

db2 update db cfg for devdb47 using indexrec restart

db2 update db cfg for devdb47 using hadr_syncmode SUPERASYNC

6、注冊變量配置:

主庫:

db2set db2_HADR_ROS=ON 

db2set db2_STANDBY_ISO=UR

#開啟備庫只讀

從庫:

db2set db2_HADR_ROS=ON

db2set db2_STANDBY_ISO=UR

7、啟動主從數(shù)據(jù)庫(第一次啟動,切記以后啟動不在使用):

從庫:

db2start

db2 start HADR on db devdb47 as standby

主庫:

db2start

db2 start HADR on db devdb47 as primary

查看hadr:

db2 get db cfg  for devdb47| grep HADR

10、最后主查看表空間,在用工具查看數(shù)據(jù)

db2 list tablespaces show detail

第一次啟動以后的啟動:(附關閉過程)

主(關閉過程):

取消激活主數(shù)據(jù)庫以及停止數(shù)據(jù)庫devdb47  

db2 list applications all    #斷開所有連接

db2 terminate 

db2 deactivate db erpdb

db2stop force

備(關閉過程):

取消激活備用數(shù)據(jù)庫及停止數(shù)據(jù)庫devdb47  

db2 list applications all   #斷開所有連接

db2 terminate 

db2 deactivate db erpdb

db2stop force

以上關閉完成

開始啟動過程(第一次啟動后的啟動):

備:

1、db2start

2、db2 activate db devdb47  # 激活數(shù)據(jù)庫

3、在主服務器上,運行以下命令以驗證此服務器的 HADR 角色

      db2 get snapshot for db on devdb47| grep Role

4、在各服務器上,運行以下命令以驗證數(shù)據(jù)庫是否已同步

      db2 get snapshot for database on devdb47| grep State

5、查看HADR狀態(tài)  (此時查看的數(shù)據(jù)不同步,插入數(shù)據(jù)后查看數(shù)據(jù)同步)

      db2pd -db erpdb   -hadr 

 主:

1、db2start

2、db2 activate db devdb47

3、在主服務器上,運行以下命令以驗證此服務器的 HADR 角色

      db2 get snapshot for db on devdb47| grep Role

4、在各服務器上,運行以下命令以驗證數(shù)據(jù)庫是否已同步

      db2 get snapshot for database on devdb47| grep State

5、查看HADR狀態(tài)  (此時查看的數(shù)據(jù)不同步,插入數(shù)據(jù)后查看數(shù)據(jù)同步)

      db2pd -db erpdb   -hadr  

HADR搭建完成后需要導入表結構及其數(shù)據(jù)

1、導入導出表結構(兩種方法)

目標表中導出表結構:

db2look -d devdb47 -e -a -x -i db2inst1 -w db21234 -o devdb47.sql 

導入到使用表:

db2 -tvf devdb47.sql  

由于導出的數(shù)據(jù)可能不會應用到相同的數(shù)據(jù)庫,所以必須先修改devdb47.sql文件中數(shù)據(jù)庫名稱

vi /home/db2inst1/devdb47     將devdb47修改為目前的數(shù)據(jù)庫名稱

DB2-HADR搭建DB2-HADR搭建

2、使用工具導出表結構 SqlDbx      后再目前數(shù)據(jù)庫操作表結構

導出:

DB2-HADR搭建DB2-HADR搭建

導入:

DB2-HADR搭建

3、導出 導入表數(shù)據(jù)

導出(備份表內(nèi)容):

導出全部數(shù)據(jù):(只導出表數(shù)據(jù)  未導出表結構)

db2move devdb47 EXPORT    

導出部分表:(含IP、dim、ods的所有表)

db2move devdb47 EXPORT -tn IP*,DIM*,ODS* -tc db2inst1 -l /home/db2inst1

導單表:

db2move devdb47 EXPORT -tn DIM_GAME_RESULT -tc db2inst1 -l /home/db2inst1/

導多表:

db2move devdb47 EXPORT -tn ODS_BAC_ROUND_RESULT_COMP,ODS_BAC_ROUND_RESULT_DETAIL -tc db2inst1 -l /home/db2inst1/game

導入(還原表內(nèi)容):

db2move devdb47  IMPORT      (較慢)

db2move devdb47 LOAD -lo INSERT -l /home/db2inst1/  (較快)

此時就將未指定generated always選項的identity列 的數(shù)據(jù)導入了數(shù)據(jù)庫,但要所有數(shù)據(jù)相同還需導入指定了generated always選項的identity列。

3、恢復指定了generated always選項的identity列 需要結合identityoverride選項進行l(wèi)oad導入

導出:db2move devdb47 EXPORT -tn ODS_ACCOUNT_BOOK_HISTORY -tc db2inst1 -l /home/db2inst1 

#可以單獨在導出,也可以直接使用已經(jīng)導出的數(shù)據(jù)

導入:db2 "LOAD FROM tab98.ixf OF ixf modified BY identityoverride INSERT INTO acct.ODS_ACCOUNT_BOOK_HISTORY"

# tab98.ixf 是導出的ixf備份文件

導入成功后需要手動更新目標表中的identity字段的值。以保障下次寫入數(shù)據(jù)的連續(xù)性

"alter table acct.ODS_ACCOUNT_BOOK_HISTORY alter column history_id restart with 352120"

其中tab1.ixf 為備份導出的ixf格式文件    identityoverride(將數(shù)據(jù)導入到目標表中,指定使用輸入文件中標識列的值) 如要生成新的標識列則何以使用identitygnore  如下:

db2 "LOAD FROM tab1.ixf OF ixf modified BYidentitygnore INSERT INTO acct.ODS_ACCOUNT_BOOK_HISTORY

4、在進行導入數(shù)據(jù)其中有序列的列需要修改序列初始值(每次導入數(shù)據(jù)之前必須查看)

db2 select prevval for SEQ.SEQ_IP_ID from sysibm.sysdummy1 

#查看序列的當前值

db2 alter sequence SEQ.SEQ_AGENT_ID restart with 5000649

#修改序列的起始值

db2 values next value for SEQ.SEQ_AGENT_ID

#序列的下一個值(執(zhí)行就會到下一個值)

此時可以對主庫進行操作,查看從庫是否同步

SELECT max(OP_ID) FROM U_OPERATOR

查看最大值

select NEXT VALUE for MAMA.SEQ_U_OPERATOR_OP_ID from sysibm.sysdummy1 

查看下一個值

alter sequence MAMA.SEQ_U_OPERATOR_OP_ID restart with 126

修改現(xiàn)在起始值

=====================================================================================================

=====================================================================================================

(HADR) 復制的操作:

高可用性災難恢復 (HADR) 使用數(shù)據(jù)庫日志將數(shù)據(jù)從主數(shù)據(jù)庫復制到備用數(shù)據(jù)庫。在備用數(shù)據(jù)庫上重放日志時,某些活動可能會導致備用數(shù)據(jù)庫落后于主數(shù)據(jù)庫。某些活動要進行大量記錄,它們生成的大量日志文件可能會導致存儲問題。雖然使用日志將數(shù)據(jù)復制到備用數(shù)據(jù)庫是可用性策略的核心,但記錄本身可能會對解決方案的可用性產(chǎn)生負面影響。合理設計維護策略,配置系統(tǒng)以盡可能降低日志記錄的負面影響,并允許日志記錄保護您的事務數(shù)據(jù)。

  • 數(shù)據(jù)定義語言(DDL)  CREATE  ALTER  DROP TRUNCATE  COMMENT  RENAME   不需要commit

  • 數(shù)據(jù)操作語言(DML) SELECT  INSERT  UPDATE  DELETE  MERGE  CALL  EXPLAIN PLAN LOCK TABLE  需要commit

  • 緩沖池操作

  • 表空間操作

  • 聯(lián)機重組  詳細記錄所有操作

  • 脫機重組  通常按幾百或幾千個受影響的行來記錄操作

  • 存儲過程和用戶定義的函數(shù)(UDF)的元數(shù)據(jù)(但不是相關對象或庫文件)

  • 聯(lián)機重組過程中,詳細記錄所有操作。結果,HADR 可以復制操作,而不會使備用數(shù)據(jù)庫比它在進行更多典型數(shù)據(jù)庫更新時更加遠遠地落在后面。但是,由于生成大量日志記錄,所以此行為可能對系統(tǒng)產(chǎn)生較大影響。

    如果未如聯(lián)機重組那樣大量地記錄脫機重組,通常按幾百或幾千個受影響的行來記錄操作。這意味著備用數(shù)據(jù)庫將落后,因為它等待每個日志記錄,然后立刻重放許多更新。如果脫機重組是非集群的,那么在整個重組操作之后生成單一日志記錄。此方式在最大程度上影響備用數(shù)據(jù)庫與主數(shù)據(jù)庫保持同步的功能。備用數(shù)據(jù)庫從主數(shù)據(jù)庫接收日志記錄之后,將執(zhí)行整個重組過程。

    HADR 不復制存儲過程、UDF 對象和庫文件。必須在主數(shù)據(jù)庫和備用數(shù)據(jù)庫中相同路徑上創(chuàng)建文件。如果備用數(shù)據(jù)庫無法找到引用的對象或庫文件,那么備用數(shù)據(jù)庫上的存儲過程或 UDF 調(diào)用將失敗

    (HADR) 不復制的操作:

    高可用性災難恢復 (HADR) 使用數(shù)據(jù)庫日志將數(shù)據(jù)從主數(shù)據(jù)庫復制到備用數(shù)據(jù)庫。主數(shù)據(jù)庫允許不進行日志記錄的操作,但不會將此類操作復制到備用數(shù)據(jù)庫。如果要在備用數(shù)據(jù)庫中反映未日志記錄的操作(例如,對歷史記錄文件的更新),那么必須執(zhí)行額外的步驟來實現(xiàn)此目的。

    以下是一些情況示例,在這些情況下,不會將主數(shù)據(jù)庫上的操作復制到備用數(shù)據(jù)庫:

    • 在指定了 NOT LOGGED INITIALLY 選項的情況下創(chuàng)建的表不會被復制。在 HADR 備用數(shù)據(jù)庫接管主數(shù)據(jù)庫后嘗試訪問這樣的表將導致錯誤。

    • 將復制所有已進行日志記錄的 LOB 列。將不會復制未進行日志記錄的 LOB 列。但是,在備用數(shù)據(jù)庫上將為它們分配空間,將二進制的零作為該列的值。

    • 不復制使用 UPDATE DATABASE CONFIGURATION(更新數(shù)據(jù)庫配置) 和 UPDATE DATABASE MANAGER CONFIGURATION(更新數(shù)據(jù)庫管理配置) 命令對數(shù)據(jù)庫配置所作的更新。

    • 不復制數(shù)據(jù)庫配置參數(shù)和數(shù)據(jù)庫管理器配置參數(shù)。

    • 對于用戶定義的函數(shù)(UDF)來說,不復制對數(shù)據(jù)庫外部的對象(例如相關的對象和庫文件)所作的更改。您需要通過其他方法在備用數(shù)據(jù)庫上對它們進行設置。

    • 不會自動地將恢復歷史記錄文件(db2rhist.asc)以及對其所作的更改從主數(shù)據(jù)庫復制到備用數(shù)據(jù)庫。

      通過發(fā)出具有 REPLACE HISTORY FILE 選項的 RESTORE DATABASE 命令,可以將歷史記錄文件的原始副本(從主數(shù)據(jù)庫的備份映像中獲?。┓诺絺溆脭?shù)據(jù)庫上:

         RESTORE DB KELLY REPLACE HISTORY FILE

      初始化 HADR 并接著對主數(shù)據(jù)庫執(zhí)行備份活動后,備用數(shù)據(jù)庫上的歷史記錄文件就已過期。但是,每個備份映像中都存儲了歷史記錄文件的一個副本。通過使用以下命令從備份映像中抽取歷史記錄文件,可以更新備用數(shù)據(jù)庫上的歷史記錄文件:

         RESTORE DB KELLY HISTORY FILE

      請不要使用正規(guī)操作系統(tǒng)命令將數(shù)據(jù)庫目錄中的歷史記錄文件從主數(shù)據(jù)庫復制到備用數(shù)據(jù)庫。進行復制時,如果主數(shù)據(jù)庫正在更新歷史記錄文件,那些文件就會損壞。

      如果執(zhí)行接管操作并且備用數(shù)據(jù)庫有最新的歷史記錄文件,那么對新的主數(shù)據(jù)庫執(zhí)行的備份和復原操作將在歷史記錄文件中生成新記錄,并且與原始主數(shù)據(jù)庫上生成的記錄完全混合。如果歷史記錄文件過期或者缺少條目,那么可能無法進行自動增量復原;而是,您將需要執(zhí)行手動增量復原操作。

=========================================================================================================

=========================================================================================================

HADR的同步方式:

目前使用的是: SUPERASYNC (超級異步)

#db2 update db cfg for devdb47 using hadr_syncmode SUPERASYNC

1、SYNC(同步) #當日志寫入到主數(shù)據(jù)庫,且主收到備庫應答,已經(jīng)寫入到備庫,則成功,確保主 備同時存儲

#此方式將最大可能地避免事務丟失,但使用此方式會導致事務響應時間最長,

2、NEARSYNC(接近同步)#當日志寫入到主數(shù)據(jù)庫,且主收到備庫應答,已經(jīng)寫入到備庫,則成功,確保主 備同時存儲僅當兩處同時發(fā)生故障,并且目標位置未將接收到的所有日志數(shù)據(jù)轉(zhuǎn)移至非易失性存儲器時,才會出現(xiàn)數(shù)據(jù)的丟失

此方式具有比同步方式更短的事務響應時間,但針對防止事務丟失的能力也相對較低

3、ASYNC(異步)#僅當日志記錄已寫入主數(shù)據(jù)庫上的日志文件,而且已將這些記錄傳遞給主系統(tǒng)主機的 TCP 層時,才認為日志寫操作是成功的,不用等待備庫的確認。

4、SUPERASYNC(超級異步)#HADR 對永遠不會處于對等狀態(tài)或斷開連接的對等狀態(tài),一旦數(shù)據(jù)寫入主 就認為是成功

具有最短的事務響應時間,但如果主系統(tǒng)發(fā)生故障,那么丟失事務的可能性也最大。如果您不希望事務因為網(wǎng)絡中斷或擁塞而導致阻塞或經(jīng)歷較長的響應時間,那么此方式很有用

HADR同步的幾中狀態(tài):

附件:http://down.51cto.com/data/2366625

文章題目:DB2-HADR搭建
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article18/pgihdp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、企業(yè)網(wǎng)站制作、手機網(wǎng)站建設、搜索引擎優(yōu)化、ChatGPT域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設
昌黎县| 册亨县| 海门市| 东丽区| 驻马店市| 伊吾县| 务川| 周至县| 泉州市| 兴城市| 原平市| 翼城县| 景谷| 周至县| 新津县| 潼南县| 新津县| 葫芦岛市| 南投市| 韶山市| 吴桥县| 祁东县| 黔南| 罗田县| 新营市| 涞源县| 弥勒县| 武清区| 长子县| 三明市| 柘城县| 南溪县| 耿马| 西盟| 睢宁县| 建湖县| 河西区| 沙湾县| 江油市| 鹤峰县| 蒙城县|