db2主備hadr部署

2022-06-14 20:48:14 字數 3140 閱讀 3348

環境:os linux centos 6

db db2 v9.5.0.0

主庫:192.168.1.1

備庫:192.168.1.2

(1):在主機上建立資料庫:

db2 create database testdb on /opt/sisc/test/testdb

(2):配置主庫引數:

db2 update db cfg for testdb using logretain on

db2 update db cfg for testdb using trackmod on

db2 update db cfg for testdb using logindexbuild on

db2 update db cfg for testdb using indexrec restart

db2 update db cfg for testdb using hadr_local_host 192.168.1.1

db2 update db cfg for testdb using hadr_local_svc 54321(當啟動hadr後,這個埠就會開啟,負責複製的通訊,埠可自定義)

db2 update db cfg for testdb using hadr_remote_host 192.168.1.2

db2 update db cfg for testdb using hadr_remote_svc 54321

db2 update db cfg for testdb using hadr_remote_inst db2inst1

db2 update db cfg for testdb using hadr_timeout 120

db2 update db cfg for testdb using hadr_peer_window 10

db2 update db cfg for testdb using hadr_syncmode sync

(3):備份主資料庫,生成乙個備份檔案

db2 backup db testdb

注意:如果第一次將日誌的方式設定為retain方式,此次備份會使資料庫出現backup pending方式。當備用資料庫恢復時,不要使用這個備份檔案,而是需要重新備份一次,使用第二次備份的檔案。並將剛才備份的資料庫檔案拷貝到乙個從機可以使用的檔案系統裡面。

[db2inst1@localhost db_bak]$ db2 backup db testdb

backup successful. the timestamp for this backup image is : 20101025142658

[db2inst1@localhost db_bak]$ ls -l

total 88472

-rw------- 1 db2inst1 db2iadm1 90501120 oct 25 14:27

hadrdb.0.db2inst1.node0000.catn0000.20101025142658.001

傳輸此第二次備份的檔案到備用資料庫主機中,可以建立與主庫相同的目錄

[db2inst1@localhost db_bak]$ scp testdb.0.db2inst1.node0000.catn0000.20210205101045.001 [email protected]:/opt/sisc/test/testdb/

(4):在備用資料庫上恢復資料庫:

db2 create database testdb on /opt/sisc/test/testdb 新建資料庫,路徑和主庫相同

db2 restore db testdb into testdb 將testdb 資料庫恢復到testdb 資料庫中

(5):配置備庫引數:

db2 update db cfg for testdb using logretain on

db2 update db cfg for testdb using trackmod on

db2 update db cfg for testdb using logindexbuild on

db2 update db cfg for testdb using indexrec restart

db2 update db cfg for testdb using hadr_local_host 192.168.1.2

db2 update db cfg for testdb using hadr_local_svc 54321

db2 update db cfg for testdb using hadr_remote_host 192.168.1.1

db2 update db cfg for testdb using hadr_remote_svc 54321

db2 update db cfg for testdb using hadr_remote_inst db2inst1

db2 update db cfg for testdb using hadr_timeout 120

db2 update db cfg for testdb using hadr_peer_window 10

db2 update db cfg for testdb using hadr_syncmode sync

(6):啟動備庫,必須先啟動備庫,再啟動主庫:

db2stop db2start(此步驟可省略)

db2 "deactivate database testdb"

db2 start hadr on db testdb as standby (testdb你的資料庫名稱)

(7):啟動主庫:

db2 "deactivate database testdb"

db2 start hadr on db testdb as primary

(8)監控主備資料庫狀態:

db2pd -hadr -db testdb

(9)主備庫切換

備庫接管主庫,下面命令只能在備庫執行:

正常接管,相當於oracle的standby的switchover,接管之後,主變備,備變主,重新在原主庫(也就是現在的備庫執行此命令),hadr重新回到原來狀態

db2 takeover hadr on database testdb

db2 get db cfg for trade |grep -i hadr

DB2管理非預設 db2 例項

檢視db2所有例項 c documents and settings administrator db2ilist db2c documents and settings administrator db2 get instance 當前資料庫管理器例項是 db2 建立新例項 c documents...

Keepalived部署雙主熱備

二 配置keepalived主和從 2.2 配置keepalived 從 2.3 啟動keepalived 三 keepalived註冊為系統服務 四 keepalived配置nginx自動重啟 五 配置keepalived雙主熱備 上傳壓縮包 scp keppalived.tar.gz root ...

關於DB2的使用(DB2資料命令)

公司所用的資料庫有金倉和db2 首先要用命令視窗直接開啟db2需要在cmd中輸入 db2cmd 1 啟動db2資料庫 db2start 2 連線資料庫 db2 connect to 資料庫名稱 3 建立資料庫 db2 create db 資料庫名稱 4 刪除資料庫 db2 drop db 資料庫名稱...