一、准备环境:
介质: db2 v11 redhat7.3
关闭selinux#setenforce 0
#vi /etc/selinux/config
修改如下:
SELINUX=disabled#重启生效vim /etc/yum/pluginconf.d/subscription-manager.confenabled=0 #将它禁用掉配置本地yum
安装db2所需系统包
Validating "/lib/libpam.so" ...
DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: "/lib/libpam.so".
WARNING : Requirement not matched.
Requirement not matched for DB2 database "Server" with pureScale feature . Version: "11.1.3.3".
Summary of prerequisites that are not met on the current system:
DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: "/lib/libpam.so*".
DBT3514W The db2prereqcheck utility failed to find the following 32-bit library file: "libstdc++.so.6".
Required minimum version for "ksh": "20100621"
Actual version is undetermined
DBT3507E The db2prereqcheck utility failed to find the following package or file: "kernel-devel".
DBT3507E The db2prereqcheck utility failed to find the following package or file: "gcc-c++".
DBT3507E The db2prereqcheck utility failed to find the following package or file: "cpp".
DBT3507E The db2prereqcheck utility failed to find the following package or file: "gcc".
DBT3563E The db2prereqcheck utility determined that SELinux is enabled, which is not supported with GPFS.
yum install libstdc++.i686
yum install pam-devel.i686
yum groupinstall 'Infiniband Support'
yum install gcc
yum install cpp
yum install gcc-c++
yum install kernel-devel
yum install ksh
yum install ntp
yum install sg3_utils
yum install libstdc++.so.6
yum install pam32
yum install libcxgb
yum install m4
yum install binutils-devel
yum install patch
提示libstdc++.so.5 is needed by 需要安装 包含 libstdc .so.5 的 compat-stdlibc rpm
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.i686.rpm
修改/etc/hosts如下配置:
vi /etc/hosts
127.0.0.1 localhost
修改系统内核参数
# vi /etc/sysctl.conf
kernel.shmmax = 137438953472 --设置为物理内存的一半或稍大
kernel.shmall = 67108864
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default=262144net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
二、安装DB2软件
root用户执行df -h 确保空间大小满足条件vi /etc/security/limits除notice之外设置参数为-1mkdir /tmp/db2v11chown db2inst1:db2iadm1 /tmp/db2v11上传介质chmod -R 777 /tmp/db2v11gzip -d product.tar.gztar xvf product.tar安装前验证 参考官网 https://www.ibm.com/docs/en/db2/11.1?topic=servers-linux./db2prereqcheck安装
./db2_install
安装目录,选择推荐目录即可(可以修改目录,如果不修改/预留大小为6G)
Enter "help" to redisplay product names. --------------- 选择安装产品类型,这里选择SERVER
Do you want to install the DB2 pureScale Feature? [yes/no] ---------------- 选择是否安装pureScale功能,这里选择不安装
生成如下目录
/opt/ibm/db2/V11.1
/tmp/生成install日志,查看并确认
三、创建Instance
1. 创建DB2实例
以下操作全部以root用户执行
groupadd db2iadm1
groupadd db2fadm1
useradd db2inst1 -G db2iadm1
passwd db2inst1
Changing password for user db2inst1.
New password: input your password
Retype new password: retype input your password
useradd db2fenc1 -G db2fadm1
cd /opt/ibm/db2/V11.1/instance/
./db2icrt -a server -p 50000 -u db2fenc1 db2inst1
开放端口50000,以便用户可以访问
firewall-cmd --zone=public --add-port=50000/tcp --permanent
systemctl stop firewalld.service
systemctl start firewalld.service
2. 激活license
以下操作全部以db2inst1用户执行
查看license信息
db2licm -l
license激活
db2licm -a /usr/local/src/db2ese_c.lic
方式二 指定 用户ID和密码创建用户和组
用户用途 用户名 用户组
实例所有者 db2inst1 db2iadm1
受防护的用户 db2fenc1 db2fadm1
# groupadd -g 1011 db2iadm1
# groupadd -g 1012 db2fadm1
# useradd -u 1013 -g db2iadm1 -d /home/db2inst1 -m db2inst1
# useradd -u 1014 -g db2fadm1 -d /home/db2fenc1 -m db2fenc1
# echo 'db2inst1' |passwd --stdin db2inst1
# echo 'db2fenc1' |passwd --stdin db2fenc1#cd /opt/ibm/db2/V11.1/instance#./db2icrt -a server -p 50000 -u db2fenc1 db2inst1
The execution completed successfully.
For more information see the DB2 installation log at "/tmp/db2icrt.log.9503".
DBI1070I Program db2icrt completed successfully.
2. 激活license
以下操作全部以db2inst1用户执行
查看license信息
db2licm -l
license激活
db2licm -a /usr/local/src/db2ese_c.lic
创建DB文件系统并赋权给用户db2inst1
# chown db2inst1:db2iadm1 /data
# chown db2inst1:db2iadm1 /db2log
# chown db2inst1:db2iadm1 /db2arch
四、配置并启动Instance
/opt/ibm/db2/V11.1/instance/db2ilist
db2inst1
(1) 修改db2nodes.cfg
位置在instance用户的$HOME/sqllib/.文件格式是:
0 r201 0
1 r201 1
(2) 检查services文件(多节点配置自动生成多个服务端口)
vi /etc/services -G 跳到最后一行
DB2c_db2inst1 50000/tcp // 要与dbm SVCENAME一致
(3) 启动实例: --切换到db2inst1用户
配置环境变量 --root用户和db2inst1用户
vi ~/.bash_profile
$ vi ~/.bash_profile
./home/db2inst1/sqllib/db2profile # 增加该行代码
source ~/.bash_profile
$ source ~/.bash_profile
设置服务名称
$ db2 update dbm cfg using SVCENAME db2inst1
设置注册变量
$ db2set DB2COMM=tcpip
启动实例
$ db2start
五、创建DB
$ db2 "create db RESDB on /oradata4 using codeset UTF-8 territory cn"
DB20000I The CREATE DATABASE command completed successfully.
批注:创建数据库时若为指定路径,将使用默认路径,数据库用户的家目录,如下查看:
$ db2 get dbm cfg | grep -i DFTDBPATH
Default database path (DFTDBPATH) = /home/db2inst1
9.参数调整
$ db2 connect to resdb
$ db2iauto -on db2inst1 --设置数据库实例开机自启动
9.1参数调整
$ db2 update dbm cfg using SVCENAME 9999 DFT_MON_BUFPOOL on DFT_MON_UOW on NUM_POOLAGENTS 4100
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed successfully.
SQL1362W One or more of the parameters submitted for immediate modification
were not changed dynamically. Client changes will not be effective until the
next time the application is started or the TERMINATE command has been issued.
Server changes will not be effective until the next DB2START command.
批注:需要重启数据库生效
9.2日志调整
--日志位置和大小调整
$ db2 update db cfg for RESDB using NEWLOGPATH /db2log
$ db2 update db cfg for RESDB using LOGARCHMETH1 disk:/db2arch
$ db2 update db cfg for RESDB using LOGFILSIZ 25600 LOGPRIMARY 13 LOGSECOND 12 CATALOGCACHE_SZ 2048 LOGBUFSZ 4096 UTIL_HEAP_SZ 10240 DB_MEM_THRESH 100 DLCHKTIME 5000 LOCKTIMEOUT 15
9.3其他参数调整
db2set DB2_PARALLEL_IO=*
db2set DB2_SKIPINSERTED=YES
db2set DB2_USE_ALTERNATE_PAGE_CLEANING=YES
db2set DB2_EVALUNCOMMITTED=YES
db2set DB2_ANTIJOIN=EXTEND
db2set DB2_SKIPDELETED=YES
db2set DB2CODEPAGE=1208
参数调整完毕,数据库重启:
$ db2stop
01/23/2017 13:48:24 0 0 SQL1025N The database manager was not stopped because databases are still active.
SQL1025N The database manager was not stopped because databases are still active.
$ db2 force application all
DB20000I The FORCE APPLICATION command completed successfully.
DB21024I This command is asynchronous and may not be effective immediately.
$ db2stop
01/23/2017 13:49:39 0 0 SQL1064N DB2STOP processing was successful.
SQL1064N DB2STOP processing was successful.
$ db2start
01/23/2017 13:50:13 0 0 SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.
此时需要调整/etc/security/limits.conf配置文件
db2list1 soft nofile 65536
db2inst1 hard nofile 65536
db2inst1 soft nproc 65536
db2inst1 hard nproc 65536
原文链接: https://www.cnblogs.com/dahaoran/p/9191748.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/276183
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!