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

posted @ 2013-11-16 18:33  问笑  阅读(1474)  评论(0编辑  收藏  举报