分类:
2010-06-07 14:44:02
使用db2icrt命令创建DB2实例时,可以使用 –s选项指定创建的实例类型
-s InstType
Specifies the type of instance to create. Use the -s option only when you are creating an instance other than the default for your system. Valid values are:
CLIENT
Used to create an instance for a client.
ESE
Used to create an instance for a database server with local and remote clients.
Note:
Specify this option if you are creating an instance for a PE database system, a single-partition ESE database system, or DB2 Connect.
WSE
Used to create an instance for a Workgroup Server Edition server
-s ese:创建server类型的实例,不指定-s时,该选项是默认选项
-s client: 创建client类型的实例,该实例提供常用的用于连接远程db2服务器的变量环境,但是在该client用户下
[不能] :
不能创建数据库,不能使用db2start和db2stop命令来启动实例
[能]:
catalog远程的数据库节点,然后catalog远程的数据库目录到本地,以为后续访问提供方便
该模式是IBM工程师建议模式,即为每个数据库建立一个实例,然后在实例下创建唯一的数据库,进行运行管理。
该方法的优点:
1) 多个数据库之间互相不会产生影响,单独运行,一个数据库由于资源原因使得instance hang住后,其它的数据库不会受到影响。
2) 便于单独配置和管理
该方式的缺点:
1) 不利于统一管理,instance的启停需要每个instance单独进行,当然我们也可以通过一个脚本实现所有instance的启停
2) 每个instance都需要单独的dbm资源的分配
该模式的方式是:
1) 建立一个manage instance,在该instance下面创建所有的数据库,比方说我们有三个数据库,database1,database2,database3.
2) 创建另外的client用户组,在该组中创建三个系统用户,user1,user2,user3.
3) 使用manage instance为三个用户grant相应数据库的db adm权限
connect to database1
grant dbadm on database to user user1
revoke connect on database from public
connect reset
user2,user3方法相同
4) 将.INSTHOME/sqllib/db2profile加入到三个用户的.profile中即可
[注]:有的做法是:为三个用户user1,2,3创建三个instance,然后catalog数据库节点和数据库目录到该用户实例下。这种方式跟执行上述profile脚本的效果一样,没有任何必要。因为操作系统的任何用户都是db2的可访问用户,只要该用户被赋予足够的权限。
该方式的缺点是:
1) 所有的数据库全部绑定到一个instance下,当某个数据库的操作导致instance进程死掉的话,所有其他的应用数据库访问全部失败,这是很不合理的,特别是这些数据库是独立的,没有任何联系的情况下。
2) Dbm的配置对每个数据库都必须相同,没法单独管理各个数据库的dbm选项
3) 各数据库运行时共享instance资源,无法检测各数据库的单独资源占用情况
总之,在条件允许的情况下,建议尽量使用2.1的配置方式,特别是多应用系统部署的情况下,第一种部署更加合理,利于单独管理监测