目标机器: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