目標機器:192.168.0.16
本地機器:192.168.0.18
1.登陸本地數據庫
db2 connect to dwmm user dainst using dainst
## 打開聯邦數據庫參數
db2 update dbm cfg using FEDERATED YES
db2 force application all
db2stop
db2start
2.編目數據庫
##1.創建編目節點
db2 connect to dwmm #連接數據庫
db2 list node directory #查看節點信息
##遠程數據庫全局設置
db2set
DB2COMM=TCPIP
##編目遠程數據庫節點[在本地數據庫配置]
##node名稱:NDBDPDB
##遠程IP:192.168.0.16
##端口號:50000
db2 "catalog tcpip node NDBDPDB remote 192.168.0.16 server 50000"
db2 "terminate"
## 編目遠程數據庫
db2 "catalog db bdpdb as DBBDPDB at node NDBDPDB authentication SERVER"
db2 "terminate"
## 測試連接是否可用
db2 "list db directory"
db2 "connect to DBBDPDB user dw using password"
3.創建包容器
db2 connect to dwmm
db2 "CREATE WRAPPER DRDA"
4.創建連接對方數據的SERVER
db2 "CREATE SERVER EDW TYPE DB2/UDB VERSION '9.7' WRAPPER DRDA AUTHORIZATION \"dw\" PASSWORD \"password\" OPTIONS (ADD NODE 'NDBDPDB',DBNAME 'DBBDPDB')"
5.創建MAPPING
db2 "CREATE USER MAPPING FOR dainst SERVER EDW OPTIONS (ADD REMOTE_AUTHID 'dw',REMOTE_PASSWORD 'password')"
6.創建聯邦關系表
db2 "CREATE NICKNAME CORE.BGFMCINF FOR EDW.DW.F_CORE_BGFMCINF"
db2 "ALTER NICKNAME CORE.BGFMCINF ALTER COLUMN ETL_FLAG LOCAL TYPE CHARACTER (1)"
db2 "ALTER NICKNAME CORE.BGFMCINF ALLOW CACHING"
##查看聯邦數據庫是否可用
db2 "get dbm cfg" | grep -i federated
db2 "force applications all"
db2stop
db2start
##刪除節點、編目數據庫
db2 uncatalog node nodename[節點名]
db2 terminate
db2 uncatalog db dbname[別名]
db2 terminate
#刪除表映射、用戶映射、包容器、服務名
DROP NICKNAME nickname #刪除表映射
DROP SERVER server_name #刪除用戶映射
DROP WRAPPER wrapper_name #刪除包容器
1.檢查並配置數據庫參數
db2 connect to dwmm user dainst using dainst;db2 set schema dainst;
db2 RESET DATABASE CONFIGURATION FOR DWMM;
db2 get db cfg|grep -wE "LOCKLIST|MAXLOCKS|LOGFILSIZ|LOGPRIMARY|LOGSECOND|SHEAPTHRES_SHR|SORTHEAP|UTIL_HEAP_SZ"
## 數據庫參數,頁大小4k,數據庫日志
db2 UPDATE DATABASE CONFIGURATION FOR DWMM USING LOCKLIST 65536 MAXLOCKS 60 LOGFILSIZ 25600 LOGPRIMARY 15 LOGSECOND 30 SHEAPTHRES_SHR 250 SORTHEAP 8192 LOGBUFSZ 2048 UTIL_HEAP_SZ 65536;
## 打開聯邦數據庫參數
db2 update dbm cfg using FEDERATED YES
db2 force application all
db2stop
db2start
2.檢查並建立 BUFFERPOOL
db2 connect to dwmm user dainst using dainst;db2 set schema dainst;
db2 ALTER BUFFERPOOL IBMDEFAULTBP SIZE 250;
db2 CREATE BUFFERPOOL BP32K SIZE 16384 PAGESIZE 32768;
db2 CONNECT RESET;
db2 connect to dwmm user dainst using dainst;db2 set schema dainst;
db2 -x "select BPNAME,NPAGES,PAGESIZE from syscat.bufferpools with ur"
3.檢查並建立 TABLESPACE
db2 -svtf crt_dwmm_spaces.ddl
### 數據表空間為 TS_DWMM TS_SYS_TMP
### 用戶表空間 TS_USER_TMP
### 臨時表空間 TEMPSPACE1
### 系統表空間 SYSCATSPACE SYSTOOLSPACE SYSTOOLSTMPSPACE
db2 list tablespaces show detail|grep Name
4.創建數據庫聯邦
## 遠程數據庫全局設置
db2set
DB2COMM=TCPIP
## db2 get dbm cfg|grep -i TCP --得到SVCENAME
## grep 上面的SVCENAME /etc/services
## 本地數據庫設置
## 編目遠程數據庫節點
db2 "catalog tcpip node NDBDPDB remote 155.101.252.172 server 50000"
db2 "terminate"
## 編目遠程數據庫
db2 "catalog db bdpdb as DBBDPDB at node NDBDPDB authentication SERVER"
db2 "terminate"
## 測試連接是否可用
db2 "list db directory"
db2 "connect to DBBDPDB user dw using password"
## 創建數據庫聯邦
db2 connect to dwmm user dainst using dainst;
## 創建WRAPPER
db2 "CREATE WRAPPER DRDA"
## 創建連接對方數據的SERVER
db2 "CREATE SERVER EDW TYPE DB2/UDB VERSION '9.7' WRAPPER DRDA AUTHORIZATION \"dw\" PASSWORD \"password\" OPTIONS (ADD NODE 'NDBDPDB',DBNAME 'DBBDPDB')"
## 創建MAPPING
db2 "CREATE USER MAPPING FOR dainst SERVER EDW OPTIONS (ADD REMOTE_AUTHID 'dw',REMOTE_PASSWORD 'password')"
## 創建聯邦關系表
db2 "CREATE NICKNAME CORE.BGFMCINF FOR EDW.DW.F_CORE_BGFMCINF"
db2 "ALTER NICKNAME CORE.BGFMCINF ALTER COLUMN ETL_FLAG LOCAL TYPE CHARACTER (1)"
db2 "ALTER NICKNAME CORE.BGFMCINF ALLOW CACHING"
## 查看聯邦數據庫是否可用
db2 "get dbm cfg" | grep -i federated
db2 "force applications all"
db2stop
db2start
5.建ETL調度相關表
db2 -svtf crt_dwmm_etl_table.ddl