DB2数据库

基础

一个DB2实例可以同时管理多个DB2数据库
一个DB2数据库只能由一个DB2实例管理
一个DB2数据库只能使用一种代码页

表table存放在表空间tablespace中

数据库最小的存储单位是数据页datapage,
DB2数据库中有4KB、8KB、16KB、32KB数据页,

代码页

DB2的字符数据类型,例如char、varchar、clob、dbclob都有相关联的字符代码页,可以把代码页理解为对照表,用来将字母、数字转换为用来存储的二进制数据
代码页在create database中通过codeset、territory来指定,在数据库创建好之后不能再进行修改

整理次序

默认情况下,DB2的整理次序根据create database中使用的代码集进行定义,默认选项collate using system,会根据为数据库指定的territory对数据值进行比较,如果使用选项collate using identity,那么以逐字节的方式使用二进制表示来比较所有值;

建库时的默认操作

执行create database命令时,DB2会创建日志文件、配置信息、历史文件和3个默认表空间,这3个表空间分别是SYSCATSPACE、TEMPSPACE1、USERSPACE1。

对于Linux/UNIX系统下,这些文件默认存放在实例用户的home目录下,而Windows则是存放在DB2产品所在的安装盘目录下,这里注意下,DB2 V9之前create database会为所有对象创建SMS表空间,到了DB2 V9时,除了系统临时表空间,其他所有表空间默认定义为DMS自动存储表空间。

管理类型

DB2支持3种管理类型的表空间:

  • 系统管理的空间(System-Managed Space,SMS)
  • 数据库管理的空间(Database-Managed Space,DMS)
  • DMS的自动存储(Automatic Storage With DMS),DB2 V8.2.2引入

关键字

  • CODESET、TERRITORY
  • MANAGED BY DATABASE USING (File ‘容器绝对或相对的文件名’ 容器大小)
  • EXTENTSIZE 16,表示指定数据库可以写到容器中的PAGESIZE页面数量为16,达到这个数量之后将跳到下一个容器
  • PREFETCHSIZE 16,指定在执行数据预获取时将从表空间中读取的PAGESIZE页面的数量为16
  • OVERHEAD、TRANSFERRATE,这2个参数用于确定查询优化期间的IO成本,测量单位都是毫秒

1. 建库

数据库的命名规则如下:

  • 数据库的名称可以由以 下字符组成: az、AZ、 0~9、@、#和$。
  • 数据库的名称不能超过8个字母。
  • 名称中的第1个字符必须是字母表字符、@、#或$,不能是数字或字母序列SYS、DBM或IBM
-- 创建数据库,并指定代码页
CREATE DATABASE NETSEAL USING CODESET UTF-8 TERRITORY CN;

-- 数据库使用默认整理次序,
-- USER 表空间,基于DMS管理空间,表空间数据存储至‘NETSEAL’,表空间初始大小16k,
CREATE DATABASE NETSEAL	COLLATE USING SYSTEM  
USER TABLESPACE MANAGED BY DATABASE USING (FILE 'NETSEAL' 51200) EXTENTSIZE 16 PREFETCHSIZE 16 OVERHEAD 14.06 TRANSFERRATE 0.33 		
CATALOG TABLESPACE MANAGED BY DATABASE USING (FILE 'NETSEALsys' 51200) EXTENTSIZE 8 PREFETCHSIZE 8 OVERHEAD 14.06 TRANSFERRATE 0.33 	
TEMPORARY TABLESPACE MANAGED BY DATABASE USING (FILE 'NETSEALtemp' 51200) EXTENTSIZE 32 PREFETCHSIZE 32 OVERHEAD 14.06 TRANSFERRATE 0.33;

	CONNECT TO NETSEAL user db2inst1 using db2inst1;
	CREATE BUFFERPOOL BUFFPOOL16  SIZE 5000 PAGESIZE 16384;
	DEACTIVATE DATABASE NETSEAL;

	RESTART DATABASE NETSEAL user db2inst1 using db2inst1;

	CONNECT RESET;
	CONNECT TO NETSEAL user db2inst1 using db2inst1;

-- 创建表空间(数据),名为NETSEAL_DATA
CREATE REGULAR TABLESPACE NETSEAL_DATA IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 16384  	MANAGED BY DATABASE 	 USING (FILE 'NETSEAL_DATA'12800)		EXTENTSIZE 32	 PREFETCHSIZE 16	 BUFFERPOOL BUFFPOOL16	 OVERHEAD 24.100000	 TRANSFERRATE 0.900000;

-- 创建表空间(索引),名为NETSEAL_IDX
CREATE REGULAR TABLESPACE NETSEAL_IDX IN NODEGROUP IBMDEFAULTGROUP PAGESIZE 16384 	
MANAGED BY DATABASE 	 USING (FILE 'NETSEAL_IDX'6400)	 	EXTENTSIZE 32	 PREFETCHSIZE 16	 BUFFERPOOL BUFFPOOL16	 OVERHEAD 24.100000	 TRANSFERRATE 0.900000;

-- 创建表空间(临时文件),名为TMPSPACE
CREATE TEMPORARY TABLESPACE TMPSPACE IN NODEGROUP IBMTEMPGROUP PAGESIZE 16384 	
MANAGED BY DATABASE 	 USING (FILE 'NETSEAL_TMP'6400) 	 EXTENTSIZE 32	 PREFETCHSIZE 16	 BUFFERPOOL BUFFPOOL16	 OVERHEAD 24.100000	 TRANSFERRATE 0.900000;

-- 修改建库时默认产生的3个表空间参数
ALTER TABLESPACE SYSCATSPACE     PREFETCHSIZE 16      OVERHEAD 24.100000      TRANSFERRATE 0.900000;
ALTER TABLESPACE TEMPSPACE1      PREFETCHSIZE 16      OVERHEAD 24.100000      TRANSFERRATE 0.900000;
ALTER TABLESPACE USERSPACE1      PREFETCHSIZE 16      OVERHEAD 24.100000      TRANSFERRATE 0.900000;

-- 设置NETSEAL_DATA 和 NETSEAL_IDX 2个表空间为自动扩容
ALTER TABLESPACE NETSEAL_DATA AUTORESIZE YES;
ALTER TABLESPACE NETSEAL_IDX AUTORESIZE YES;

2.建表

CREATE TABLE SEAL_USER
(
    ID					BIGINT			NOT NULL,
    ACCOUNT				VARCHAR(30)		NOT NULL,
    STATUS				INTEGER			NOT NULL
) IN NETSEAL_DATA INDEX IN NETSEAL_IDX;
ALTER TABLE SEAL_USER ADD PRIMARY KEY (ID);

3. 建索引

CREATE UNIQUE INDEX U_SEAL_USER ON SEAL_USER(ACCOUNT) PCTFREE 10;
CREATE INDEX N_SEAL_USER ON SEAL_USER(CREATE_TIME) PCTFREE 10;
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DB2数据库客户端是用于连接和管理DB2数据库的软件工具。它提供了一个用户友好的界面,使用户能够轻松地执行数据库管理任务和查询。 DB2数据库客户端具有以下几个主要功能: 1. 连接数据库DB2数据库客户端允许用户通过网络连接到远程DB2数据库。用户可以通过指定数据库的地址、端口、用户名和密码来建立连接。 2. 管理数据库:用户可以使用DB2数据库客户端对数据库进行管理操作。这包括创建新的数据库、删除已有数据库、备份和恢复数据库、调整数据库参数等。 3. 执行SQL查询:DB2数据库客户端提供了一个SQL查询界面,使用户能够执行各种数据库查询操作。用户可以编写SQL语句来获取所需的数据,并在结果集中查看查询结果。 4. 数据导入和导出:DB2数据库客户端允许用户将数据从其他数据源导入到DB2数据库中,或将数据库中的数据导出到其他格式,如CSV、Excel等。这对于数据迁移和共享非常有用。 5. 监控性能:DB2数据库客户端提供了一些工具和指标,用于监控数据库的性能。用户可以查看数据库的运行状况、查询执行计划以及诊断和解决性能问题。 总之,DB2数据库客户端是一个功能强大的软件工具,为用户提供了连接、管理、查询和监控DB2数据库的能力。它简化了数据库管理工作,提高了工作效率,并为用户提供了更好的数据库使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值