设置DB2环境变量

本文介绍了DB2环境的组成部分,包括DB2概要文件注册表、操作系统环境变量、DB2数据库管理器配置参数和DB2数据库配置参数。还说明了etc/services file中实例对应的网络端口号,以及server端和client端端口的对应关系和配置方法。

DB2环境由以下几部分组成:

1 DB2概要文件注册表:db2set。 作用在于统一DB2环境的设置方法,使得很多关键的控制因素可以集中管理。

2 操作系统环境变量:大多数环境设置由DB2概要文件注册表控制,没有存储在概要文件注册表控制的设置称为操作系统环境变量。随着平台和unix shell的不同而不同。windows下,set db2instance=prod; db2instance是重要的环境变量,说明当前会话的默认实例。

3 DB2数据库管理器dbm配置参数:对整个实例起作用。数据库管理器作用于整个实例上,语句db2start,db2stop就是开,闭数据库管理器的命令。在打开db2start之后,才可以进行一些针对数据库的操作,如db2 activate db *** (1) , db2 list application show detail (2). (实际操作中,1又是2的前提)。 

db2 get database manager configuration. 也可以从控制中心上实例-〉配置参数。

4 DB2数据库配置参数:对实例中的数据库起作用。db2 get database configuration for database_name.也可以从控制中心上数据库-〉配置参数。

除此之外,还会在etc/services file发现类似下面的结构:service文件里面专门说明了操作系统各进程所对应的网络端口号。从下面可以看出来:实例DB2对应的端口就是50000。(60000-60003对应下面注释里面的)client和server的services文件中都可能有下面的内容。

DB2_DB2                60000/tcp  #These ports reserved for DB2 Fast Communications Manager
DB2_DB2_1           60001/tcp
DB2_DB2_2           60002/tcp
DB2_DB2_END     60003/tcp
db2c_DB2 50000/tcp                // this is the connection port for instance DB2

另外,在server端db2 get dbm cfg命令得出的下面内容里,db2c_DB2在services文件里对应的端口号就是server监听程序的端口号。TCP/IP Service name (SVCENAME) = db2cDB2。如果想要修改dbm参数,可以用如下命令:db2 update dbm cfg  using SVCENAME db2cDB2_another。db2cDB2_another是事先定义好的端口变量。

注意到,这里SVCENAME是实例级变量,在语句db2 catalog tcpip node WEST remote 9.181.139.155 server 50000中,catalog的node由IP地址以及端口号确定,端口50000对应于实例级参数SVCENAME,所以,node的实际意义就是instance. 只是node是instance在网络上catalog的表示。

在client端呢,db2 list node directory show detail可以看到,Service name = 50000. 这里不管是service name还是与之对应的端口号,最终的值(端口或者与服务名对应的端口)应该和server端定义的监听端口一致,

### 设置和配置DB2数据库环境变量 为了确保DB2实例能够正常运行并被其他应用程序访问,正确设置环境变量至关重要。对于Linux操作系统而言,在创建新用户用于管理DB2实例之前,可以通过命令`useradd -g db2grp1 -m -d /home/db2inst1 -p "" db2inst1`来完成初步准备[^3]。 一旦完成了用户的建立工作,则需通过特定路径下的脚本文件(通常位于`/opt/ibm/db2/V<version>/instance/`)利用`db2icrt`指令创建新的DB2实例,例如:`sudo /opt/ibm/db2/V10.1/instance/db2icrt -u db2fenc1 db2inst1`,这里假设版本号为V10.1,并且已经定义好了相应的受保护用户(db2fenc1)与所有者用户(db2inst1)[^4]。 当上述准备工作完成后,便可以着手于环境变量的具体设置了: #### 配置Shell Profile Script 针对不同shell类型(`bash`, `ksh`, etc.),应编辑对应的profile script文件,如`.bash_profile`或`.kshrc`等,加入如下所示的一系列赋值语句以初始化必要的环境参数: ```bash export DB2INSTANCE=db2inst1 export DB2HOME=/opt/ibm/db2/V10.1 export PATH=$PATH:$DB2HOME/bin:$DB2HOME/adm ``` 以上操作使得每次登录时都能自动加载所需的环境设定,从而简化后续操作流程[^1]。 另外值得注意的是,如果遇到尝试执行`db2`命令却收到类似“command not found”的错误消息时,这可能是因为当前session尚未识别到最新的环境变更;此时可通过重新启动终端窗口或是手动source profile scripts的方式使更改生效,即执行`souce ~/.bash_profile`(假定使用的是Bash shell),以此方式刷新环境变量列表[^2]。 最后,要验证所有的环境变量是否已成功应用,可借助`printenv | grep ^DB2`查看相关条目是否存在及其具体取值情况;而对于更详细的全局范围内的DB2配置项查询,则推荐采用`db2set -all`工具来进行全面审查。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值