环境:AIX5.1 DB2 V8.2 是个测试环境,有机会安装,做个记录
-------------
DB2 介质已经安装完成,只需要创建实例,建库
-------------
***************DB2 4节点DPF环境搭建***********
一:用户创建
1. mkgroup id=2100 db2iadm2
2. mkgroup id=2101 db2fadm2
3. mkuser id=1004 pgrp=db2iadm2 groups=db2iadm2 home=/home/db2inst2 db2inst2
passwd db2inst2
pwdadm -f NOCHECK db2inst2
4. mkuser id=1003 pgrp=db2fadm2 groups=db2fadm2 home=/home/db2fenc2 db2fenc2
passwd db2fenc2
pwdadm -f NOCHECK db2fenc2
二:实例创建
5.创建实例
root用户-> ./db2icrt -a server -u db2fenc2 db2inst2
具体是:
***/usr/opt/db2_08_01/instance# ./db2icrt -a server -u db2fenc2 db2inst2
DBI1070I Program db2icrt completed successfully.
实例创建成功!
6.设置一些DB2环境变量
db2set DB2COMM=TCPIP
db2set DB2COUNTRY=86
db2set DB2CODEPAGE=1386
db2set DB2_USE_IOCP=ON
db2set DB2_ANTIJOIN=YES
db2set DB2_PARALLEL_IO=*
db2set DB2_EVALUNCOMMITTED=ON
7.为实例配置TCP/IP通信
db2cdb2inst2 61000/tcp 添加到: /etc/services
切换到db2inst2用户:
db2inst2-> db2 update dbm cfg using SVCENAME db2cdb2inst2
db2inst2-> db2start
db2inst2-> db2 attach to db2inst2
db2inst2-> db2 get dbm cfg show detail | grep SVCENAME
db2inst2-> db2stop
8.添加多分区通信条目到:/etc/services
DB2_db2inst2 60005/tcp
DB2_db2inst2_1 60006/tcp
DB2_db2inst2_2 60007/tcp
DB2_db2inst2_END 60008/tcp
注意:端口号不要重复
9.修改~/sqllib/db2nodes.cfg: 文件$hostname是实际主机名
0 $hostname 0
1 $hostname 1
2 $hostname 2
3 $hostname 3
10.修改~/.rhosts文件
$hostnam db2inst2
11.创建sample数据库
db2sampl
数据库创建成功。
*************循环日志修改为归档日志方式****************
创建归档日志存储路径:
mkdir -p /home/db2inst2/db2inst2/NODE0000/SQL00001/SQLOGDIR/archivelog/
mkdir -p /home/db2inst2/db2inst2/NODE0001/SQL00001/SQLOGDIR/archivelog/
mkdir -p /home/db2inst2/db2inst2/NODE0002/SQL00001/SQLOGDIR/archivelog/
mkdir -p /home/db2inst2/db2inst2/NODE0003/SQL00001/SQLOGDIR/archivelog/
修改归档日志方式(循环-->归档):
db2 update db cfg for sample using LOGARCHMETH1 'DISK:/home/db2inst2/db2inst2/NODE0000/SQL00001/SQLOGDIR/archivelog/'
export DB2NODE=1
db2 termiante
db2 update db cfg for sample using LOGARCHMETH1 'DISK:/home/db2inst2/db2inst2/NODE0001/SQL00001/SQLOGDIR/archivelog/'
export DB2NODE=2
db2 termiante
db2 update db cfg for sample using LOGARCHMETH1 'DISK:/home/db2inst2/db2inst2/NODE0002/SQL00001/SQLOGDIR/archivelog/'
export DB2NODE=3
db2 termiante
db2 update db cfg for sample using LOGARCHMETH1 'DISK:/home/db2inst2/db2inst2/NODE0003/SQL00001/SQLOGDIR/archivelog/'
export DB2NODE=0
db2 termiante
进行验证:db2_all db2 get db cfg for sample|grep -i LOGARCHMETH1|grep -v LOGARCHOPT1|more
First log archive method (LOGARCHMETH1) = DISK:/home/db2inst2/db2inst2/NODE0000/SQL00001/SQLOGDIR/archivelog/
First log archive method (LOGARCHMETH1) = DISK:/home/db2inst2/db2inst2/NODE0001/SQL00001/SQLOGDIR/archivelog/
First log archive method (LOGARCHMETH1) = DISK:/home/db2inst2/db2inst2/NODE0002/SQL00001/SQLOGDIR/archivelog/
First log archive method (LOGARCHMETH1) = DISK:/home/db2inst2/db2inst2/NODE0003/SQL00001/SQLOGDIR/archivelog/
连接数据库
db2 connect to sample 报如下错误:
SQL1116N A connection to or activation of database "SAMPLE" cannot be made
because of BACKUP PENDING. SQLSTATE=57019
出现错误消息的原因是,日志模式已经从循环更改为归档,并且需要执行完全数据库备份。
数据库处于循环日志模式时执行的备份并不充分,因此当切换模式后需要执行新备份。
db2_all "db2 backup database sample comress"
db2 connect to sample 提示连接成功!
验证归档日志是否切换成功,采用在线备份的方式
db2_all "db2 backup db sample online compress"
执行成功出现4个备份介质
SAMPLE.0.db2inst2.NODE0000.CATN0000.20121012112303.001
SAMPLE.0.db2inst2.NODE0001.CATN0000.20121012112321.001
SAMPLE.0.db2inst2.NODE0002.CATN0000.20121012112337.001
SAMPLE.0.db2inst2.NODE0003.CATN0000.20121012112352.001
-------------
DB2 介质已经安装完成,只需要创建实例,建库
-------------
***************DB2 4节点DPF环境搭建***********
一:用户创建
1. mkgroup id=2100 db2iadm2
2. mkgroup id=2101 db2fadm2
3. mkuser id=1004 pgrp=db2iadm2 groups=db2iadm2 home=/home/db2inst2 db2inst2
passwd db2inst2
pwdadm -f NOCHECK db2inst2
4. mkuser id=1003 pgrp=db2fadm2 groups=db2fadm2 home=/home/db2fenc2 db2fenc2
passwd db2fenc2
pwdadm -f NOCHECK db2fenc2
二:实例创建
5.创建实例
root用户-> ./db2icrt -a server -u db2fenc2 db2inst2
具体是:
***/usr/opt/db2_08_01/instance# ./db2icrt -a server -u db2fenc2 db2inst2
DBI1070I Program db2icrt completed successfully.
实例创建成功!
6.设置一些DB2环境变量
db2set DB2COMM=TCPIP
db2set DB2COUNTRY=86
db2set DB2CODEPAGE=1386
db2set DB2_USE_IOCP=ON
db2set DB2_ANTIJOIN=YES
db2set DB2_PARALLEL_IO=*
db2set DB2_EVALUNCOMMITTED=ON
7.为实例配置TCP/IP通信
db2cdb2inst2 61000/tcp 添加到: /etc/services
切换到db2inst2用户:
db2inst2-> db2 update dbm cfg using SVCENAME db2cdb2inst2
db2inst2-> db2start
db2inst2-> db2 attach to db2inst2
db2inst2-> db2 get dbm cfg show detail | grep SVCENAME
db2inst2-> db2stop
8.添加多分区通信条目到:/etc/services
DB2_db2inst2 60005/tcp
DB2_db2inst2_1 60006/tcp
DB2_db2inst2_2 60007/tcp
DB2_db2inst2_END 60008/tcp
注意:端口号不要重复
9.修改~/sqllib/db2nodes.cfg: 文件$hostname是实际主机名
0 $hostname 0
1 $hostname 1
2 $hostname 2
3 $hostname 3
10.修改~/.rhosts文件
$hostnam db2inst2
11.创建sample数据库
db2sampl
数据库创建成功。
*************循环日志修改为归档日志方式****************
创建归档日志存储路径:
mkdir -p /home/db2inst2/db2inst2/NODE0000/SQL00001/SQLOGDIR/archivelog/
mkdir -p /home/db2inst2/db2inst2/NODE0001/SQL00001/SQLOGDIR/archivelog/
mkdir -p /home/db2inst2/db2inst2/NODE0002/SQL00001/SQLOGDIR/archivelog/
mkdir -p /home/db2inst2/db2inst2/NODE0003/SQL00001/SQLOGDIR/archivelog/
修改归档日志方式(循环-->归档):
db2 update db cfg for sample using LOGARCHMETH1 'DISK:/home/db2inst2/db2inst2/NODE0000/SQL00001/SQLOGDIR/archivelog/'
export DB2NODE=1
db2 termiante
db2 update db cfg for sample using LOGARCHMETH1 'DISK:/home/db2inst2/db2inst2/NODE0001/SQL00001/SQLOGDIR/archivelog/'
export DB2NODE=2
db2 termiante
db2 update db cfg for sample using LOGARCHMETH1 'DISK:/home/db2inst2/db2inst2/NODE0002/SQL00001/SQLOGDIR/archivelog/'
export DB2NODE=3
db2 termiante
db2 update db cfg for sample using LOGARCHMETH1 'DISK:/home/db2inst2/db2inst2/NODE0003/SQL00001/SQLOGDIR/archivelog/'
export DB2NODE=0
db2 termiante
进行验证:db2_all db2 get db cfg for sample|grep -i LOGARCHMETH1|grep -v LOGARCHOPT1|more
First log archive method (LOGARCHMETH1) = DISK:/home/db2inst2/db2inst2/NODE0000/SQL00001/SQLOGDIR/archivelog/
First log archive method (LOGARCHMETH1) = DISK:/home/db2inst2/db2inst2/NODE0001/SQL00001/SQLOGDIR/archivelog/
First log archive method (LOGARCHMETH1) = DISK:/home/db2inst2/db2inst2/NODE0002/SQL00001/SQLOGDIR/archivelog/
First log archive method (LOGARCHMETH1) = DISK:/home/db2inst2/db2inst2/NODE0003/SQL00001/SQLOGDIR/archivelog/
连接数据库
db2 connect to sample 报如下错误:
SQL1116N A connection to or activation of database "SAMPLE" cannot be made
because of BACKUP PENDING. SQLSTATE=57019
出现错误消息的原因是,日志模式已经从循环更改为归档,并且需要执行完全数据库备份。
数据库处于循环日志模式时执行的备份并不充分,因此当切换模式后需要执行新备份。
db2_all "db2 backup database sample comress"
db2 connect to sample 提示连接成功!
验证归档日志是否切换成功,采用在线备份的方式
db2_all "db2 backup db sample online compress"
执行成功出现4个备份介质
SAMPLE.0.db2inst2.NODE0000.CATN0000.20121012112303.001
SAMPLE.0.db2inst2.NODE0001.CATN0000.20121012112321.001
SAMPLE.0.db2inst2.NODE0002.CATN0000.20121012112337.001
SAMPLE.0.db2inst2.NODE0003.CATN0000.20121012112352.001