如何建立DB2分区数据库

如何建立DB2分区数据库,第1张

熟悉IBM DB2 UDB的都知道,构筑DB2数据库对象的层次关系,既每台物理机器可以配置多个实例,而每个实例是一个独立的运行环境,在每个实例下可以创建多个数据库,每个数据库可以有多个表空间,而数据库中的表会存放在这些表空间中。那分区数据库中他们的关系又如何,是如何分区的呢?本文就分区数据库的基本概念做简单介绍。

有了数据库分区后,在原来构筑DB2数据库对象的层次关系里发生了一些变化,实例增加了一个物理特性,就是实例所拥有的数据库分区,为了使使用者能够充分利用分区数据库的特性,在数据库和表空间之间增加了一层,——数据库分区组。与之相关的名词包括数据库分区,数据库分区组,分区映射,分区键,下面就详细解释一下:

数据库分区 首先说一下什么是数据库分区,数据库分区是DB2数据库的一部分,由它自己的数据、索引、配置文件和事务日志组成。分区数据库就是具有两个或多个分区的数据库。这样,表就可以位于一个或多个数据库分区中。与每个数据库分区相关联的处理器都用来满足表请求。数据检索和更新请求将自动分解为子请求,并在适当的数据库分区中并行执行。

数据库分区组 数据库分区组是一个或多个数据库分区的集合。想要为数据库创建表时,首先创建用来存储表空间的数据库分区组,然后创建用来存储表的表空间。

可以在数据库中定义一个或多个数据库分区组成的命名子集。您定义的每个子集称为 数据库分区组 。包含多个数据库分区的每个子集称为 多分区数据库分区组 。多分区数据库分区组只能使用属于相同实例的数据库分区定义。

图1 给出了一个含五个分区的数据库示例,在这个示例中:

登录到AIX上

cd 到DB2 安装路径\instance

su 到root

db2icrt 创建实例

su db2 user

db2 create db 创建DB

一、创建用户和组

1、使用root用户添加系统用户

/usr/sbin/groupadd -g 1997 db2igrp

#instance所在的group,加入这个group的所有用户都具有DBA权限/usr/sbin/groupadd -g 1998 db2fgrp

#fenced用户所在的group/usr/sbin/useradd -u 1997 -g db2igrp -d /cbusdb/db2inst1 db2inst1

#db2inst1用户/usr/sbin/useradd -u 1998 -g db2fgrp -d /cbusdb/db2fenc1 db2fenc1

#db2fenc1用户/usr/sbin/groupadd db2fadmin

/usr/sbin/useradd -g db2fadmin db2admin

2、使用root用户添加数据库账号

/opt/ibm/db2/V10.5/instance/db2icrt -s ese -u db2fenc1 db2inst1

#在所有的机器上,使用root用户,建立db2 admin server:

/opt/ibm/db2/V10.5/instance/dascrt -u db2admin#启动db2 admin server:

db2admin start

3、修改节点配置文件

#vim /cbusdb/db2inst1/sqllib/db2nodes.cfg0 cbusdb01 0

1 cbusdb01 1

2 cbusdb02 0

3 cbusdb02 1

4、修改实例参数

su - db2inst1

db2iauto -on db2inst1

db2set DB2_SKIPINSERTED=on

db2set DB2_USE_ALTERNATE_PAGE_CLEANING=ondb2set DB2_EVALUNCOMMITTED=on

db2set DB2_SKIPDELETED=on

db2set DB2COMM=TCPIP

db2set DB2FCMCOMM=TCPIP4

db2set DB2RSHCMD=/bin/rsh

#注意如果配置的ssh则此处需要修改成

db2set DB2RSHCMD=/usr/bin/ssh

db2set DB2CODEPAGE=1386

db2set DB2TERRITORY=86

db2set DB2_PARALLEL_IO=*

5、配置服务端口

DB2c_db2inst1 61000/tcp

DB2_db2inst1 61001/tcp

DB2_db2inst1_1 61002/tcp

DB2_db2inst1_2 61003/tcp

DB2_db2inst1_3 61004/tcp

DB2_db2inst1_4 61005/tcp

DB2_db2inst1_END 61008/tcp

6、调整系统参数,设置dpf所需的资源

/sbin/sysctl -w kernel.sem=“250 32000 32 1024”/sbin/sysctl -w kernel.msgmnb=16384

/sbin/sysctl -w kernel.msgmni=1024

/sbin/sysctl -w kernel.msgmax=8192

/sbin/sysctl -w kernel.shmmni=4096

/sbin/sysctl -w kernel.shmall=2097152

/sbin/sysctl -w kernel.shmmax=1073741824

7、修改环境变量

cat 。/sqllib/db2profile 》.profile

vi .bash_profile #添加如下信息:

/cbusdb/db2inst1/sqllib/db2profile

二、配置主机名

分别在两台主机上修改如下文件:

#vi /etc/sysconfig/network

#-------------------------

#NETWORKING=yes

#HOSTNAME=cbusdb01

#-------------------------

#vi /etc/hosts

#-------------------------

#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 cbusdb01#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6#192.168.1.122 cbusdb01

#192.168.1.123 cbusdb02

#-------------------------

三、配置rsh

rsh是远程运行shell的服务.db2使用rsh服务运行启动和停止数据库服务器的命令,以及大部分管理命令。

1、安装rsh

#yum install rsh*

2、配置rsh的安全文件

#vi /etc/securetty

#add the content

#------------------

#rsh

#rlogin

#rexec

#------------------

3、修改rsh的配置参数/etc/xinetd.d/rsh ##在生产环境建议配置ssh免密登录

#vi /etc/xinetd.d/rsh

service shell

{

socket_type = stream

wait = no

user = root

log_on_success += USERID

log_on_failure += USERID

server = /usr/sbin/in.rshd

disable = no

}

4、修改rsh的配置文件rlogin

#vi /etc/xinetd.d/rlogin

service login

{

disable = no

socket_type = stream

wait = no

user = root

log_on_success += USERID

log_on_failure += USERID

server = /usr/sbin/in.rlogind

}

4、免密登陆,实例用户db2inst1的家目录中创建.rhosts文件

cat $HOME/.rhosts

cbusdb01 db2inst1

cbusdb02 db2inst1

5、CentOS7.0需要单独下载xinetd

yum install xinetd #低于此版本可不下载

6、重启rsh服务

service xinetd restart

7、验证rsh服务

rsh cbusdb01 date

rsh cbusdb02 date

#db2_all echo hi 没有返回

yum install ksh

四、配置时钟服务器

1、安装ntp服务器

#yum install ntp*

# ntpdate -u 202.112.10.36

#ntpdate cn.pool.ntp.org

#service ntpd start

#chkconfig ntpd on

2、修改ntp配置

#允许内网其他机器同步时间

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

#互联网时间服务器

server 210.72.145.44 perfer # 中国国家受时中心server 202.112.10.36

# 1.cn.pool.ntp.orgserver 59.124.196.83

# 0.asia.pool.ntp.org#允许上层时间服务器主动修改本机时间

restrict 210.72.145.44 nomodify notrap noquery

restrict 202.112.10.36 nomodify notrap noquery

restrict 59.124.196.83 nomodify notrap noquery

#外部时间服务器不可用时,以本地时间作为时间服务

server 127.0.0.1

fudge 127.0.0.1 stratum 10

3、修改时区

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

clock -w

4、在节点2上配置时钟服务器

*/5 * * * * /usr/sbin/ntpdate cbusdb01

五、配置nfs服务

1、yum install nfs*

# yum install portmap rpcbind #安装nfs客户端

2、配置需要共享的资源

#vi /etc/exports

/cbusdb *(rw,sync,no_root_squash)

/cbusdblog *(rw,sync)

3、启动nfs server

service rpcbind start

service nfs start

service nfslock restart

4、导出资源

exportfs -rv

5、显示NFS Server上所有的共享卷

showmount -e

6、在客户端挂载共享目录

#mount 192.168.1.122:/cbusdb /cbusdb

#vi /etc/fstab

cbusdb01:/cbusdb /cbusdb nfs rw,timeo=300,retrans=5,hard,intr,bg,nolock,suid

六、关闭selinux

vim /etc/sysconfig/selinux

#SELINUX=disabled

七、测试、创建数据库

1、启动数据库

#db2start

2、创建数据库

#db2 “create db cbusdb on /cbusdblog using codeset gbk territory cn”


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9423346.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存