AIX上安装配置DB2
在2台P550数据库主机上安装DB2 V8.2,两台数据库主机间进行数据库HA配置,实现数据库双机互备。
本文档编写以磁盘大小360G,数据库名CRAMS_JS为例.
设备准备
请系统管理员协助划分DB2需要的共享磁盘,本文以磁盘大小共360G为例,做以下划分:
建数据库需要的文件系统:
/db2log1 10G
/db2_db 3G
建数据库需要的裸设备:
device '/dev/db2_dta01 99G
device '/dev/db2_dta02 98G
device '/dev/db2_dta03 49G
device '/dev/db2_idx01 48G
device '/dev/db2_idx02 48G
device '/dev/db2_tmp 6G
1. 主服务器安装
1.1 安装先决条件
(1)确保系统满足安装内存和磁盘需求,磁盘空间不足的话通过Smitty fs或者Smitty jfs扩展。
(2)打开系统异步IO,通过SMITTY工具将异步状态置为Available,即
The state to be configured at system restart : available
(3)以超级用户root登陆,手工创建必需的DB2用户组和用户:
您可以通过Smitty工具来创建用户和组,也可以通过下列命令来创建:
mkgroup id=999 db2iadm1
mkgroup id=998 db2fadm1
mkgroup id=997 db2asgrp
mkuser id=1004 pgrp=db2iadm1 groups=db2iadm1 home=/home/db2inst1
db2inst1 passwd db2inst1
mkuser id=1003 pgrp=db2fadm1 groups=db2fadm1 home=/home/db2fenc1
db2fenc1 passwd db2fenc1
mkuser id=1002 pgrp=db2asgrp 1 groups=db2asgrp home=/home/db2as
db2as passwd db2as
1.2安装DB2
1. 以root用户登录系统
2. mount /cdrom
3. cd /cdrom
4. 将安装文件ese.dbcs.tar.gz复制到临时文件系统中。
5. 输入命令gunzip /…/ese*.gz解压得到ese.dbcs.tar
6. 输入命令tar -xvf ese*.tar解压得到安装目录ese.dbcs
7. 通过cd ese.dbcs/进入安装目录,
8. 运行./db2setup执行安装,,接受许可协议,选择安装DB2 ESE SERVER,安装类型为典型安装,按照安装向导的提示安装。其中一个界面需要输入DB2管理服务器的用户和密码,一般情况下我们默认使用,用户名: dasusr1,密码:dasusr1。
1.3数据库配置
1.3.1创建数据库实例
使用db2icrt命令来创建实例,具体步骤如下:
1. 作为具有root用户权限的用户登录,
2. cd /usr/opt/ db2_08_01/instance/
3. db2icrt -a AuthType -s ese –w 64 –u db2fenc1 db2inst1
参数说明:
n -a AuthType 表示实例的认证类型。AuthType可为SERVER、CLIENT、DCS、SERVER_ENCRYPT和DCS_ENCRYPT其中之一。SERVER是缺省值。此参数是可选的。
n -s ese表示将要创建的实例类型,其中ese表示服务器端的实例,CLIENT表示客户端的实例。
n -w 64表示要创建的实例是64位的。
n -u FencedID 表示将用来运行受防护用户定义函数(UDF)和受防护存储过程的用户的名称。若您正在DB2客户机上创建实例,则此标志不是必需的。指定您创建的受防护用户的名称。
n db2inst1表示实例的名称。实例的名称必须与拥有实例的用户的名称相同。指定您创建的拥有实例的用户的名称。将在拥有实例的用户的主目录中创建该实例。
1.3.2创建数据库和数据库对象
1.3.2.1创建数据库
(1) 输入命令su – db2inst1切换到db2inst1用户
(2) 执行DB2进入db2命令行处理器,输入以下命令来创建数据库:
create database CRAMS_JS on '/db2_db' using codeset GBK territory CN
1.3.2.2创建和调整缓冲池
(1) 输入命令su – db2inst1切换到db2inst1用户
(2) 执行DB2进入db2命令行处理器,输入以下命令来创建数据库:
CREATE BUFFERPOOL "BUFFPOOL8K" SIZE65536PAGESIZE 8192 NOT EXTENDED STORAGE
ALTER BUFFERPOOL IBMDEFAULTBP SIZE 65536
1.3.2.3创建表空间
(1) 输入命令su – db2inst1切换到db2inst1用户
(2) 执行DB2进入db2命令行处理器,输入以下命令来创建数据库:
CREATE TEMPORARY TABLESPACE TMPSPACE8K IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 8192 MANAGED BY DATABASE
USING (device '/dev/rdb2_tmp' 786432)
EXTENTSIZE 8
BUFFERPOOL BUFFPOOL8K
CREATE REGULAR TABLESPACE SDB1 IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8192 MANAGED BY DATABASE
USING (device '/dev/rdb2_dta01' 12976128)
EXTENTSIZE 8
BUFFERPOOL BUFFPOOL8K
CREATE REGULAR TABLESPACE SDB2 IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8192 MANAGED BY DATABASE
USING (device '/dev/rdb2_dta02' 12845056)
EXTENTSIZE 8
BUFFERPOOL BUFFPOOL8K
CREATE REGULAR TABLESPACE SDB3 IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASE
USING (device '/dev/rdb2_dta03' 12845056)
EXTENTSIZE 16
CREATE REGULAR TABLESPACE IDB1 IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASE
USING (device '/dev/rdb2_idx01' 12582912)
EXTENTSIZE 16
CREATE REGULAR TABLESPACE IDB2 IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 4096 MANAGED BY DATABASE
USING (device '/dev/rdb2_idx02' 12058624)
EXTENTSIZE 16!
1.3.3操作系统参数设置
n 与网络相关的设置
修改/etc/rc.net文件,将文件末尾处
if [ -f /usr/sbin/no ] ; then
/usr/sbin/no -o extendednetstats=0 >>/dev/null 2>&1
fi
修改为:
if [ -f /usr/sbin/no ] ; then
/usr/sbin/no -o extendednetstats=0 >>/dev/null 2>&1
/usr/sbin/no –o thewall=1048576
/usr/sbin/no –o rfc1323=1
/usr/sbin/no –o tcp_sendspace=655360
/usr/sbin/no –o tcp_recvspace=655360
/usr/sbin/no –o udp_sendspace=65536
/usr/sbin/no –o udp_recvspace=655360
/usr/sbin/no –o sb_max=1310720
fi
n 系统虚拟内存设置
vmo -r -o minperm%=15
vmo -r -o maxperm%=25
vmo -r -o maxclient%=15
vmo -r -o maxfree=184
vmo -r -o v_pinshm=1
vmo -r -o lgpg_size=16777216
vmo -r -o lgpg_regions=1207959552
ioo -r -o lvm_bufcnt=16
ioo -r -o maxpgahead=64
chdev -l sys0 -a maxuproc=4096
1.3.4数据库服务器参数设置
(1)如果当前用户是root用户,通过su – db2inst1切换到db2inst1用户
(2)通过输入以下命令设置数据库服务器环境:
db2set DB2_EVALUNCOMMITTED=on
db2set DB2_EXTENDED_OPTIMIZATION=on
db2set DB2_SKIPDELETED=on
db2set DB2_PARALLEL_IO=*
db2set DB2_ANTIJOIN=ON
db2set db2comm=tcpip
db2set db2codepage=1386
db2set DB2_USE_ALTERNATE_PAGE_CLEANING=ON
1.3.5数据库管理器参数设置
(1)如果当前用户是root用户,通过su – db2inst1切换到db2inst1用户
(2)通过输入以下命令设置数据库服务器环境:
db2 update dbm cfg using SHEAPTHRES 100000
查看/etc/services文件末尾关于服务的名字和端口号,通过以下命令更新相应服务名:
db2 update dbm cfg using svcename DB2_db2inst1
1.3.6数据库参数设置
(1)如果当前用户是root用户,通过su – db2inst1切换到db2inst1用户
(2)通过执行以下命令配置数据库。
db2 UPDATE DB CFG FOR CRAMS_JS USING LOCKLIST 20480
db2 UPDATE DB CFG FOR CRAMS_JS USING LOGBUFSZ 256
db2 UPDATE DB CFG FOR CRAMS_JS USING SORTHEAP 32768
db2 UPDATE DB CFG FOR CRAMS_JS USING LOCKTIMEOUT 60
db2 UPDATE DB CFG FOR CRAMS_JS USING LOGFILSIZ 10000
db2 UPDATE DB CFG FOR CRAMS_JS USING LOGRETAIN ON
db2 UPDATE DB CFG FOR CRAMS_JS USING NUM_IOSERVERS 7
db2 UPDATE DB CFG FOR CRAMS_JS USING NEWLOGPATH /db2log1
db2 UPDATE DB CFG FOR CRAMS_JS USING LOGPRIMARY 50 LOGSECOND 10
1.4准备HACMP切换脚本
1. 以root用户登录
2. mkdir /hacmp
3. cp /home/db2inst1/sqllib/samples/hacmp/hacmp-s1.sh /hacmp/pbc-ha-start.sh