2016-11-18 16:57:44 Hwh1231 阅读数 5071
#!/usr/bin/bash
# 功能:1.批量添加DB2用户并设置初始密码。2.创建数据库实例。
# 使用:root用户执行该脚本。
# 作者:devhwy
# 完成:2016-11-18


groupadd -g 901 db2igrp  
groupadd -g 902 db2fgrp  
groupadd -g 903 db2agrp  
useradd -g db2igrp -u 1001 -m -d /home/db2inst1  -s /bin/bash db2inst1  
useradd -g db2fgrp -u 1002 -m -d /home/db2fenc  -s /bin/bash db2fenc  
useradd -g db2agrp -u 1003 -m -d /home/db2das  -s /bin/bash db2das


#设置密码:首字母变大写
for name in db2inst1 db2fenc1 db2das1; do
  echo ${name}"123166" |sed 's/^\w\|\s\w/\U&/g' | passwd --stdin ${name};
done


#创建数据库实例
db2icrt=`find / -name db2icrt`
echo $db2icrt
$db2icrt -p 60000 -u db2fenc1 db2inst1
2013-07-17 21:45:49 futdktyx 阅读数 11938
首先,系统原有的DB2信息,
安装目录 : /opt/ibm/db2/V9.7
DB2inst1实例目录 : /home/DB2inst1
1.创建DB2cz实例:
    给DB2cz实例创建实例用户和组:
    创建用户
        useradd db2cz
        useradd dbfencz
    参照db2inst1
    把用户分配到组:usermod -a -g db2iadm1 db2cz  
        usermod -a -g db2fadm1 db2fencz
    创建DB2实例DB2cz:
        用 root 用户,cd /db2_install_path/instances/ 执行 ./db2icrt -u db2fencz db2cz
        db2fence 用来运行 “受防护用户定义的函数 (UDF) 和 受防护存储过程的进程”。
        看看create function / procedure的语法,有个fenced的选项。udf和udp是可以用到外部程序的,万一用到的程序出了问题,db2很可能跟着也挂了。现在有了 db2fence db2fmp,它挂了就挂了。db2没事……
3.建数据库,建表
    调出DB2编辑器  
        C:\Users\acer>db2 
        要退出 db2 交互方式,在命令提示符处输入 QUIT。在非交互方式下,所有命令都必须以“db2”作前缀。  
        db2 =>create database ZF using codeset GBK territory CN  db2   --创建库,并制定为GBK编码
            DB20000I  CREATE DATABASE 命令成功完成。  
        db2 => connect to ZF
    数据库连接信息  
数据库服务器         = DB2/LINUXX8664 9. 9.7.0
SQL 授权标识         = DB2CZ
本地数据库别名       = ZF
db2 => create table youtable(
id integer not null primary key,
username varchar(200),
password varchar(200)
        DB20000I  SQL 命令成功完成。  
db2 => insert into youtable(
id,username,password

values(

188,'stevenjohn','stevenanthony'
)  
        DB20000I  SQL 命令成功完成。  

    db2 => select * from youtable


=========================================================


4.配置远程连接端口
首先为远程连接配置空闲端口: (查看端口使用情况命令: netstat -na | grep 50000 查看50000端口是否已使用中 )
vi /etc/services 查看分配给DB2实例DB2inst2的端口. 返回结果中db这一块的有
# Local services  
DB2_DB2inst1 60000/tcp  
DB2_DB2inst1_1 60001/tcp  
DB2_DB2inst1_2 60002/tcp  
DB2_DB2inst1_END 60003/tcp  
DB2c_DB2inst1 50000/tcp  
DB2i_DB2inst1 50001/tcp)   
DB2_DB2inst2 60004/tcp  
DB2_DB2inst2_1 60005/tcp  
DB2_DB2inst2_2 60006/tcp  
DB2_DB2inst2_END 60007/tcp  
)  
在里面添加两条:
DB2c_DB2inst2 70000/tcp  
DB2i_DB2inst2 70001/tcp  
分别为为DB2inst2实例的侦听端口和中断端口。
网上找到的大部分创建第二个实例以及建表的方法就至此结束了,但是实际使用的时候,远程连接还是连接不上的。
后来找到了通过另一实例DB2inst1使用CATALOG编目的方法来实现远程连接的成功方法。
首先切换到另一用户,这里使用DB2inst1:
在root下:
su - DB2inst1
编目节点名,取任意名称,如为inst3,指向DB2机器所在,之前在etc/services文件中为DB2inst2实例配置的侦听端口:
DB2 "catalog tcpip node inst3 remote 10.213.1.95 server 70000" 
然后给节点指向的DB2inst2实例新建的数据库配置别名:
DB2 "catalog db gpending as gpending at node inst3" 
编目成功后,可以尝试连接(在DB2inst1用户下):
用命令: connect to gpending user DB2inst2 using password
或命令: DB2 attach to inst3 user DB2inst2 using password
系统会报出如下一个通信协议的错误,类似于:SQL30081N 检测到通信错误。正在使用的通信协议:"TCP/IP"。正在使用的通信API:"SOCKETS"。
检测到错误的位置:"10.213.1.95"。检测到错误的通信函数:"connect"。
协议特定的错误代 码:"111"、"*"、"*"。 SQLSTATE=08001,
(这一段是网上搜索到的:
为什么通讯协议会出错呢?系统不是会默认地给实例设置一些基础的属性吗?
并非如此!!!
通过DB2SETUP方式创建的实例(即使用DB2安装文件来新建实例),有些参数会默认的帮你设置成缺省的参数值。
但通过命令行方式创建实例时,DB2实例参数并没有被设置。所以DB2inst2实例的通讯协议没有定义,因此发生刚才的现象。
因此,在用户DB2inst1下,通过命令DB2set ,你可以看到如下信息:
DB2_INLIST_TO_NLJN=YES 
DB2_EVALUNCOMMITTED=yes 
DB2_RR_TO_RS=YES 
DB2COMM=tcpip (该属性是指明该DB2实例使用的通信协议,一个实例可以使用多个通信协议,多个通信协议之间使用逗号分开,如:TCPIP、IPX、APPC、NPIPE……)
DB2AUTOSTART=yes( 设置实例是否在系统启动是自动启动,在Windows系统中DB2的实例是作为服务形式启动的)
但是在用户db2inst2下使用 命令db2set,你将什么也看不到!
所以要手动设置参数:
在 db2inst2下:
db2set DB2COMM=tcpip   
db2set DB2AUTOSTART=yes 
然后给db2inst2实例指定端口(即在etc/services文件中添加的两条,之前先做过)
然后查看实例的配置文件:
命令: db2 get dbm config
返回的结果中发现SVCENAME的值是空的配置SVCENAME的值,即在services文件中为db2inst2实例指定的侦听端口(70000)的服务名:db2c_db2inst2
命令:db2 update dbm config using SVCENAME db2c_db2inst2
然后重启整个db2……
用客户端工具连接实例,成功!

要注意的是,用远程机器上的客户端连接时,要配置的信息:
用户标识:“db2inst2”
密码下:“password”
数据库名称: “gpending”
服务器 : “10.213.1.95”
端口号:“50000” (注意:这里填的不是70000)
(端口写为db2inst2分配的70000端口时,客户端连接时怎么也不成功,后来改成50000,发现就可以了,这可能就是编目的原因吧,我自己理解可能就是通过连接50000端口,即db2inst1,然后通过编目gpending 映射到db2inst2的gpending 表,然后用用户名和密码连接。)

至此,DB2实例db2inst2的配置成功完成!
2011-05-12 09:10:00 wwwgeyang777 阅读数 5311

一般的创建DB2实例的方法就是先创建用户和组,然后db2icrt,对新上手的人来说还是比较麻烦,而且容易出错。

摸索了N久,发现个简单的方法,下面分享出来。

 

root用户,进到DB2安装目录,进入instance目录

然后执行db2isetup,然后根据提示一步一步来吧

 

这样多好啊!

2013-04-23 21:24:38 yan19880901 阅读数 13625

DB2没有数据库级别的用户,只能使用操作系统级别的用户。

# useradd db2inst2

使用root添加用户db2inst2

# passwd db2inst2

修改db2inst2的密码

# su - db2inst1

切换db2inst1(实例创建者或者使用可以设置数据库权限的用户)

$ db2 connect to sample

连接到目标数据库

$ db2 grant connect on database to user db2inst2

赋予db2inst2连接数据库的权限

$ db2 grant select,insert on table db2inst1.act to user db2inst2

赋予db2inst2在表db2inst1.act上的select和insert权限

$ db2 connect to SAMPLE user db2inst2 using password

使用db2inst2用户连接到数据库,然后测试权限是否正确

db2实例
2011-11-11 11:41:29 airmy 阅读数 1257

实例从os角度就是一组进程和内存.db2的实例与Oracle有很大的不同.Oracle的实例是一个实例对应一个

db,rac模式是多实例对应一个db.而在db2的世界里用户可以创建多个实例,每个实例可以包含若干个db,其中一个

实例stop了.并不影响其它实例的db.

相关命令如下:

创建实例,安装完db2之后创建实例需要root权限.执行db2icrt.在linux&unix上创建实例需要对应os用户,该用户可以叫"instance user",创建完之后会在用户目录下生成一些文件和子目录

cd /opt/ibm/db2/V9.7/instance (执行实例创建需要进入db2安装目录,这是我的db2安装目录)


[db2inst1@localhost ~]$ sudo groupadd db2_test

[db2inst1@localhost ~]$ sudo useradd -g db2_test -d db2_test

[db2inst1@localhost /]$ cd /home/
[db2inst1@localhost home]$ ls
aa  db2fenc1  db2inst1  db2_test  test

[db2inst1@localhost home]$ cd /opt/ibm/db2/V9.7/instance/

[db2inst1@localhost instance]$ sudo ./db2icrt -u db2_test db2_test
DBI1070I  Program db2icrt completed successfully.

[db2inst1@localhost ~]$ sudo su - db2_test

[db2_test@localhost ~]$ ls
sqllib

[db2_test@localhost ~]$ ps -ef | grep -i db2 (查看db2进程)

db2_test 12690 12687  2 11:29 pts/0    00:00:00 db2sysc 0                                      
root     12691 12690  0 11:29 pts/0    00:00:00 db2ckpwd 0                                      
root     12692 12690  0 11:29 pts/0    00:00:00 db2ckpwd 0                                      
root     12693 12690  0 11:29 pts/0    00:00:00 db2ckpwd 0                                      
db2_test 12697 12690  1 11:29 pts/0    00:00:00 db2vend (PD Vendor Process - 1)                                                                                             
db2_test 12702 12687  4 11:29 pts/0    00:00:00 db2acd 0 ,0,0,0,1,0,0,0000,1,0,8a6740,14,1e014,2,0,1,11fc0,0x210000000,0x210000000,1600000,168015,2,1a8018


至此实例创建完毕了.如果创建很多实例如何查看呢?使用db2ilist

[db2_test@localhost ~]$ db2ilist
db2inst1
db2_test

如果需要更加详细的信息.比如需要实例的版本、实例目录可以使用db2gerg.这里就不演示了.

实例的启停,前面出现过.这里在说一下吧.

db2start,db2stop.

如果实例停止不了.使用db2stop force


设置实例,比如我这台机器有很多实例.我想使用其中一个或者查看当前使用的哪个实例怎么办呢?

db2 get instance闪亮登场啦.

set instance=db2_test设置实例


删除实例

db2idrop (删除时别忘记停止db2喔!!!)


如何查看实例参数呢?

db2 get dbm cfg

以下是我的

[db2_test@localhost ~]$ db2 get dbm cfg


          Database Manager Configuration


     Node type = Enterprise Server Edition with local and remote clients


 Database manager configuration release level            = 0x0d00


 CPU speed (millisec/instruction)             (CPUSPEED) = 1.491821e-06
 Communications bandwidth (MB/sec)      (COMM_BANDWIDTH) = 1.000000e+02


 Max number of concurrently active databases     (NUMDB) = 8
 Federated Database System Support           (FEDERATED) = NO
 Transaction processor monitor name        (TP_MON_NAME) = 


 Default charge-back account           (DFT_ACCOUNT_STR) = 


 Java Development Kit installation path       (JDK_PATH) = /home/db2_test/sqllib/java/jdk64


 Diagnostic error capture level              (DIAGLEVEL) = 3
 Notify Level                              (NOTIFYLEVEL) = 3
 Diagnostic data directory path               (DIAGPATH) = /home/db2_test/sqllib/db2dump/
 Alternate diagnostic data directory path (ALT_DIAGPATH) = 
 Size of rotating db2diag & notify logs (MB)  (DIAGSIZE) = 0


 Default database monitor switches
   Buffer pool                         (DFT_MON_BUFPOOL) = OFF
   Lock                                   (DFT_MON_LOCK) = OFF
   Sort                                   (DFT_MON_SORT) = OFF
   Statement                              (DFT_MON_STMT) = OFF
   Table                                 (DFT_MON_TABLE) = OFF
   Timestamp                         (DFT_MON_TIMESTAMP) = ON
   Unit of work                            (DFT_MON_UOW) = OFF
 Monitor health of instance and databases   (HEALTH_MON) = ON


 SYSADM group name                        (SYSADM_GROUP) = DB2_TEST
 SYSCTRL group name                      (SYSCTRL_GROUP) = 
 SYSMAINT group name                    (SYSMAINT_GROUP) = 
 SYSMON group name                        (SYSMON_GROUP) = 


 Client Userid-Password Plugin          (CLNT_PW_PLUGIN) = 
 Client Kerberos Plugin                (CLNT_KRB_PLUGIN) = 
 Group Plugin                             (GROUP_PLUGIN) = 
 GSS Plugin for Local Authorization    (LOCAL_GSSPLUGIN) = 
 Server Plugin Mode                    (SRV_PLUGIN_MODE) = UNFENCED
 Server List of GSS Plugins      (SRVCON_GSSPLUGIN_LIST) = 
 Server Userid-Password Plugin        (SRVCON_PW_PLUGIN) = 
 Server Connection Authentication          (SRVCON_AUTH) = NOT_SPECIFIED
 Cluster manager                           (CLUSTER_MGR) = 


 Database manager authentication        (AUTHENTICATION) = SERVER
 Alternate authentication           (ALTERNATE_AUTH_ENC) = NOT_SPECIFIED
 Cataloging allowed without authority   (CATALOG_NOAUTH) = NO
 Trust all clients                      (TRUST_ALLCLNTS) = YES
 Trusted client authentication          (TRUST_CLNTAUTH) = CLIENT
 Bypass federated authentication            (FED_NOAUTH) = NO


 Default database path                       (DFTDBPATH) = /home/db2_test


 Database monitor heap size (4KB)          (MON_HEAP_SZ) = AUTOMATIC(90)
 Java Virtual Machine heap size (4KB)     (JAVA_HEAP_SZ) = 2048
 Audit buffer size (4KB)                  (AUDIT_BUF_SZ) = 0
 Size of instance shared memory (4KB)  (INSTANCE_MEMORY) = AUTOMATIC(94209)
 Agent stack size                       (AGENT_STACK_SZ) = 1024
 Sort heap threshold (4KB)                  (SHEAPTHRES) = 0


 Directory cache support                     (DIR_CACHE) = YES


 Application support layer heap size (4KB)   (ASLHEAPSZ) = 15
 Max requester I/O block size (bytes)         (RQRIOBLK) = 32767
 Workload impact by throttled utilities(UTIL_IMPACT_LIM) = 10


 Priority of agents                           (AGENTPRI) = SYSTEM
 Agent pool size                        (NUM_POOLAGENTS) = AUTOMATIC(100)
 Initial number of agents in pool       (NUM_INITAGENTS) = 0
 Max number of coordinating agents     (MAX_COORDAGENTS) = AUTOMATIC(200)
 Max number of client connections      (MAX_CONNECTIONS) = AUTOMATIC(MAX_COORDAGENTS)


 Keep fenced process                        (KEEPFENCED) = YES
 Number of pooled fenced processes         (FENCED_POOL) = AUTOMATIC(MAX_COORDAGENTS)
 Initial number of fenced processes     (NUM_INITFENCED) = 0


 Index re-creation time and redo index build  (INDEXREC) = RESTART


 Transaction manager database name         (TM_DATABASE) = 1ST_CONN
 Transaction resync interval (sec)     (RESYNC_INTERVAL) = 180


 SPM name                                     (SPM_NAME) = localho1
 SPM log size                          (SPM_LOG_FILE_SZ) = 256
 SPM resync agent limit                 (SPM_MAX_RESYNC) = 20
 SPM log path                             (SPM_LOG_PATH) = 


 TCP/IP Service name                          (SVCENAME) = 
 Discovery mode                               (DISCOVER) = SEARCH
 Discover server instance                (DISCOVER_INST) = ENABLE


 SSL server keydb file                   (SSL_SVR_KEYDB) = 
 SSL server stash file                   (SSL_SVR_STASH) = 
 SSL server certificate label            (SSL_SVR_LABEL) = 
 SSL service name                         (SSL_SVCENAME) = 
 SSL cipher specs                      (SSL_CIPHERSPECS) = 
 SSL versions                             (SSL_VERSIONS) = 
 SSL client keydb file                  (SSL_CLNT_KEYDB) = 
 SSL client stash file                  (SSL_CLNT_STASH) = 


 Maximum query degree of parallelism   (MAX_QUERYDEGREE) = ANY
 Enable intra-partition parallelism     (INTRA_PARALLEL) = NO


 Maximum Asynchronous TQs per query    (FEDERATED_ASYNC) = 0


 No. of int. communication buffers(4KB)(FCM_NUM_BUFFERS) = AUTOMATIC(4096)
 No. of int. communication channels   (FCM_NUM_CHANNELS) = AUTOMATIC(2048)
 Node connection elapse time (sec)         (CONN_ELAPSE) = 10
 Max number of node connection retries (MAX_CONNRETRIES) = 5
 Max time difference between nodes (min) (MAX_TIME_DIFF) = 60


 db2start/db2stop timeout (min)        (START_STOP_TIME) = 10


db2的实例先写到这里吧..das我也没写呢..我还饿着肚子呢..^_^






DB2的实例

阅读数 726

没有更多推荐了,返回首页