DB2简介:
IBM公司的数据库系统
关系型数据库
适用于大型应用系统,如某企业门户网站,商务智能系统
支持大多数系统,如windows/UNIX
与平台无关的基本功能和SQL语句
DB2的发展历史:平均每一年发展一个版本,目前最新版本是db2 11.5
IBM公司的主机
System Zero(大型机)
System performance(小型机)
System Integrated
DB2支持的平台有 windows、linux、Zseries、iSeries等
DB2结构体系:
数据库管理实例:
表空间:
实例的概念:
数据库是物理的,实例是逻辑的
一个DB2产品可以创建多个实例
每个实例有自己的配置文件
每个实例都有自己的独立的共享内存和进程结构
管理实例:
实例和操作系统用户之间的关系,windows不需要创建用户,默认实例名为DB2。linux和unix实例名和用户名一样,注意确保用户状态正常!
1、创建实例的语法:
db2icrt instName
2、启动实例:链接数据库、编译应用程序、绑定程序包
启动实例必须的具有相应的权限
启动实例命令:db2start
3、连接实例和断开实例
连接实例的命令:db2 attach to INSTName
停止实例也必须的有相应的权限
停止实例的命令:db2stop
强制应用程序和用户数据库断开:db2stop force
4、实例参数:
查看实例参数:db2 get dbm cfg
修改实例参数:db2 update dbm cfg using 参数名 参数值
重置实例参数为默认值:db2 reset dbm cfg
5、删除实例:
删除实例必须的有root或者系统管理员权限
删除实例前必须的确保实例已经停止
删除实例的命令:db2idrop
6、其他命令:
查看实例:db2ilist
更新实例:db2iupdt
迁移实例:db2imigr
自动启动实例:db2iauto
DB2环境变量的优先级:
操作系统级别的环境变量 --使用set或者export设置
全局级概要文件注册变量 --使用db2set -g设置
实例级概要文件注册变量 --使用db2set -i设置
实例节点级概要文件注册变量 --使用db2set -i <instance name> <nodenum>命令
- 管理实例注册变量
①、管理实例变量的命令:db2set
②、查看已经设置的实例变量:db2set -all
③、查看所有可进行定义的实例变量:db2set -lr
DB2的实例目录:
实例目录概念:存储所有与数据库实例相关的所有信息,实例创建后会自动生成实例目录。在linux&unix系统中,实例目录位于User_home/sqllib目录中,在Windows上,实例目录位于db2数据库产品的sqllib目录下。
此目录中的db2diag.log文件记录db2错误信息,报错日志。
sqldbdir为系统数据目录。
db2nodes.cfg节点配置文件。
db2system数据库管理器配置文件。
管理服务器:
数据库管理服务器DAS(database Administration Server)是一个特殊的数据库实例,用于执行远程的DB2数据库管理任务。
DAS和受管理实例是一对多的关系,即一个DAS可以管理多个实例。(DAS已经不推荐使用了)
管理命令:
db2admin start:用于启动DAS
db2admin stop:用于终止DAS
dasicrt:在linux&UNIX环境下创建DAS。
DASIDROP:在linux&UNIX环境下删除DAS。
db2admin create:在windows环境下创建DAS。
db2admin drop:在windows环境下删除DAS。
db2 get admin cfg:用于显示DAS的数据库管理器配置。
db2 update admin cfg:用于更改DAS的数据库管理器配置文件的参数。
db2 reset admin cfg:用于重置DAS的数据库管理器配置文件的参数为默认值。
创建数据库:
建库前的准备:
- 数据库由实例进行创建和管理,数据库包含1到多个表空间,表存储在表空间中。
- 数据库最小的存储单位为数据页(datapage)
区(extent):由整数倍的数据页组成
表空间容器(container):是由多个区组成
表空间由一到多个容器组成
表、索引等逻辑对象是放在表空间中的,容器是位于底层的物理存储,表空间是数据库物理存储和逻辑存储的统一。
使用命令行创建数据库:
create database databasename at dbpartionnum -[参数]
使用向导创建数据库:
数据库的目录:(2023年1月5日)
数据库的目录用于存储数据库的信息,如空间、表、容器等信息
创建位置取决于创建数据库是指定的数据库路径。
分区全局目录结构:db_path/instance_name/NODE0000/SQL00001
db_path:创建数据库时指定的路径;
instance_name:和实例名相同的子目录;
NODE0000:用于区分多分区数据库的逻辑分区;
SQL00001:包含第一个数据库以及随后所创建数据库相关联的对象
特定成员目录:MEMBER0000
表空间信息文件:SQLSPCS.1和SQLSPCS.2
存储器组控制文件:SQLSGF.1和SQLSGF.2
全局配置文件:SQLDBCONF
历史记录文件:DB2RHIST.ASC和DB2RHIST.BAK
与日志记录相关的文件:SQLOGCTL.GLFH.1和SQLOGCTL.GLFH.2
锁定文件:SQLLINSLK和SQLTMPLK