最近白天上DB2课程,晚上准备OCP考试复习,有一段时间没写博客了。现在先将今晚的实验给总结一下,有空再将前些日子的实验进行整理。

本实验分为上下两部分,第一部分:创建一个DB2实例;第二部分,进行了DB2网络通信配置(Server验证模式)的详解,演示了使用DB2命令行客户端(windows环境下),连接远端数据库的配置过程,这其中涉及到服务器端的配置、客户端的编目节点目录和编目数据库的内容。

第一部分:新建实例

1、欲使用db2icrt命令来创建实例,却发现找不到该命令:

[db2inst1@localhost ~]$ db2icrt

-bash: db2icrt: command not found

2、查找该命令工具的路径,并尝试执行,发现权限不足,需要在root用户下执行该命令:

[db2inst1@localhost ~]$ find /opt/ibm/ -name db2icrt

/opt/ibm/db2/V9.7/instance/db2icrt

[db2inst1@localhost ~]$ /opt/ibm/db2/V9.7/instance/./db2icrt

-h

-bash:

/opt/ibm/db2/V9.7/instance/./db2icrt: Permission denied

3、切换到root用户,使用-h来查看帮助:

[root@localhost instance]# su - db2inst2

[db2inst2@localhost ~]$ su - root

Password:

[root@localhost ~]# cd /opt/ibm/db2/V9.7/instance

[root@localhost instance]# ./db2icrt -h

DBI1001IUsage:

db2icrt [-h|-?]

[-d]

[-a AuthType]

[-p PortName]

[-s InstType]

-u FencedID InstName

4、发现需要指定FencedID和InstName参数,而这两个参数,实际上就是要指定两个用户名,FencedID用户主要管理用户定义的函数(UDF)和受防护存储过程。而InstName是新实例的名称,也是我们新实例的管理员的用户名。下面我们,分别新建这两个用户:

[root@localhost

~]# useradd inst2Fence

[root@localhost ~]# passwd inst2Fence

Changing password for user inst2Fence.

New UNIX password:

BAD PASSWORD: it is based on a dictionary

word

Retype new UNIX password:

passwd: all authentication tokens updated

successfully.

[root@localhost

~]# useradd db2inst2

[root@localhost ~]# passwd db2inst2

Changing password for user db2inst2.

New UNIX password:

BAD PASSWORD: it is based on a dictionary word

Retype new UNIX password:

passwd: all authentication tokens updated

successfully.

5、现在是最关键的步骤,使用如下命令来创建实例,客户验证的方式采用server(-a参数),指定端口号为55555(-p参数),结果因Fenced用户名过长,创建失败:

[root@localhost instance]#./db2icrt -a server -p

55555 -s ese -u inst2Fence db2inst2

ERROR: The length of the fenced user name

inst2Fence is invalid. It must not be longer than 8.

我们再创建一个名字较短的用户,以满足要求:

[root@localhost instance]# ./db2icrt -a server -p

55555 -s ese -u Fence2 db2inst2

DBI1070IProgram db2icrt completed successfully.

6、切换用户登陆,查看下系统当前的默认实例:

[root@localhost instance]# su - db2inst2

[db2inst2@localhost ~]$ db2 get instance

The

current database manager instance is:db2inst2

查看所有实例:

[db2inst2@localhost ~]$ db2ilist

db2inst2

db2inst1

总结:

1、创建实例使用的是db2icrt命令,由于版本的原因,默认是找不到该命令工具的路径。2、在创建实例之前,需要先创建好FencedID用户和InstName用户。

第二部分

此部分实验,演示了如何使用命令行客户端如何与db2服务器进行通信。

首先,在服务端需要配置好服务名、监听端口、通信协议,并且需要创建一个数据库,供客户端连接:

1、配置服务名

1.1、查看一下服务名,发现创建实例时指定的-p参数(端口名或端口号),成为了服务名:

[db2inst2@localhost ~]$ db2 get dbm cfg | grep SVC

TCP/IP Service name(SVCENAME) = 55555

SSL

service name(SSL_SVCENAME) =

1.2、指定实例的服务名为db2c_db2inst2:

[db2inst2@localhost ~]$ db2 update dbm cfg using

SVCENAME db2c_db2inst2

DB20000IThe UPDATE DATABASE MANAGER CONFIGURATION command completed

successfully.

[db2inst2@localhost ~]$ db2 get dbm cfg | grep

SVC

TCP/IP Service name(SVCENAME) =

db2c_db2inst2

SSL

service name(SSL_SVCENAME) =

2、指定监听客户端请求的端口,修改service文件:

[root@localhost instance]# vi /etc/services

db2c_db2inst255555/tcp

3、确认好通信协议是tcpip:

[db2inst2@localhost ~]$ db2set

DB2COMM=tcpip

4、重启db2实例(运行db2stop和db2start两条命令),查看监听是否开启:

[root@localhost instance]#netstat -a | grep db2c_db2inst2

tcp00 *:db2c_db2inst2*:*LISTEN

5、新建一个数据库,供客户端连接:

db2 => create database demo

DB20000IThe CREATE DATABASE command completed successfully.

以下部分是在客户端进行配置的操作过程:

1、编目节点目录:

回到我们的客户端机器,打开windows的开始菜单,选择“IBM DB2”--“命令行工具”--“命令窗口”:

db2 => catalog TCPIP node n1 remote

192.168.102.163 server db2c_db2inst2

DB20000ICATALOG TCPIP NODE命令成功完成。

DB21056W只有在刷新目录高速缓存以后,目录更改才会生效。

如何才能够“刷新”呢?使用如下命令,来查看帮助:

db2 => ? DB21056W

DB21056W直到刷新目录高速缓存之后,目录更改才生效。

解释:

若启用了目录高速缓存(DBM CFG dir_cache),数据库、节点和DCS目录文件都高速缓存在内存中。直到刷新该目录高速缓存之后,目录更改才开始生效。参阅“管理指南”中的dir_cache配置参数以获取有关目录高速缓存的描述。

用户响应:

要刷新CLP的目录高速缓存,发出db2TERMINATE。要刷新另一个应用程序的目录信息,停止该应用程序,然后重新启动它。要刷新该数据库的目录信息,停止(db2stop)该应用程序,然后重新启动(db2start)它。

查看帮助后,发现使用terminate即可:

db2 => terminate

DB20000ITERMINATE命令成功完成。

D:\Program Files\IBM\SQLLIB\BIN>

2、在客户端上编目数据库,可以给数据库名在本地取一个“别名”,以防止不同实例下的数据库出现同名的情况:

db2 => catalog database demo as demo2 at node n1

authentication server

DB20000ICATALOG DATABASE命令成功完成。

DB21056W只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => terminate

DB20000ITERMINATE命令成功完成。

3、连接到数据库时出错,提示找不到服务:

db2 => connect to demo2 user db2inst2 using passwd

SQL1337N找不到服务"db2c_db2inst2"。

4、分析:建立节点时,指定的最后一个参数可能有问题,因为我们新建实例的时候,指定的是端口号;与之对应得,客户端的在进行节点编目时也应该指定端口号,而不是服务名:

删除数据库编目和节点目录,为重新配置,做准备:

db2 => uncatalog db demo2

DB20000IUNCATALOG DATABASE命令成功完成。

DB21056W只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => uncatalog node n1

DB20000IUNCATALOG NODE命令成功完成。

DB21056W只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => terminate

DB20000ITERMINATE命令成功完成。

D:\Program Files\IBM\SQLLIB\BIN>db2

5、重建节点目录和数据库编目:

db2 => catalog TCPIP node n1 remote

192.168.102.163 server 55555

DB20000ICATALOG TCPIP NODE命令成功完成。

DB21056W只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => terminate

DB20000ITERMINATE命令成功完成。

db2 => catalog database demo as demo2 at node n1

authentication server

DB20000ICATALOG DATABASE命令成功完成。

DB21056W只有在刷新目录高速缓存以后,目录更改才会生效。

db2 => terminate

DB20000ITERMINATE命令成功完成。

6、成功登陆

db2 => connect to demo2 user db2inst2 using passwd

数据库连接信息

数据库服务器= DB2/LINUX 9.7.1

SQL授权标识= DB2INST2

本地数据库别名= DEMO2

db2 => list node directory

节点目录

目录中的条目数= 2

节点1条目:

节点名= N1

注释=

目录条目类型= LOCAL

协议= TCPIP

主机名= 192.168.102.163

服务名称= 55555

节点2条目:

节点名= NDE5C9F6

注释=

目录条目类型= LOCAL

协议= TCPIP

主机名= 192.168.102.163

服务名称= db2c_db2inst1

总结:1、在本实验中,端口号和通信协议是服务器配置的重要参数,服务名的作用没有体现出来(使用图形化工具配置时,服务名作用十分重要);

2、客户端的配置,比较关键的步骤是节点目录和数据库编目的创建。

linux db2配置实例用户,[DB2]原创--新建实例与网络通信配置相关推荐

  1. 中兴交换机配置telnet连接_原创:思科交换机常用配置

    一.交换机的配置方式 1.Console 将配置电缆的DB-9(或DB-25)孔式插头 接到要对交换机进行配置的微机或终端的串口上. 首先启动超级终端,点击windows的开始→程序→附件→通讯→超级 ...

  2. 配置库用户_手把手教新手安装Anaconda配置开发环境

    Anaconda是针对Python的集成环境,它已经成为全球数千万数据科学从业人员必备的开发工具,帮助人们有效地解决数据科学和机器学习相关地问题.如果你想从事数据科学和机器学习的工作,可以从本文开始, ...

  3. linux看是不是db2实例用户,切换到实例用户以后不能执行 db2

    切换到实例用户以后不能执行 db2 在linux下安装了db2 express ,但是在切换到实例用户以后不能执行db2命令:-sh-3.2$ su - db2inst1 Password: -sh- ...

  4. linux db2 数据源配置文件,为 DB2 UDB 系列配置数据源

    Colin Yu,业务方案团队, IBM 多伦多实验室 Jane Fung, WebSphere Studio 技术支持部, IBM 多伦多实验室 2003 年 9 月 本文描述了在 WebSpher ...

  5. AIX环境:su 到实例用户下连库并执行Db2命令方法

    问题: 在linux环境下,如果想使用root用户切换到实例用户下,连库并执行db2命令,采用以下方式即可: # su - db2inst1 -c "db2 connect to sampl ...

  6. 安装完db2后新建实例

    在DB2中实例的可以如下描述:一个实例提供了一个独立的环境,在这个环境里可以进行数据库操作和程序运行.在一个服务器中可以有多个实例,每个实例可以有多个数据库.由于环境是独立的,所以实例间内容上是不透明 ...

  7. linux服务器mysql数据库新建数据库并配置数据库用户

    linux服务器mysql数据库新建数据库并配置数据库用户 第一步:进入数据库 mysql -uroot -p 提示输入密码,输入你的root用户密码(默认不显示) 如下图: 第二步:创建一个数据库 ...

  8. Redhat Linux 5.3环境实施DB2 V9.7 HADR

    数据库主机:使用VMware workstation 虚拟两台机器 操作系统:Red Hat EL 5.3 数据库软件:DB2 V9.7 虚拟机,操作系统环境安装过程省去. 2.2逻辑拓扑结构 2.3 ...

  9. db2 linux 导入数据_linux导入db2数据库

    AIX系统上实现DB2数据导入LINUX系统 下面为您介绍的DB2数据导入导出方法实现的是AIX系统上DB2数据导入LINUX系统,如果您对DB2数据导入方面感兴趣的话,不妨一看. (一)AIX系统上 ...

最新文章

  1. 基于HAproxy的web动静分离及输出状态检测页面
  2. 自己去年用intraweb写的模仿动网论坛的原程序,用的是动网论坛的数据库
  3. python实现图形旋转_python轻松实现图片旋转
  4. [转]JSP中EL表达式三元运算符的使用
  5. OpenExpressApp对建模支持的初步计划
  6. linux shell之控制台打印各种颜色字体和背景
  7. 海思芯片怎么使用tde给qt加速_3519移植Qt适配附件
  8. 服务器中有两个R文件夹,一台服务器中配置多个git sshkey
  9. python变量命名规则_Python教程第9篇:牢记Python变量命名5大规则
  10. 远程mysql用ssh连接_使用SSH密钥连接到远程MySQL服务器
  11. OceanBase架构介绍
  12. 如何将 Apple Watch 用作闹钟?
  13. 解析几何 | 吕子根 设三平行平面 $\pi_i:\ Ax+By+Cz+D_i=0\,(i=1,2,3),L,M,N$ 依次是平面 $\pi_1,\pi_2,\pi_3$ 上的任意点,求 $\tria
  14. [导入]Reporting Services 6: 在服务器端报表中筛选数据
  15. 规范JavaScript注释
  16. mumu 模拟器连不上adb
  17. es配置中文和拼音分词器
  18. python基础篇:字符画生成~甜心教主
  19. 大菠萝已经完全变味了
  20. 程序员的算法趣题Q67: 不挨着坐是一种礼节吗?

热门文章

  1. 一分钟开发一套美容店在线预约小程序
  2. 【word使用】word文档查看字符统计
  3. 《Effective Morden C++》Item 8: Prefer nullptr to 0 and NULL.
  4. 编程之余—80后夫妻公约
  5. Qt 记住上次打开路径
  6. 阿里云主机遭受DDOS攻击IP不能使用如何更换弹性公网IP
  7. 2020-10-14
  8. 【python】保存某个文件夹下所有图片名字到一个txt文件里
  9. JS if 水仙花数 游乐园门票计算 闰年 三元运算符 for循环 算法 穷举法 While 拔萝卜 等差数 随机数函数random 区间数 猜数字
  10. edge浏览器如何把网页放到桌面_edge浏览器怎么把网页放桌面 - 卡饭网