数据库双机安装配置.docx
《数据库双机安装配置.docx》由会员分享,可在线阅读,更多相关《数据库双机安装配置.docx(20页珍藏版)》请在冰豆网上搜索。
数据库双机安装配置
重庆烟草
现场技术支持服务报告
(2005-05-31-2005-06-1)
日期:
2005年05月31日-2004年06月1日
支持人员:
谷泽华
目录
项目背景3
联系人员3
内容概述3
系统体系结构3
软件环境列表3
服务内容4
1.数据库平台设计4
1)系统概述4
2)存储资源组4
3)用户及组7
4)数据库服务IP和端口9
2.在两台P550上安装UDBDB2v8.2数据库9
3.在两台P650上安装UDBDB2v8.2fixpak89
4.创建数据库实例10
5.更新数据库实例环境参数10
6.更新数据库实例配置参数11
7.更新数据库实例的端口11
8.创建数据库11
9.安装数据库许可证12
10.在应用数据库系统应用服务器上编目数据库12
11.对两台p650数据库主机进行数据库HA配置12
1)建立数据库节点配置文件12
2)编写数据库HA切换脚本13
12.测试数据库HA切换15
1)从A机到B机15
2)从B机到A机15
13.日常维护15
1)操作系统检查15
2)数据库系统检查16
14.系统正常,HA出问题时使用数据库系统17
项目背景
2005年05月31日,重庆烟草要求IBM工程师到现场安装服务,在两台P550数据库主机上安装数据库UDBDB2v8.2,并对两台P550上的2套数据库主机进行数据库HA配置,实现2个数据库双机互备。
联系人员
联系人姓名
联系电话
职务
内容概述
1.在两台P550上安装UDBDB2v8.2ESE版数据库
2.调整数据库管理器配置参数
3.对两台P550数据库主机进行数据库HA配置,实现数据库双机互备
4.测试数据库HA切换
系统体系结构
重庆烟草数据库服务主机为两台P550,每台主机上有4个CPU,操作系统为AIX5.2。
HA版本为5.1,数据库系统为UDBDB2v8.2,创建一个2个数据库节点。
软件环境列表
软件名称
说明
操作系统
AIX5.2
HA系统
V5.1
数据库软件
UDBDB2v8.2
服务内容
1.数据库平台设计
1)系统概述
重庆烟草数据库服务主机系统是采用两台IBMP550,创建两个实例和两个数据库系统(应用数据库系统和备份数据库系统),两台P550间做了cluster,HA正常启动的情况下,应用数据库系统p550-prod的p550主机上,备份数据库系统在主机名为p550-query的p550主机上。
每台P550主机上有4个CPU。
操作系统为AIX5Lv5.2,集群软件为HACMP5,DB2版本为V8.2ESE版。
数据库存储建立在容量为IBMFastT600上。
2)存储资源组
卷组名称
逻辑卷名称
文件系统
备注
Rootvg
/
系统根目录
/home
用户目录
/var
/usr
数据库程序驻留位置
/opt
/dev
prodvg
lvdb2inst1
/db2home/db2inst1
数据库实例文件和应用数据库表
lvdb2fenc1
/db2home/db2fenc1
应用数据库隔离用户空间和归档日志存放控件
queryvg
lvdb2inst2
/db2home/db2inst2
数据库实例文件和历史数据库
lvdb2fenc2
/db2home/db2fenc2
历史数据库隔离用户空间
以上操作过程和步骤(以应用数据库系统为例,其它系统参照规划和以下过程操作):
HA已经停止,卷组prodvg已经创建,并且已经同步
1.在两台机器上使用smittyclstop
2.以下在p550-prod上操作,主要是创建应用数据库的存储资源:
a).首先确保prodvg加载在p550-prod上,使用命令:
#varyonvgprodvg
#lsvg–o
应显示有rootvg和prodvg
b).创建jfslog
#mklv-tjfslog-yjfslog01prodvg1
#logform/dev/jfslog01
logform:
destroy/dev/jfslog01(y)?
y(提示:
输入的为y)
执行完后确保:
#lsvg-lprodvg
prodvg:
LVNAMETYPELPsPPsPVsLVSTATEMOUNTPOINT
Jfslog01jfslog111closed/syncdN/A
c).创建LVs和JFSs
创建实例卷组和文件系统:
#smitlv
→AddaLogicalVolume
→thenselect:
VOLUMEGROUPname[prodvg]
AddaLogicalVolume(以下是输入或选择的参数,其它项不用改动)
LogicalvolumeNAME[lvdb2inst1]
VOLUMEGROUPnameprodvg
NumberofLOGICALPARTITIONS[1]
PHYSICALVOLUMEnames[]
RANGEofphysicalvolumesmaximum
#smitjfs
→AddaJournaledFileSystemonaPreviouslyDefinedLogicalVolume
→AddaLargeFileEnabledJournaledFileSystem
andfillinthefields.Followingisanexample:
AddaLargeFileEnabledJournaledFileSystem
LOGICALVOLUMEnamelvdb2inst
MOUNTPOINT/db2home/db2inst1]
MountAUTOMATICALLYatsystemrestart?
no
PERMISSIONSread/write
MountOPTIONS[]
StartDiskAccounting?
no
Numberofbytesperinode4096
AllocationGroupSize64
创建隔离用户的卷和文件系统
#smitlv
→AddaLogicalVolume
→thenselect:
VOLUMEGROUPname[prodvg]
AddaLogicalVolume
LogicalvolumeNAME[lvdb2fenc1]
VOLUMEGROUPnameprodvg
NumberofLOGICALPARTITIONS[1]
PHYSICALVOLUMEnames[]
RANGEofphysicalvolumesmaximum
#smitjfs
→AddaJournaledFileSystemonaPreviouslyDefinedLogicalVolume
→AddaLargeFileEnabledJournaledFileSystem
andfillinthefields.Followingisanexample:
AddaLargeFileEnabledJournaledFileSystem
LOGICALVOLUMEnamelvdb2fenc1
MOUNTPOINT[/db2home/db2fenc1]
MountAUTOMATICALLYatsystemrestart?
no
PERMISSIONSread/write
MountOPTIONS[]
StartDiskAccounting?
no
Numberofbytesperinode4096
AllocationGroupSize64
3.增大lv
按照客户规划增加lv的大小
#smittyjfs
修改到规划的大小
4.存储资源的同步(具体操作情参照HA实施人员留下的安装、配置和维护文档):
在hacmp中修改资源组和同步资源组:
a).smittyhacmp回车,选择ClusterConfigration回车,然后选择ClusterResourse。
b).选择Change/ShowResourses/AttributesforaResourseGroup回车,然后选择你要修改的资源组(一般就一个,直接回车),然后在VolumeGroups中填入你修改后的共享VG名prodvg。
回车后按F10退出。
c).然后选择SynchronizeClusterResouces回车。
进入同步界面,步修改任何选项,回车。
d).smittyhacmp
选择extend
3)用户及组
目前所有用户的密码和用户名相同,若需要修改,请在两台机器上同时修改
应用数据库系统:
组名称
组ID
备注
Db2iadm1
790
数据库实例管理组
Db2fadm1
791
数据库隔离用户管理组
用户名称
用户ID
所属组
HOME目录
备注
Db2inst1
1001
db2iadm1
/db2home/db2inst1
实例用户
Db2fenc1
1002
db2fadm1
/db2home/db2fenc1
数据库隔离用户
备份数据库系统:
组名称
组ID
备注
Db2iadm2
890
数据库实例管理组
Db2fadm2
891
数据库隔离用户管理组
用户名称
用户ID
所属组
HOME目录
备注
Db2inst2
2001
db2iadm2
/db2home/db2inst2
实例用户
Db2fenc2
2002
db2fadm2
/db2home/db2fenc2
数据库隔离用户
其操作过程如下(要在两台机器上都运行):
mkgroupid=790db2iadm1
mkgroupid=791db2fadm1
mkuserid=1001pgrp=db2iadm1groups=db2iadm1home=/db2home/db2inst1db2inst1
mkuserid=1002pgrp=db2fadm1groups=db2fadm1home=/db2home/db2fenc1db2fenc1
chowndb2inst1.db2iadm1/db2home/db2inst1
chowndb2fenc1.db2fadm1/db2home/db2fenc1
chowndb2inst1.db2iadm1/db2home/db2fenc1
mkgroupid=890db2iadm2
mkgroupid=891db2fadm2
mkuserid=2001pgrp=db2iadm2groups=db2iadm2home=/db2home/db2inst2db2inst2
mkuserid=2002pgrp=db2fadm2groups=db2fadm2home=/db2home/db2fenc2db2fenc2
chowndb2inst2.db2iadm2/db2home/db2inst2
chowndb2fenc2.db2fadm2/db2home/db2fenc2
chowndb2inst2.db2iadm2/db2home/db2fenc2
4)数据库服务IP和端口
应用数据库系统
服务IP:
10.11.1.201,端口:
60000;
备份数据库系统:
服务IP:
10.11.1.202,端口:
60004
2.在两台P550上安装UDBDB2v8.2数据库
在两台p550服务器上分别按以下步骤进行安装
a)以root身份登录系统
b)将DB2产品光碟放入光驱并做mount(mount/cdrom)
c)用df–k查看文件系统使用情况,在有1.5Gb空间的文件系统上(比如/db2home/db2feb2目录下)创建数据库安装临时目录,将数据库产品解压缩到该目录下(gzip–d/cdrom/dbcs.ese.tar.gztar–xvfdbcs.ese.tar)
d)进入解压后的数据库安装文件所在目录,使用./db2install安装数据库产品,出现提示后,输入DB2.ESE(区分大小写),执行安装。
DB2ESEV8.2在AIX上的安装目录为/usr/opt/db2_08_01
3.在两台P650上安装UDBDB2v8.2fixpak8
在两台p650服务器上分别按以下步骤安装UDBDB2v8.1fixpak8
a)将fixpak8压缩文件上传至服务器的临时目录
b)以root身份登陆系统
c)使用命令(zcatFP8_U800400.tar.Z|tar–xvf-)解压缩补丁文件
d)停止所有数据库实例
进入数据库补丁所在目录,使用./installFixPak–y命令安装数据库补丁8
4.创建数据库实例
a)在p550-prod上使用root用户登陆服务器
b)加载文件系统
#varyonvgprodvg
#varyonvgqueryvg
#mount/db2home/db2inst1
#mount/db2home/db2fenc1
#mount/db2home/db2inst2
#mount/db2home/db2fenc2
c)进入数据库产品安装目录(/usr/opt/db2_08_01/instance)
d)使用命令创建数据库实例
./db2icrt–udb2fenc1db2inst1
./db2icrt–udb2fenc1db2inst1
e)以root进入服务器p550-query后,执行以上操作
5.更新数据库实例环境参数
a)在p55a(A)上使用数据库实例用户db2inst1登陆系统
b)更新数据库实例环境,命令如下:
db2setDB2COMM=tcpip
db2setDB2CODEPAGE=1386
db2setDB2TERRITORY=CN
c)在p55a(B)上使用数据库实例用户、db2inst2登陆系统
d)更新数据库实例环境,命令如下:
db2setDB2COMM=tcpip
db2setDB2CODEPAGE=1386
db2setDB2TERRITORY=CN
6.更新数据库实例配置参数
a)在p550-prod上使用数据库实例用户db2inst1登陆系统
b)更新数据库实例环境,命令如下:
db2updatedbmcfgusingSVCENAMEDB2_db2inst1;
c)在p550-query上使用数据库实例用户db2inst2登陆系统
d)更新数据库实例环境,命令如下:
db2updatedbmcfgusingSVCENAMEDB2_db2inst2;
7.更新数据库实例的端口
在p550-prod和p550-query上,以root登陆系统,编辑servers文件,使其中涉及db2的端口按以下要求更改:
vi/etc/servers
………………..
………………..
DB2_db2inst160000/tcp
DB2_db2inst1_160001/tcp
DB2_db2inst1_260002/tcp
DB2_db2inst1_END60003/tcp
DB2_db2inst260004/tcp
DB2_db2inst2_160005/tcp
DB2_db2inst2_260006/tcp
DB2_db2inst2_END60007/tcp
8.创建数据库
a)在p550-prod上使用数据库实例用户db2inst登陆系统
b)创建数据库,命令如下:
db2stop
db2start
db2CREATEDATABASEcqyctdUSINGCODESETGBKTERRITORYCN
c)在p550-query上使用数据库实例用户db2inst2登陆系统
d)创建数据库,命令如下:
db2stop
db2start
db2CREATEDATABASEcqycfdUSINGCODESETGBKTERRITORYCN
9.安装数据库许可证
在p55a(A)和p55a(B)上分别以db2inst1和db2inst2登陆系统运行如下步骤:
a)使用命令(db2licm-l)可以查看当前数据库的许可情况;
b)使用命令(db2licm–a)可以为数据库添加数据库许可,许可证文件一般位于数据库产品介质的/ese.dbcs/db2/license/目录中,如:
/ese.dbcs/db2/license/db2ese.lic;
c)使用命令(db2licm–a)添加数据库许可后一般为只添加了一个CPU的许可,可以使用命令(db2licm–nDB2ESE)添加更多的CPU许可,如在本系统中使用(db2licm–nESE8)添加8个CPU的许可。
10.在应用数据库系统应用服务器上编目数据库
在应用数据库系统应用服务器上分别按以下步骤进行操作
a)打开db2命令行处理器,输入以下命令
db2catalogtcpipnodelcappremote10.11.1.201server60000
db2catalogdbcqyctdatnodelcapp
db2catalogtcpipnodelcbakremote10.11.1.202server60004
db2catalogdbcqycfdatnodelcbak
11.对两台p650数据库主机进行数据库HA配置
1)建立数据库节点配置文件
UDBDB2ESE版数据库中存在一个节点配置文件(db2nodes.cfg),位于数据库实例用户目录下的sqllib目录下,该文件为数据库配置数据库服务所在服务的主机名。
当数据库发生HA切换,数据库服务主机也随着改变,这时如果要启动数据库服务就必须更改db2nodes.cfg文件,将服务主机配置为服务的主机名。
为了实现HA切换时db2nodes.cfg配置文件随着改变,可以建立一个文件,将为本机的主机名,这样发生切换时指向的配置文件就会指向到各自正确的本地配置文件中。
a)在p550-prod上,创建文件db2nodes.cfg,存放于/usr/hascript/db2hascript/,内容如下:
0p550-prod0
b)在p550-query上,创建文件db2nodes.cfg,存放于/usr/hascript/db2hascript/,内容如下:
0p550-query0
2)编写数据库HA切换脚本
为了实现HA切换时数据库自动启动,需要在HA停止时将原先DB2使用的资源释放,在HA启动时将数据库启动。
将启动脚本放置在p550-prod和p550-query的/etc/haapp/db2hascript路径下,脚本名称和内容如下:
应用数据库系统
启动脚本db2inst1start.sh内容如下:
echo"============================================"
echo"BeginStartingDATABASE"
echo"============================================"
cp/etc/haapp/db2hascript/db2nodes.cfg/db2home/db2inst1/sqllib/db2nodes.cfg
su-db2inst1-cdb2start
echo"============================================"
echo"EndStartingDATABASE"
echo"============================================"
停止脚本db2inst1stop.sh内容如下:
echo"============================================"
echo"BeginStoppingDATABASE"
echo"============================================"
su-db2inst1-cdb2"forceapplicationall"
sleep10
su-db2inst1-cdb2stopforce
su-db2inst1-cdb2_kill
sleep2
echo"============================================"
echo"EndStoppingDATABASE"
echo"============================================"
备份数据库系统
启动脚本db2inst2start.sh内容如下:
echo"============================================"
echo"BeginStartingDATABASE"
echo"============================================"
cp/etc/haapp/db2hascript/db2nodes.cfg/db2home/db2inst2/sqllib/db2nodes.cfg
su-db2inst2-cdb2start
echo"============================================"
echo"EndStartingDATABASE"
echo"============================================"
停止脚本db2inst2stop.sh内容如下:
echo"============================================"
echo"BeginStoppingDATABASE"
echo"=========