实例的概念
从DB2体系结构来看,实例实际上就是DB2的执行代码和数据库对象的中间逻辑层。实例可以看成是关于所有的数据库及其对象的逻辑集合,也可以是所有的数据库及其对象和DB2的代码之间的联系和结合。实例和数据库不同的地方在于,数据库是物理的,表索引存放在数据库中要占物理存储;而实例是逻辑的,是共享内存、进程和一些配置文件的集合。当实例停止时,共享内存释放,进程停止。实例相当于Windows中的服务的概念。
创建实例
在Windows上DB2的安装过程中,如果没有其他实例的名称为“DB2”,那么将自动创建一个名为DB2的数据库管理器初始实例。
在Linux和Unix上,要想创建一个实例,必须首先创建和实例名一样的用户及该用户所属的组。之所以需要创建用户,主要是因为需要用户的home目录来作为实例目录,以存放实例相关的实例目录结构。
实例可以在DB2向导安装期间创建,也可以手工创建。创建实例的命令为:db2icrt(db2 InstanceCReaTe)。
注:在Linux和Unix上创建实例时,必须要有一个和实例同名的用户存在。如果用户不存在,那么创建实例会报错而无法创建。如果用户存在,确保该用户未被锁定和密码未到期。而在Windows上不需要创建和实例同名的用户,但要确保创建的实例名与存在的服务名不同,否则无法创建。
创建实例:
Linux/Unix操作系统
DB2DIR/instance/db2icrt–a AuthType –u FencedId InstName
Windows操作系统
DB2DIR/bin/db2icrtInstName
一个实例创建后,会生成一个实例目录,实力目录存储着与一个数据库实例相关的所有信息。实例目录一旦创建,就不能更改其位置。在Linux/Unix中为了拥有实例目录,必须创建和实例名相同的用户,其最终目的是为了用这个用户的home目录作为实例目录。
实例的基本管理命令
列出实例 | db2ilist |
|
迁移实例 | Db2imigr |
|
更新实例配置 | Db2iupdt |
|
自动启动实例 | Db2iauto |
|
启动实例 | Db2start |
|
连接到实例 | Db2 attach to <instance name |
|
断开实例 | Db2 detach |
|
停止实例 | Db2stop |
|
删除实例 | Db2idrop <instanceName> |
|