DB2在Linux下静默安装

2023-05-16

目录

      • 前言
      • 1. 下载并上传db2压缩包到Linux
      • 2. 检测db2安装环境
      • 3. 安装db2数据库软件
      • 4. 配置db2数据库系统用户
      • 5. 创建数据库实例
      • 6. 配置TCP/IP通信服务
      • 7. 配置数据库
      • 8. 启动和关闭数据库实例
      • 9. 修改权限
      • 10 数据库客户端和工具链接
      • 11. 创建数据库多实例

前言

db2是IBM公司开发的一款重型数据库,和oracle数据库差不多,但就整体安装来看比Oracle安装要简单得多,本此安装db2的Linux环境是Redhat Enterprise Linux 8.6(没有安装图形化界面,所以全程安装都是敲命令,大多数程序员都喜欢的一种安装方式),db2的版本是V10.5(当前最新的版本是V11),下面就开始。

在这里插入图片描述

1. 下载并上传db2压缩包到Linux

db2下载地址
执行tar -zxvf v10.5_linuxx64_expc.tar.gz解压
在这里插入图片描述

IBM官网下载需要注册IBM账号,但是现在即使注册了,再点击下载链接时会重定向跳转,然后就没有然后了,进入不了下载页面,所以在这里提供db2下载(百度网盘保存的),将下载好的压缩包上传到Linux,我习惯上传到/usr/local/src目录下(上传的目录可以根据自己的喜好存放在哪里,这里没有特殊要求)

2. 检测db2安装环境

cd /usr/loca/src/expc目录下,执行 ./db2prereqcheck命令检查db2安装环境
在这里插入图片描述

(1)修复找不到libpam.so*
	yum install pam-devel.i686

(2)修复libstdc++.so.5(我这里就不修复了,这个不修复对使用DB2没有影响)

(3)禁用SELinux
	vim /etc/selinux/config文件,修改SELinux=disabled

(4)关闭防火墙服务并关闭随开机启动
	systemctl stop firewalld 
	systemctl disable firewalld
做完以上操作最好执行下init 0(或是reboot)重启下Linux系统.	

3. 安装db2数据库软件

cd /usr/local/src/expc目录下执行 ./db2_install 安装数据库程序

在这里插入图片描述

输入yes,回车

在这里插入图片描述

最后出现如下图所示表示db2安装成功

在这里插入图片描述

4. 配置db2数据库系统用户

groupadd db2adm1
groupadd db2fen1
useradd -d /home/db2inst1 -m db2inst1 -g db2adm1
chown -R db2inst1   /home/db2inst1/
useradd -d /home/db2fenc1 -m db2fenc1 -g db2fen1 
chown -R db2fenc1   /home/db2fenc1/
passwd   db2inst1
passwd   db2fenc1
这里密码都设置成123456

在这里插入图片描述

5. 创建数据库实例

cd /opt/ibm/db2/V10.5/instance/
# 创建一个叫db2inst1的实例
./db2icrt -u db2fenc1 db2inst1
如下图所示表示数据库实例创建成功

在这里插入图片描述

6. 配置TCP/IP通信服务

在/etc/services中添加以下内容
echo 'db2c_db2inst1   50010/tcp'  >>  /etc/services
cat /etc/services
如下图所示即可

在这里插入图片描述

7. 配置数据库

(1)配置数据库管理
切换到db2inst1用户
su - db2inst1
db2start
执行下面两个命令
db2 update dbm cfg using SVCENAME db2c_db2inst1
db2set DB2COMM=TCPIP

在这里插入图片描述

(2)创建数据库和表
查看实例
db2 get instance
创建数据库
db2 create database jamy using codeset GBK territory cn pagesize 8192
查看创建的数据库
db2 list db directory
连接到数据库
db2 connect to jamy
查看当前数据库下的表空间
db2 list tablespaces
创建表
db2 "create table tb_user(name varchar(50),age int,address varchar(200))"
查看表
db2 list tables

创建数据库
在这里插入图片描述
查看表空间
在这里插入图片描述
创建表
在这里插入图片描述

(3)数据库编目(不做这一步处理,数据库客户端无法连接上)
进入数据库操作
查找节点目录
db2 list node directory
查看数据库目录
db2 list db directory
编目节点
db2 catalog TCPIP  node n_131 remote 192.168.227.189 server 50010
编目数据库(这一步可以不做)
db2 catalog db jamy as jamy at node n_131

在这里插入图片描述

注意: 如果要取消可以进入下操作
取消数据库编目
db2 uncatalog db test
取消节点编目
db2 uncatalog db n_131

8. 启动和关闭数据库实例

(1) 启动 
db2start

(2) 关闭
db2 force application all
db2stop
或者是
db2stop force

9. 修改权限

以root用户依次修改每个实例的db2chpw、db2ckpw文件权限,如下操作,否则无法用客户端工具连接数据库,在 db2inst1/sqllib/security 目录下,检查 db2ckpw 和 db2chpw 文件的权限:
db2ckpw 的作用是用于检查 DB2 服务器上的用户标识和密码。由于 DB2 依赖于操作系统级别的认证,因此,当某个用户或应用程序连接到服务器上的数据库时,使用该进程验证用户标识和密码。当将 AUTHENTICATION 设置为 SERVER 时,或者当连接是从非安全的操作系统建立的时候,就会进行认证。验证权限需要检查 passwd 文件,ckpw 顾名思义就是 Check Password file 的含义,正因为如此,这个工具必须以 root 运行,需要远程连接时必须保证该权限
切换到root用户下:
su - root 
cd /home/db2inst1/sqllib/security/
ls -la 查看下,如果如图所示这样就不选要执行下面的命令,否则要执行下,不然会影响数据库客户端工具的连接
chown root db2chpw 
chown root db2ckpw 
chmod 4511 db2chpw 
chmod 4511 db2ckpw

在这里插入图片描述

10 数据库客户端和工具链接

这里我用的是Dbvisualizer工具,版本是12专业版
在这里插入图片描述

在这里插入图片描述
这里在点击连接之前最好重启下db2数据库

在这里插入图片描述
在这里插入图片描述
如图所示连接成功,tb_user就是我们刚才创建的表
在这里插入图片描述
在这里插入图片描述

11. 创建数据库多实例

其实在数据库服务器硬件比较好的情况完全可以在一台服务器上创建多个数据库实例,这样可以把服务器资源最大化利用起来,创建多实例其实就是在刚才的基础上把第4步到第十步在做一遍,具体操作如下,我就不做具体说明了:

#创建jamysong用户
useradd -d /home/jamysong -m jamysong -g db2adm1      
chown -R jamysong   /home/jamysong/
passwd  jamysong        #给jamyson用户设置密码

#创建数据库实例jamysong,实例名要与创建的用户名一致
cd /opt/ibm/db2/V10.5/instance/     
./db2icrt -u db2fenc1 jamysong

#配置TCP/IP通信服务      
echo 'db2c_jamysong   50020/tcp'  >>  /etc/services
cat /etc/services

#配置数据库
su - jamysong
db2start
db2 update dbm cfg using SVCENAME db2c_jamysong
db2set DB2COMM=TCPIP

#创建数据库(这里的数据库名可以自定义,不用非要和我这里的一样)
db2 get instance
db2 create database jamy using codeset GBK territory cn pagesize 8192
db2 list db directory
db2 connect to jamy
db2 list tablespaces

#创建表(这里的表名可以自定义,不用非要和我这里的一样)
db2 "create table tb_user(name varchar(50),age int,address varchar(200))"
db2 list tables

数据库编目(不做这一步处理,数据库客户端无法连接上)
db2 list node directory
db2 catalog TCPIP  node n_131 remote 192.168.227.189 server 50020
db2 catalog db jamy as jamy at node n_131
db2 list node directory

#重启数据库
db2stop force
db2start

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DB2在Linux下静默安装 的相关文章

  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 为什么 Linux perf 使用事件 l1d.replacement 来处理 x86 上的“L1 dcache misses”?

    在英特尔 x86 上 Linux用途 https stackoverflow com a 52172985 149138事件l1d replacements来实施其L1 dcache load misses event 该事件定义如下 计数
  • 从 Python 调用 PARI/GP

    我想打电话PARI GP http pari math u bordeaux fr dochtml gpman html仅从Python计算函数nextprime n 对于不同的n是我定义的 不幸的是我无法得到帕里蟒蛇 http code
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • NPTL 和 POSIX 线程有什么区别?

    NPTL 和 POSIX 线程之间的基本区别是什么 这两者是如何演变的 POSIX 线程 pthread 不是一个实现 它是几个函数的 API 规范 纸上的标准 英文 其名称以pthread 以及定义在
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • ftrace:仅打印trace_printk()的输出

    是否可以只转储trace printk 输出于trace文件 我的意思是过滤掉函数跟踪器 或任何其他跟踪器 中的所有函数 一般来说 您可以在选项目录中关闭选项 sys kernel debug tracing options Use ls显
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • Linux 上有关 getBounds() 和 setBounds() 的 bug_id=4806603 的解决方法?

    在 Linux 平台上 Frame getBounds 和 Frame setBounds 的工作方式不一致 这在 2003 年就已经有报道了 请参见此处 http bugs java com bugdatabase view bug do

随机推荐

  • Window10系统快捷方式小箭头的去除与恢复

    复制下面的代码 新建一个文本文件 粘贴后另存为 bat文件 xff0c 然后以管理员身份打开就可以去掉桌面上图标的小箭头或恢复桌面上图标的小箭头 去掉小箭头 span class token variable reg span span c
  • SUSE系统设置

    目录 1 防火墙设置2 配置ssh服务3 修改hostname4 配置ip dns 网关5 配置镜像源6 配置apache 服务器7 安装ping命令 1 防火墙设置 span class token variable SUSE11下 xf
  • mysql8.0多实例安装

    目录 1 下载mysql二进制安装包2 解压mysql二进制安装包3 创建mysql用户和用户组4 编辑my cnf文件5 初始化mysql实例6 启动mysql实例7 登录mysql实例 1 下载mysql二进制安装包 mysql8 0
  • oracle12c数据库安装(静默安装)

    目录 前言1 安装前准备工作2 安装数据库软件3 配置监听4 创建数据库 前言 本教程是在Linux下安装oracle12c数据库 xff0c 由于在有些情况下并没有图形化安装界面 xff0c 所以这里介绍在linux下通用的安装方式 xf
  • oracle19c数据库安装(静默安装)

    目录 前言1 安装前准备工作2 安装数据库3 配置监听4 创建数据库 前言 oracle19c数据库安装相对于oracle12c安装还是有些不一样的 xff0c 所以今天再来记录一下安装过程 xff0c 本次安装仍然是基于Oracle li
  • Apollo配置中心搭建

    目录 1 下载安装包和源码包2 创建数据库和表3 启动Apollo服务端4 访问Apollo客户端 1 下载安装包和源码包 下载地址 找到要安装的版本 xff0c 我这里选择的是1 3 0版本 下载好安装包后上传至linux的 usr lo
  • linux下搭建redis集群

    目录 1 准备三台服务器2 配置服务器3 安装redis4 配置集群5 测试集群 1 准备三台服务器 这是准备的三台服务器IP地址如下 xff0c 首先需要执行ping ip地址 xff0c 检查三台服务器之间是否能够相互通信 xff0c
  • linux下搭建redis哨兵

    1 准备三台Linux服务器 span class token variable 准备以下三台服务器 span span class token number 192 168 span span class token number 227
  • linux下安装elasticsearch

    目录 1 准备一台服务器2 下载elasticsearch安装包3 安装elasticsearch 1 准备一台服务器 这里使用的时redhat8 5 红帽新版的系统 xff0c 这里给的内存大小时4G 2 下载elasticsearch安
  • 用命令语句修改mysql某字段长度

    在MySQL中修改某个字段的长度 xff0c 需要使用ALTER TABLE语句 xff0c 具体操作如下 xff1a 假设要修改表A中的字段col1的长度为50 ALTER TABLE A MODIFY col1 VARCHAR 50 以
  • maven打普通包jar包(依赖一并打入)

    1 创建一个maven项目 这里可以看到新创建的maven项目 2 在pom xml添加项目需要的依赖 span class token generics span class token punctuation lt span depen
  • 纯Java项目批处理(打包方法二)

    1 创建一个普通的Java项目 主类 span class token keyword public span span class token keyword class span span class token class name
  • myCat搭建mysql的两主两从读写分离

    目录 前言1 搭建两主两从 xff08 主从复制 xff09 2 测试主从复制效果3 修改myCat配置文件4 启动myCat5 测试效果 前言 这里为了方便快速搭建我是使用docker容器完成的mysql实例 和使用在linux上安装的m
  • Red Hat Enterprise Linux9安装

    目录 前言1 启动iso镜像进入安装首页2 选择语言3 进入安装摘要界面4 选择安装目的地5 禁用KDUMP6 软件选择7 网络和主机名8 设置root用户密码9 开始安装10 重启11 登录系统12 挂载系统iso镜像13 配置本地镜像源
  • epel在线镜像源

    目录 前言阿里云镜像源腾讯镜像源华为镜像源清华大学镜像源中国科技大学镜像源 前言 此epel镜像源适用于红帽系列系统 xff0c 如Red Hat Enterprise CentOS AnoliOS Rocky Linux Almalinu
  • SUSE本地镜像源配置

    SUSE Enterprise Linux 11 12镜像源配置 mount dev sr0 mnt zypper ar file mnt local sles SUSE Enterprise Linux 15镜像源配置 先执行 mount
  • MyCat2搭建mysql主从分离

    前言 此次搭建MyCat2读写分离使用的Linux环境是Debian11 3 xff0c 使用的mysql版本是8 0 16 1 准备三台服务器 准备如下三台Debian服务器 xff0c 而且这三台服务器之间能够相互通信 xff0c 可以
  • Debian11安装redis报错解决方法

    1 报错需要安装C语言编译环境 执行apt install gcc 安装C语言编译环境 2 报错冲突 Conflicts 这里在执行apt install gcc命令后出现两gcc的版本 xff0c 这里执行apt install gcc
  • sqlserver在linux下安装

    前言 本次安装的sqlserver用的是sqlserver2017 linux环境是redhat Linux8 6 xff0c 本次采用是离线rpm安装 安装过程总体感觉比MySQL还要容易 xff0c 初步使用起来感觉和mysql差不多
  • DB2在Linux下静默安装

    目录 前言1 下载并上传db2压缩包到Linux2 检测db2安装环境3 安装db2数据库软件4 配置db2数据库系统用户5 创建数据库实例6 配置TCP IP通信服务7 配置数据库8 启动和关闭数据库实例9 修改权限10 数据库客户端和工