DB2

IBM的DB2是一款关系型数据库系统,适用于大型应用,如企业门户网站和商务智能。DB2支持多种操作系统,并且有着丰富的版本历史。文章介绍了DB2的主要产品组件,包括数据库实例、表空间等,以及如何创建、修改和管理这些组件。此外,还涉及到了DB2的体系结构和实例管理,包括创建、连接、停止和删除实例的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DB2

1,DB2简介及发展历史

1.1,DB2简介

  • IBM公司的数据库系统

  • 关系型数据系统

  • 适用于大型应用系统,如:某企业门户网站,商务智能系统

  • 支持大多数主流操作系统,如:window,Linux,AIX

  • 与平台无关的基本功能和SQL语句

1.2 ,DB2的发展历史

  • 1969 DB1

  • 1983 DB2 for MVS

  • 2006 DB2 V9

  • DB2 V9.5

  • DB2 V9.7

  • DB2 V9.8

  • DB2 V10.1

  • 2013 DB2 V10.5

2,DB2支持的平台及版本

2.1,补充知识:IBM的主机体系简介

 

2.2,DB2支持的平台

 

2.3,DB2的版本

 

3,DB2主要产品组件及功能

3.1,连接数据库所需的组件/客户端

 

3.2,DB2 Connect

 

4,DB2体系结构简介

4.1,DB2体系结构简图

 

  • 一个数据库实例可以管理一到多个数据库

  • 数据库由一到多个表空间组成

  • 表存储在表空间中

4.2,数据库管理实例(Database manager instance)

 

  • 不同版本的DB2产品可以共存于同一套操作系统。

  • 每个DB2产品可以创建一到多个实例

  • 每个数据库实例都有自己的配置文件

4.3,数据库(database)

 

  • 数据库必须受实例的管理

  • 在非集群的情况下,一个数据库只能受一个实例的管理。

  • 每个数据库都有自己的配置文件。

4.4,表空间(Tablespace)

  • 数据库由一到多个表空间组成

  • 表空间用于存储数据库对象,比如表,索引等。

  • 表空间创建相关操作

     1.创建表空间最简单的命令
         db2 create tablespace tablespace_name
     2.创建一个大型表空间
         db2 create large tablespace tablespace_name
     3.创建一个用户临时表空间
         db2 create user temporary tablespace tablespace_name
     4.创建一个8K页大小的表空间
         db2 create tablespace tablespace_name pagesize 8K
     5.创建一个数据库管理的表空间
         db2 "create tablespace tablespace_name managed by database using (file '/dbpath/tabalespace_name01.dbf' 10m,file '/dbpath/tabalespace_name02.dbf' 10m)";
  • 表空间修改相关操作

     1.查看表空间
         db2 list tablespaces [show detail]
     2.查看表空间的容器
         db2 list tablespace containers for tablespace_id [show detail]
     3.修改表空间
         alter tablespace tablespace_name 

     

 

 

管理实例

创建实例示例:

  • Linux&Unix上创建实例:

DB2DIR/instance/db2icrt -u FencedID InstNam

  • Windows上创建实例:

DB2DIR/bin/db2icrt InstName

 #### 连接和断开实例
  • 连接实例的命令:db2 attach to INSTName

  • 断开实例的命令:db2 detach

停止实例

  • 停止实例必须具有相应的权限

  • 停止实例的命令:db2stop

  • 强制应用程序与用户与数据库断开:db2stop force

实例参数

  • 查看实例参数:db2 get dbm cfg

  • 修改实例参数:db2 update dbm cfg using 参数名 参数值

  • 复位实例参数为默认值:db2 reset dbm cfg

删除实例

  • 删除实例,必须具有root或者系统管理员的权限

  • 删除实例前,要确保实例已经停止

  • 删除实例的命令:./db2idrop 实例名

操作实例的其他命令

  • 查看实例: db2ilist

  • 更新实例:db2iupdt

  • 迁移实例:db2imigr

  • 自动启动实例:db2iauto

环境变量的优先级

  • 操作系统级别的环境变量

    -- 使用set或者export设置

  • 全局级概要文件注册变量

    -- 使用db2set -g设置

  • 实例级概要文件注册变量

    --使用db2set -i设置

  • 实例节点级概要文件注册变量

    --使用dbset -i <instance name> <nodenum> 命令

管理实例注册变量

  • 管理实例变量的命令:db2set

  • 查看已经设置的实例变量:db2set -all

  • 查看所有可进行定义的实例变量:db2set -lr

     [e] DB2PATH=D:\02java\db2\impl
     [i] DB2INSTPROF=C:\ProgramData\IBM\DB2\DB2COPY1
     [i] DB2COMM=TCPIP
     [g] DB2_COMPATIBILITY_VECTOR=MYS
     [g] DB2_EXTSECURITY=NO
     [g] DB2_COMMON_APP_DATA_PATH=C:\ProgramData
     [g] DB2SYSTEM=LAPTOP-B6J956SC
     [g] DB2PATH=D:\02java\db2\impl
     [g] DB2INSTDEF=DB2
     [g] DB2ADMINSERVER=DB2DAS00

    [e]: 系统级别的变量[i]: 实例级别的变量[g]: 全局级别的变量

 

黑窗口使用的命令

db2cmd : 进入db2的黑窗口界面

db2 list db directory: 展示可操作的db2数据库目录

db2 connect to LEIYUDB1: 连接到指定的数据库

db2 create tablespace leiyu01: 创建普通的表空间

db2 create large tablespace largeleiyu01: 创建大型表空间

db2 list tablespaces: 查看所有的表空间

 

创建数据库

数据库和自动存储的位置

create database dataname(名称) on /dataroad(路径)

-- 数据库路径: /dataroad(路径)

-- 自动储存路径:/dataroad(路径)

删除表空间

db2 alter tablespace tablespace_name

重命名表空间

db2 rename tablespace_old to tablespace_new

创建表

db2 "create table employee(id integer,name varchar(10),gender char(1))"

查询该表

db2 describe table employee

 

 

20201108补充

 报错:SQL1582N 表空间 "JBPM" 的 PAGESIZE 和与该表空间相关联的缓冲池 "IBMDEFAULTBP"
 的 PAGESIZE 不匹配。 SQLSTATE=428CB
    
 原因分析: CREATE TABLESPACE默认使用的BUFFERPOOL IBMDEFAULTBP的PAGESIZE是4K,建一个非4K PAGESIZE的表空间时,需要先创建一个相同大小PAGESIZE的缓冲池,然后使用这个缓冲池。   

具体操作如下:

 1.db2 create bufferpool bp16k size 1000 pagesize 16 K
 2.db2 create tablespace leiyu pagesize 16k managed by database using (file 'D:\DB2\data\leiyu' 10000) bufferpool bp16k

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值