
比如你是user1,
想要创建表到user2下面,默认情况下用user1登陆的时候,表是创建在user1模式下面的。
如下:
db2==>
connect
to
TESTDB
user
user1
using
"xxxxxx"
db2==>
create
table
user2.tbl1(id
int
not
null
primary
key,
c1
char(20))
这样,创建的表就在user2这个模式下面了。
一、创建用户和组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”
一、建表空间和数据库1.在db2ad、db2db和db2ap上均执行:
[sql] view plaincopy
db2set db2comm=tcpip
db2set db2codepage=1386
2.新建数据库:
[sql] view plaincopy
db2 create db <dbname>using codeset gbk territory CN collate using identity
3.连接上数据库:
[sql] view plaincopy
db2 "connect to <dbname>"
4.创建缓冲池 + 建立表空间;
1).删除旧的表空间:
[sql] view plaincopy
db2 drop tablespace tablespace1, tablespace2, tablespace3
2).新建缓冲池:
[sql] view plaincopy
db2 create bufferpool bp32k all nodes size -1 pagesize 32k
bp32k为该缓冲池的名称;
32K为页大小;
size=-1表示使用缺省的buffpage,而buffpage可以通过db2 get db cfg|grep -i buff参数查看到;
3).新建表空间:
[sql] view plaincopy
db2 "create regular tablespace tablespace1 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace1' 5g) bufferpool bp32k"
db2 "create regular tablespace tablespace2 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace2' 10g) bufferpool bp32k"
db2 "create regular tablespace tablespace3 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace3' 2g) bufferpool bp32k"
注意(file '/usr/yixiayizi/tablespace1' 5g)的设置:
第一个参数:
当指向外置盘时,file改为device;
当指向文件路径时,为file;
第二个参数:需要是绝对路径;
第三个参数:该表空间的大小;
关于表空间和缓冲池的说明见如下网页:
http://www.ibm.com/developerworks/cn/data/library/techarticles/0212wieser/0212wieser.html
5.调整表空间大小:
[sql] view plaincopy
ALTER TABLESPACE <tablespace1>RESIZE ( FILE '/cstp/usr/db2ad/db2ad/ <tablespace1>' 5g )
6.调整缓冲池大小:
[sql] view plaincopy
db2 alter bufferpool bp32k size 2g
--------------------------------------------------------------------------------------------
远程客户端的配置网络:
1.db2ad账户下:
1). 首先查看/etc/services中db2各个服务的端口号:
more /etc/services
可以看到如下信息:
DB2_db2ad 60040/tcp
DB2_db2ad_1 60041/tcp
DB2_db2ad_2 60042/tcp
DB2_db2ad_END 60043/tcp
2).
[sql] view plaincopy
db2 update dbm cfg using SVCENAME DB2_db2ad
这样在服务端实例对应的端口号就是60040;
------------
2.db2db账户下:
1).
[sql] view plaincopy
db2 catalog tcpip node <node_name>remote 172.17.252.214 server 60040
(上面 *** 作的反编目:db2 uncatalog node <node_name>)
2).db2 list node directory可以看到如下信息:
Node Directory
Number of entries in the directory = 1
Node 1 entry:
Node name = <node_name>
Comment=
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = 172.17.252.214
Service name = 60040
3).
[sql] view plaincopy
db2 catalog db <dbname>at node <node_name>
(上面 *** 作的反编目:db2 uncatalog db <dbname>)
4).db2 list db directory可以看到如下信息:
System Database Directory
Number of entries in the directory = 1
Database 1 entry:
Database alias = <dbname>
Database name= <dbname>
Node name= <node_name>
Database release level = c.00
Comment =
Directory entry type = Remote
Catalog database partition number= -1
Alternate server hostname=
Alternate server port number =
--编目系统数据库目录
-----------------------
授权:
在db2ad账户下,给db2db授权使用表空间:
[sql] view plaincopy
db2 "grant use of tablespace <tablespace1>to user db2db"
db2 "grant use of tablespace <tablespace2>to user db2db"
db2 "grant use of tablespace <tablespace3>to user db2db"
二、建表
切换到db2db用户,执行建表的sql语句:
db2 -vf tmp.sql
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)