当前位置: 首页 > news >正文

【无标题】基于AIX的DB2 10.1安装配置规范

前言

IBM DB2已经非常成熟,目前网上关于DB2技术文档铺天盖地,但是真正适用于生产实战的是寥寥无几。文档质量,以及分享者的水平参差不齐。往往会误导我们。但是,杭州美创DB2技术团队早已对IBM DB2的掌握全面。并在实际应用中反复测试及生产部署总结出一套美创最佳实践,将在今后陆续发布。第一步,当然安装部署。今天我们就先从BD2 for AIX的部署开始。
整个文档分为以下几部分:

操作步骤 操作内容
Step 1 主机安装AIX操作系统
Step 2 配置双网卡绑定
Step 3 操作系统基础配置
Step 4 存储盘挂载
Step 5 10.1 DB2软件安装
Step 6 DB2数据库运维规范

本步骤忽略操作系统安装、主机存储网络配置步骤,只说明在操作系统相关安装配置结束后DB2相关实施过程。

一 安装配置规范

1.1DB2安装版本要求

  1. 如无特殊说明,所有生产系统的DB2数据库均使用DB2 64位,版本10.1;
  2. 所有安装DB2数据库Server端的主机上安装企业版(Enterprise Edition)产品;

1.2 安装DB2硬件要求

  1. 整个DB2的硬件环境包含一台主机、存储、网络设备
  2. 每台主机至少需要两块物理网卡,用于双网卡绑定,每台主机至少还要有一块HBA卡,通过光纤线连接到存储设备
主机配置
名称数量备注
物理网卡2张用于双网卡绑定
HBA1张content3

1.3 网络规划

1个公网IP地址

1.4存储划分

重要业务系统数据库,建议data和arch分别建立文件系统
文件系统建立镜像,且arch文件系统的大小为:以15日归档量的大小为最小容量(考虑到归档突增的情况)。

1.5 用户、组

用户名用户组名说明
db2inst1db2iadm1实例用户、用户组
db2fenc1db2fadm1受防护用户、用户组 该用户用于运行用户定义函数(UDF, user defined function)和存储过程(stored procedure)
dasusr1dasadm1DB2 管理服务器用户、用户组 该用户用于运行 DB2 管理服务器

1.6 文件系统、目录

1. 数据库软件安装目录默认为/opt/ibm/db2/V10.1
2. 数据库活动日志路径为/db2_log/db2inst1/NODE0000/SQL00001/SQLOGDIR/
3. 数据库归档日志路径目录为/db2_log/archive (不与在线日志路径相同)
以上文件系统目录不论是AIX、Linux都必须建立单独的lv设备,避免目录空间的互相影响。

1.7 数据库字符集

数据库字符集默认使用UTF-8,可视具体情况而定。

1.8 数据库命名规范

  1. 数据库名
    对每个系统创建一个尽量能够描述该系统的四个字母的缩写,为了表述方便,下文中标 记该缩写为XXXX,数据库名使用XXXX;
  2. 表空间名
    应用表空间使用数据库管理表空间(DMS),指定每个数据文件的页为1000,开启自动
    扩展。
    应用表空间命名规则:
    数据表空间为USER_DATA_TBS_yy,数据文件为USER_datayy,单个数据文件页大小为 1000
    索引表空间为USER_INDX_TBS_yy,数据文件为USER_indxyy,单个数据文件页大小为 1000
    注:USER为自定义用户名,为大写,yy两位为数字编号,从01开始,依次类推。

1.9 数据库文件存放

1. 数据库数据文件控制文件存放单独的文件系统/db2_data
2. 数据库活动日志默认在/db2_log/db2inst1/NODE0000/SQL00001/SQLOGDIR/
3. 数据库归档日志放文件系统/db2_log/archive(重要业务系统数据库,必须设归档日志,归档日志设置保留15天。)
4. 日志空间大小以及活动日志数量:
日志空间大小设置,日志空间大小由 3 个参数控制:logprimary. Logsecond 和 lofisiz。Logprimary 用来设置主日志文件个数,logsecond 参数用来设置辅助日志文件个数,logfilsiz 用来指定每个日志文件的页数,乘以 4 K 就是每个日志文件的大小(单位是 Byte)。因此,日志空间的最大限制就等于(logprimary+logsecond) logfilsiz4 K。
事务日志满不仅会丢失所做的操作,还可能需要很长的回滚时间,因此要尽量分配足够多的日志空间减少此类问题出现的几率。
根据最佳实践,我们一般将日志空间初始大小设置为数据库大小的 10%~20%之间,然后根据业务需求和监控结果进行相应调整。
对于 Logprimary 个数,一般情况下,也不要分配太多,因为它们会在数据库初始化时完全分配,如果每天的工作负载很小,可能会造成空间的浪费。可设置足够的 Logsecond 大小应对峰值的情况,比如月初或月末可能有比较大的事务处理。

注意:Logprimary+logsecond 不能超过 255,日志空间大小不能超过 256 GB。对 logprimary 和 logfilsiz 参数的更改需要断开连接,重新连接数据库才会生效,logsecond 参数的修改立即生效。logsecond 日志文件使用完后并不会立即删除,而是在所有连接断开并重新连接的时候才会删除。

1.10 备份数据库配置信息

数据库备份由新世纪提供NBU统一备份。

1.11 部署数据库监控脚本或者监控平台

二 环境描述:

2.1 硬件环境:

数据库名按应用需求视情况而定

实例名数据库名操作系统
db2inst1XXXXXX

2.2 软件环境

 操作系统:AIX
 数据库版本:DB2 10.1.0.5
 用户组和文件系统配置

软件组件用户主组辅助组软件目录
dh2softdb2inst1db2iadm1db2iadm1/opt/ibm/db2/10.1

三 安装前的检查和设置

3.1 网络需求

网络IP需事先配好,事先需要双网卡绑定。

3.2 创建用户(软件会自动创建非必须)

 mkgroup -A id=2000 db2iadm1
 mkgroup -A id=2001 dasadm1
 mkgroup -A id=2002 db2fadm1
 mkuser -a id=2000 pgrp=db2iadm1 db2inst1
 mkuser -a id=2001 pgrp=dasadm1 dasadm1
 mkuser -a id=2002 pgrp=db2fadm1 db2fenc1

passwd db2inst1
passwd dasadm1
passwd db2fenc1

3.3 修改系统参数

为了达到比较好的性能,有一些相关参数需要调整。我们是假定 AIX 系统是 5.3 或者更高版本来给的这些建议。此外如果在你的系统中已经有了一些特定的设置(如,一个 BW 或者 SAP 配置),那么它们提供的设置将比下面的通用指南有更高的优先级。
 VMO 参数LRU_FILE_REPAGE应该被设成 0 。这个参数是控制是否牺牲计算页或文件系统缓存页。另外,minperm 应该被设为 3 。 这两个参数值是 AIX6.1 里面默认值。
 AIO 参数的 maxservers 默认值可以不再是每个CPU 10个。系统一旦激活maxservers 就调整如下
1、收集ps – elfk | grep aio的输出并且判断是否所有的异步 I/O(AIO)核心进程(aioservers)消耗同样数量的 CPU 时间。
2、如果是,maxservers 可能太少了。增加 10% 的 maxservers 然后重复第一步。
3、如果有些 aioservers 较其它的要使用更少的 CPU 时间,那么至少当前系统拥有它所需要的数目。如果多于 10% 的 aioservers 使用较少的 CPU 时间就降低 10% 的 maxservers 并重复第一步。
 AIO 参数 maxreqs 应该被设置成 MAX(NUM_IOCLEANERS x 256, 4096). 这个参数控制绝大多数突出的 AIO 请求。
 Hdisk 参数queue_depth应该基于这个队列的物理硬盘数目。例如,对于 IBM 磁盘queue_depth的默认值是 3 并建议这个值是 3 xnumber-of-devices。这个控制参数可排队的磁盘请求。
 硬盘适配器参数num_cmd_elems应该被设为所有连接到这个适配器的设备 queue_depth 的总和。

四 安装Database Software

4.1 开始安装

上传数据库安装介质,并解压
上传安装介质:
db2_v101_AIX_xxx.tar.gz
root用户解压db2_v101_AIX_xxx.tar.gz软件

切换到root用户
 设置DISPLAY环境变量
export DISPLAY=XXXXXX
 预检查:
#./db2prereqcheck
 启动OUI开始安装数据库软件
#./db2setup
 注意:安装DB2需要的硬件条件:
需要的硬盘容量:DB2安装向导会动态地评估安装中所选的组件大小。
需要的内存大小:至少需要留给DB2的内存容量为512MB。推荐使用至少1GB的内存
容量。这样可以提高DB2的性能。

4.2 安装截图

【👉步骤1】运行安装向导程序db2setup
db2 setup 成功运行后,可以看到 DB2 安装程序欢迎界面,界面中显示“欢迎 root 使用 DB2 版本 10.1”,如果你使用的是其他用户,则会显示相应的用户名。如图 1-1 所示。
图片 1.jpg
::: hljs-center

图1 – 1 安装程序欢迎界面

:::

【👉步骤2】单击左侧的“安装产品”,进入安装产品的选择界面。如图 1-2 所示
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
::: hljs-center

图1 – 2 选择安装产品

:::

在这个页面中,可以看到供选择安装的所有 DB2 版本,包括企业服务器版、工作组服务器版和客户端等。
【👉步骤3】单击“DB2企业服务器版本10.1”中的按钮 。进入安装向导欢迎界面,如图1-3所示。
图片 3.png
::: hljs-center

图1-3 安装向导欢迎界面

:::

【👉步骤4】单击按钮 image.png,进入软件许可协议界面。
选择 image.png软件许可证协议后,单击按钮image.png ,进入:“选择安装类型”界面。如图1-4所示。
图片 4.png
::: hljs-center

图1-4 选择安装类型

:::

DB2提供了三种安装类型,分别是“典型安装”、“精简安装”和“定制安装”。可以通过相关的安装类型概要来了解不同安装类型的特点,或者单击按钮image.png ,查看相关类型所包含的部件。
【👉步骤5】在“选择安装类型”界面中,选择image.png ,单击按钮image.png ,进入“选择安装和/或创建相应文件”界面。如图1-5
图片 5.png
::: hljs-center

图1-5 选择安装和创建响应文件

:::

【👉步骤6】在“选择安装和/或创建响应文件”界面中,选择image.png ,单击按钮image.png ,进入“选择安装目录”界面。
图片 6.png
::: hljs-center

图1-6选择安装目录

:::

【👉步骤7】在“选择安装目录”界面中,选择使用默认的安装目录image.png
单击按钮image.png ,进入“为DB2管理服务器设置用户信息”界面,如图1-7所示。
图片 7.png
::: hljs-center

图1-7 设置管理服务器

:::

【👉步骤8】在“为 DB2 管理服务器设置用户信息”界面中,如果安装之前,系统中已经创建了 DB2 使用的管理服务器用户和用户组,可以选择现有用户,并指定用户。

如果系统中没有定义相关用户和用户组,则可以选择使用默认的用户名 dasusr1 和用户组 dasadm1,或者自己指定新的用户名和用户组。输入两遍有效的密码后,单击按钮image.png ,进入“设置 DB2 实例”界面。如图 1-8 所示。
图片 9.jpg
::: hljs-center

图1-8 设置DB2实例

:::

【👉步骤9】 在“设置 DB2 实例”界面中,选择image.png ,安装程序会在安装过程中自动创建一个 DB2 实例,并命名为 db2 inst1。单击按钮image.png ,进入“为 DB2 实例设置分区选项”界面。

【👉步骤10】 在“为 DB2 实例设置分区选项”界面中。选择单一分区实例,安装程序将创建一个单分区的 DB2 实例。单击按钮image.png ,进入“为 DB2 实例所有者设置用户信息”界面。如图 1-9 所示。

【👉步骤11】在“为 DB2 实例所有者设置用户信息”界面中,如果系统中没有定义相关用户和用户组,则可以选择使用默认的用户名 db2 instl 和用户组 db2 iadml。输入两遍有效的密码后,单击按钮image.png ,进入“设置受防护用户的用户信息”界面。如图 1-10 所示。
图片 10.png
::: hljs-center

图1-9 设置实例所有者信息

:::
图片 11.png
::: hljs-center

图1-10 设置受防护用户信息

:::

【👉步骤12】 在“设置受防护用户的用户信息”界面中,如果系统中没有定义相关用户和用户组,则可以选择使用默认的用户名 db2fenc1 和用户组 db2fadm1, 设置两遍有效密码后,单击按钮image.png
【👉步骤13】 在“开始复制文件”界面中,DB2 安装程序列出用户在之前的安装步骤中选择和设置的信息,如实例名、服务端口号、实例用户名及主目录、受防护用户名及主目录,以及 DB2 管理服务器的相关信息。用户确认后,单击按钮image.png ,安装程序开始复制文件并配置数据库相关信息。如图 1-11 图1-12所示。
图片 12.png
image.png
::: hljs-center

图1-12 正在安装

:::
图片 1.3png.png
::: hljs-center

图1-13 安装成功

:::
【步骤👉14】DB2 安装成功。

安装过程成功结束后,DB2 安装程序返回“安装完成”界面,如图 1-13 所示。在该界面中,可以通过单击页签分别看到“安装后必须的步骤”以及安装过程的“日志内容”。

五 注册许可证license

5.1 上传许可证文件

5.2 注册许可证

db2licm -a db2ese_c.lic

5.3 查看db2软件状态是否为永久

db2licm –l

六 创建数据库

6.1 创建数据库命令(dbname为要创建的数据库名)

db2 create database <db_name> on using codeset UTF-8 territory us

6.2 数据库的命名规则:

 数据库的名称可以由以下字符组成:a-z、A-Z、0-9、@、#和$
 名称中的第一个字符必须是字母表字符、@、#或$;不能是数字或字母序列SYS、DBM或IBM。注意,数据库的名称不能超过8个字符
 数据库名称或数据库别名是唯一的字符串,包含前面描述的1到8个字母、数字或键盘字符。

七 数据库运维规范

 新建数据库时 需要指定数据存放到文件系统中,不采用裸设备存储方式
 数据库表空间类型选择(SMS和DMS)

  • 数据库的系统表空间管理方式为系统管理方式(SMS),表空间要求能够根据需要自动增加,不需要人为参与,适用于一个表空间存储多个小表
  • 对于性能要求很高的应用程序,特别是涉及大量DML操作的应用程序,建议使用DMS表空间

 新建的数据库必须设置使用归档的方式,并部署自动删除脚本,保存15天的日志
 归档的日志必须和活动日志不能存放在同一个目录下面,注意:不可直接手动删除在线日志
 新建数据库根据数据库的重要性,邮件通知数据库管理员,提醒集中统一备份

八 DB2数据库常用命令

启动数据库:
启动db2服务:db2start
查看激活状态的数据库:db2 list active databases

关闭数据库:
关闭数据库服务:db2stop

查看数据库:db2 list db directory
查看数据库应用:db2 list applications
查看数据库应用和进程号:db2 list applications show detail
查看数据库表空间:db2 list tablespaces
查看表空间详细信息:db2 get snapshot for tablespaces on <db_name>
查看数据库配置:db2 get db cfg for <db_name>
连接数据库:db2 connect to <db_name>
db2 connect to <db_name> user[user_name] using [password]
断开数据库连接:db2 connect reset/db2 terminate
创建数据库:db2 create db <db_name> on
删除数据库:db2 drop database <db_name> (如果不能删除,尝试断开激活的连接或者重启db2)

创建表空间:db2 create <tablespace_name> managed by automatic storage

列出系统表:db2 list tables for system
列出所有用户表:db2 list tables
列出所有表:db2 list tables for all
列出特定用户表:db2 list tables for schema [user]

复制一张表:db2 create table t1 like t2
显示表结构:db2 describe table tablename
查询表:db2 “select * from table tablename where …”
执行SQL脚本:db2 -tvf scripts.sql

查看错误代码信息:
db2 ? 10054

停止激活的连接:
db2 force application all;\db2 force application all;\db2 force application all;\db2stop

查看死锁:
db2 get snapshot for locks on <db_name>
db2 “select agent_id,tabname,lock_mode from table(snap_get_lock(‘<db_name>’)) as aa”

杀掉进程:
db2 force application(NUM)

开启归档:
db2 update db cfg for sample using LOGARCHMETH1 “DISK:/arch/”
注:开启归档后需重启数据库,并做一次全库备份。

赋权:
新建业务用户默认最小权限。

如果要赋高级别权限:
db2 connect to xxx(数据库)
db2 grant dbadm on database to user db2ywyh

DBADM 权限是一个数据库级权限,而不是实例级权限。DBADM用户对一个数据库基本业务流转没有影响。DBADM用户不能执行某些维护或管理任务,比如:
drop database
drop/create tablespace
backup/restore database
update db cfg for database db name
hhh6.jpg

相关文章:

  • Qt的QTreeWidget样式设置
  • Linux进阶——防火墙
  • 【鸿蒙开发】第三十章 应用稳定性-检测、分析、优化、运维汇总
  • 数据结构——二叉树(2025.2.12)
  • 用大模型学大模型04-模型与网络
  • 负载测试和压力测试的原理分别是什么
  • 代码实践——准备阶段
  • Linux 系统上以 root 用户身份运行 ./mysql.server start 命令,但仍然收到 “Permission denied” 错误
  • Spring Cloud微服务
  • 【CS61A 2024秋】Python入门课,全过程记录P7(Week13 Macros至完结)【完结撒花!】
  • 新一代高性能无线传输模块M-GATEWAY3
  • 玩转观察者模式
  • 【Linux】进程间关系与守护进程
  • MySQL 记录
  • c# textbox 设置不获取光标
  • 微信小程序 - 组件和样式
  • Django简介
  • 避雷,Ubuntu通过ollama本地化部署deepseek,open-webui前端显示
  • 链表(典型算法思想)—— OJ例题算法解析思路
  • android启动整体流程
  • 专家:家长要以身作则,孩子是模仿者学习者有时也是评判者
  • 美将解除对叙利亚制裁,外交部:中方一贯反对非法单边制裁
  • “老中青少”四代同堂,季春艳携锡剧《玲珑女》冲击梅花奖
  • 媒体:“西北大学副校长范代娣成陕西首富”系乌龙,但她的人生如同开挂
  • 联合国秘书长欢迎中美经贸高层会谈成果
  • 言短意长|西湖大学首次“走出西湖”