安装
下载地址https://www.ibm.com/cn-zh/products/db2/database,上传到opt目录并解压
tar xf v11.5.8_linuxx64_server_dec.tar.gz |
升级操作系统为CentOS7.9
yum update |
执行脚本安装
./db2_install -f sysreq |
编辑vi /etc/profile添加环境变量
pathmunge /opt/ibm/db2/V11.5/bin |
加载环境变量
source /etc/profile |
基础命令
命令 | 描述 |
---|---|
db2ilist |
查看所有实例 |
db2 get instance |
查看当前实例由哪个用户激活 |
set db2instance=<instance_name> |
设置当前用户的实例 |
db2start |
启动实例 |
db2stop |
停止实例 |
db2 connect to <database name> |
连接数据库 |
实例
什么是DB2数据库示例
实例是DB2数据库管理器中的逻辑环境。使用实例可以管理数据库。根据我们的要求,可以在一台物理机器创建多个实例。实例目录的内容是:
- 数据库管理器配置文件
- 系统数据库目录
- 节点目录
- 节点配置文件 [db2nodes.cfg]
- 调试文件,转储文件
对于DB2数据库服务器,默认情况下是“DB2”。这不可以在创建后更改实例目录的位置。一个实例可以管理多个数据库。在一个实例,每个数据库都有一个唯一的名称,它自己的一套目录表,配置文件,权限和特权认证。
创建实例
如果想创建一个新的实例,需要使用root身份登录。实例ID不可以是root id或root名称。 下面是步骤来创建一个新的实例:
创建操作系统用户,在组“db2iadm1”和密码“db2inst2”创建实例名为’db2inst2’用户
groupadd db2iadm1 |
切换到db2inst2用户创建实例,语法:
su - db2inst2 |
示例:
su - db2inst2 |
编辑/etc/services文件,配置db2端口
db2c_<inst name> <inst_port>/tcp |
示例:
db2c_db2inst2 50001/tcp |
更新数据库管理器配置与服务名称
db2 update database manager configuration using svcename db2c_&<inst_name> |
示例:
db2 update database manager configuration using svcename db2c_db2inst2 |
为当前实例设置tcpip协议
db2set DB2COMM=tcpip |
删除实例
db2idrop -u <inst_username> <inst_name> |
示例:
db2idrop -u db2inst2 db2inst2 |
数据库
什么是数据库
数据库是表,模式,缓冲池,日志,存储组和表空间合作有效地处理数据库操作的集合。
数据库目录
数据库目录有组织的存储数据库。当创建一个数据库,所有有关数据库的详细信息存储在一个数据库目录,如默认存储设备,配置文件和临时表清单等详细信息
分区全局目录是在实例文件夹中创建。该目录包含关于数据库中的所有全局信息。这个分区全局目录被命名为NODExxxx/ SQLyyy,其中xxxx是数据分区号,yyy是数据库令牌。
在分区全局目录,成员特定的目录创建。该目录包含本地数据库的信息。会员专用目录被命名为MEMBERxxxx其中xxxx是一个成员号。 DB2企业服务器版环境中运行在单一的成员,只有一个成员的具体目录。这个成员的特定目录唯一命名为MEMBER0000。
分区全局目录
分区全局目录位置:
- 全局死锁写入到文件的事件监控文件
- 表空间信息文件 [SQLSPCS.1, SQLSPCS.2]
- 存储组控制文件 [SQLSGF.1, SQLSGF.2]
- 临时表空间容器文件 [/storage path//T0000011/C000000.TMP/SQL00002.MEMBER0001.TDA]
- 全局配置文件 [SQLDBCONF]
- 历史文件 [DB2RHIST.ASC, DB2RHIST.BAK, DB2TSCHG.HIS, DB2TSCHG.HIS]
- 日志记录相关的文件 [SQLOGCTL.GLFH.1, SQLOGCTL.GLFH.2]
- 锁定文件 [SQLINSLK, SQLTMPLK]
- 自动存储容器
成员指定的目录
目录位置: /NODExxxx/SQLxxxx/MEMBER0000;该目录包含:
- 数据库相关联的对象
- 缓冲池信息文件 [SQLBP.1, SQLBP.2]
- 本地事件监测文件
- 日志记录相关的文件 [SQLOGCTL.LFH.1, SQLOGCTL.LFH.2, SQLOGMIR.LFH].
- 本地配置文件
- 死锁事件监视器文件。详细的死锁事件监视器文件存储在目录节点的数据库目录中的情况下,ESE和分区数据库环境。
创建数据库
可以创建实例的数据库使用“CREATE DATABASE”命令。所有数据库都使用默认的存储组“IBMSTOGROUP”,这是在创建实例时创建创建。在DB2中,所有的数据库表都存储在“tablespace”,它利用各自的存储组。
该权限的数据库被自动设置为PUBLIC[CREATETAB,BINDADD,CONNECT,IMPLICIT_SCHEMA,并选择],但是,如果RESTRICTIVE选项,将不授予权限为PUBLIC。
创建非限制性数据库
db2 create database <database name> |
创建限制性数据库
db2 create database <db_name> restrictive |
为不同用户创建数据库指定数据库的位置,语法:
<db_name>
: 要创建的数据库的名称。<data location>
: 数据库文件的存储位置。<db_path_location>
: 数据库路径的存储位置。
db2 create database '<db_name>' on '<data location>' dbpath on '<db_path_location>' |
示例:
db2 create database four on '/data1' dbpath on '/dbpath1' |
查看数据库目录
db2 list database directory |
激活数据库
db2 activate db <db_name> |
停用数据库
db2 deactivate db <db_name> |