DB2 实例


实例的概念

从DB2体系结构来看,实例实际上就是DB2的执行代码和数据库对象的中间逻辑层。

实例可以看成是关于所有的数据库及其对象的逻辑集合,也可以是所有的数据库及其对象和DB2的代码之间的联系和结合。实例对用户和开发人员来说是透明的。实例本质上由一组后台进程和共享内存组成。实例和数据库不同的地方在于,数据库是物理的,表索引存放在数据库中要占物理存储;而实例是逻辑的,是共享内存、进程和一些配置文件的集合。当实例停止时,共享内存释放,进程停止。实例相当于Windows中的服务的概念,为数据库提供安全、通信、内存分配和进程间通信等功能。

在实际生产系统中,我们可能需要创建多个实例来执行下列操作:

  • 将一个实例用于开发环境,而将另一个实例用于生产环境
  • 为特定环境调整实例
  • 限制存取机密信息
  • 控制为每个实例指定SYSADM、SYSCTRL、SYSMAINT和SYSMON权限
  • 优化每个实例的数据库管理器配置
  • 限制实例故障的影响。如果发生实例故障,那么只有一个实例受影响,其他实例可以继续正常工作

注意

在许多数据库产品中都有类似实例的这个概念,例如在Oracle中也叫实例(instance), 在Informix数据库中有Server 的概念,Sybase 和SQL Server中的Server 概念也和实例类似。

实例的基本管理命令

列出实例db2ilist
迁移实例db2imigr
更新实例配置db2iupdt
自动启动实例db2iauto
启动实例db2start
连接到实例db2 attach to <instance name
断开实例db2 detach
停止实例db2stop
删除实例db2idrop <instance name>