SUSE Linux上安装DB2 数据库笔记
一、环境准备
1. 系统要求
- 操作系统:SUSE Linux Enterprise Server 12 SP5 或更高版本
- 内存:至少4GB RAM(推荐8GB或以上)
- 磁盘空间:至少10GB可用空间(根据数据量需求调整)
- 依赖包:确保已安装以下依赖包:libaio、numactl、ksh、pdksh、gcc、make
2. 创建用户和组
DB2需要一个专用的用户和组来运行实例。
# 创建db2组 groupadd -g 1000 db2iadm1 groupadd -g 1001 db2fadm1 # 创建db2用户 useradd -u 1000 -g db2iadm1 -m -d /home/db2inst1 db2inst1 useradd -u 1001 -g db2fadm1 -m -d /home/db2fenc1 db2fenc1 # 设置密码 passwd db2inst1 passwd db2fenc1
3. 检查系统参数
确保系统参数满足DB2的要求,特别是文件句柄数和进程数。
# 检查当前文件句柄限制 ulimit -n # 检查当前进程数限制 ulimit -u # 临时调整(重启后失效) ulimit -n 65536 ulimit -u 16384 # 永久调整需修改 /etc/security/limits.conf echo "db2inst1 soft nofile 65536" >> /etc/security/limits.conf echo "db2inst1 hard nofile 65536" >> /etc/security/limits.conf echo "db2inst1 soft nproc 16384" >> /etc/security/limits.conf echo "db2inst1 hard nproc 16384" >> /etc/security/limits.conf
二、下载和解压DB2安装包
1. 下载DB2安装包
从IBM官网下载适用于Linux的DB2安装包,例如DB2 v11.5。
2. 解压安装包
# 假设安装包为 v11.5_linuxx64_server.tar.gz tar -zxvf v11.5_linuxx64_server.tar.gz # 进入解压后的目录 cd server
三、安装DB2
1. 运行安装程序
以root用户执行安装脚本。
# 启动图形化安装界面(如果有X Window) ./db2setup # 或使用命令行安装 ./db2_install
2. 选择安装组件
在安装过程中,根据需要选择要安装的组件,通常包括数据库服务器、客户端工具等。
3. 配置响应文件(可选)
对于自动化安装,可以使用响应文件。
# 生成响应文件模板 ./db2setup -r response_file.rsp # 编辑响应文件后执行静默安装 ./db2setup -r response_file.rsp
四、创建DB2实例
1. 切换到db2inst1用户
su - db2inst1
2. 创建实例
# 创建名为db2inst1的实例 db2icrt -u db2fenc1 db2inst1
3. 启动实例
# 启动实例 db2start # 验证实例状态 db2 get instance
五、配置DB2
1. 设置环境变量
将DB2的环境变量添加到用户的profile文件中。
# 编辑 .bash_profile vi ~/.bash_profile # 添加以下内容 if [ -f /home/db2inst1/sqllib/db2profile ]; then . /home/db2inst1/sqllib/db2profile fi # 使配置生效 source ~/.bash_profile
2. 创建数据库
# 创建示例数据库 db2 create database sample # 连接到数据库 db2 connect to sample # 查看数据库信息 db2 list database directory
3. 配置TCP/IP通信
编辑实例配置文件,启用TCP/IP通信。
# 编辑 db2cptsa.cfg vi /home/db2inst1/sqllib/db2cptsa.cfg # 添加或修改以下内容 SVCENAME DB2_db2inst1 TCPPORT 50000 # 更新实例配置 db2 update dbm cfg using SVCENAME DB2_db2inst1 db2set DB2COMM=TCPIP # 重启实例使配置生效 db2stop db2start
六、常见问题及解决方法
1. 依赖包缺失
如果在安装过程中出现依赖包缺失的错误,使用zypper安装相应的包。
zypper install libaio numactl ksh pdksh gcc make
2. 权限问题
确保db2inst1用户对相关目录有足够的权限。
chown -R db2inst1:db2iadm1 /home/db2inst1 chmod -R 755 /home/db2inst1
3. 端口被占用
如果TCP端口被占用,修改SVCENAME或TCPPORT。
# 查看端口占用情况 netstat -tulpn | grep 50000 # 修改端口 db2 update dbm cfg using SVCENAME DB2_db2inst1_NEW db2set DB2COMM=TCPIP db2stop db2start
七、总结
本文详细介绍了在SUSE Linux上安装DB2数据库的步骤,包括环境准备、安装过程、实例创建和配置。通过遵循这些步骤,您应该能够成功安装和配置DB2数据库。在实际操作过程中,可能会遇到各种问题,需要根据具体情况进行排查和解决。