linux下DB2中在命令行状态下如何实现DB2实例?

以下的文章主要向大家描述的是在linux操作系统下DB2数据库中在命令行状态下对第二个DB2实例进行创建的实际操作步骤,以下就是DB2实例进行创建的实际操作步骤具体方案的描述,希望在你今后的学习中会有所帮助。

linux下DB2中,在命令行状态下创建第二个DB2实例DB2inst2全过程详解

这个全过程是***次接触到DB2时要求做的,然后当时DB2的安装文件又找不到了,所以自己从网上找些资料,然后自己摸索着建出来的,如有遗漏错误,还请不吝赐教。

(这个***是使用DB2的安装文件来建第二个实例,方便而且不会出错。下面讲的是笨方法~)

首先,系统原有的DB2信息,

安装目录 : /opt/IBM/DB2/V8.1

DB2inst1实例目录 : /home/DB2inst1

现在需要创建DB2inst2实例:

1.首先创建实例目录:

(( 创建之前,查看磁盘可用空间 以确定剩余空间足够使用 命令: df -k ))

  1. cd /home  
  2. mkdir DB2inst2  

2.然后给DB2inst2实例创建实例用户和组:

创建组:

  1. groupadd DB2inst25 O:  

创建用户DB2inst2,设定设定用户主目录,设定primaryGroup为DB2grp1:(useradd –help 查看参数)useradd -m -d /home/DB2inst2 -s /bin/bash -g DB2grp1 -G DB2inst2 DB2inst2

 

如果不知道用户的密码,可以在root用户下 ,命令passwd -d DB2inst2 可以删除DB2inst2用户的密码,然后返回明文的DB2inst2用户的密码passwd: Success

然后在DB2inst2用户下 ,使用命令passwd修改密码(首先要输入当前密码:Success)

3.创建实例

创建DB2实例DB2inst2:

  1. ./DB2icrt -u DB2inst2 DB2inst2 

4.建数据库,建表

 

创建数据库gpending:

(如果需要建立的数据库目录为自己设定的目录,就需要首先建立好那个目录,并设定好目录的owener为DB2inst2)

建库命令:

  1. DB2 create db gpending on /home/DB2inst2/pending using codeset UTF-8 territory US  

(这条命令中数据库的目录/home/DB2inst2/pending中,/pending即为用户自己设定的目录,因此需要修改权限 chown -R DB2inst2:DB2grp1 pending )

然后命令 DB2

 

进入DB2命令行,connect to gpending 可以返回:数据库连接信息

数据库服务器 = DB2/LINUX 8.2.7

 

SQL 授权标识 = DB2INST2

本地数据库别名 = GPENDING

证明数据库的本地连接成功。

 

建表语句不再描述。

 

DB2下 命令list tables for all

可以返回所有的表(包含刚创建的)#p#

5.配置远程连接端口

 

首先为远程连接配置空闲端口: (查看端口使用情况命令: netstat -na | grep 50000 查看50000端口是否已使用中 )

vi /etc/services 查看分配给DB2实例DB2inst2的端口. 返回结果中db这一块的有

  1. # Local services  
  2. DB2_DB2inst1 60000/tcp  
  3. DB2_DB2inst1_1 60001/tcp  
  4. DB2_DB2inst1_2 60002/tcp  
  5. DB2_DB2inst1_END 60003/tcp  
  6. DB2c_DB2inst1 50000/tcp  
  7. DB2i_DB2inst1 50001/tcp)   
  8. DB2_DB2inst2 60004/tcp  
  9. DB2_DB2inst2_1 60005/tcp  
  10. DB2_DB2inst2_2 60006/tcp  
  11. DB2_DB2inst2_END 60007/tcp  
  12. )  

在里面添加两条:

 

  1. DB2c_DB2inst2 70000/tcp  
  2. DB2i_DB2inst2 70001/tcp  

分别为为DB2inst2实例的侦听端口和中断端口。

 

网上找到的大部分创建第二个实例以及建表的方法就至此结束了,但是实际使用的时候,远程连接还是连接不上的。

后来找到了通过另一实例DB2inst1使用CATALOG编目的方法来实现远程连接的成功方法。

首先切换到另一用户,这里使用DB2inst1:

 

在root下:

 

su – DB2inst1

 

编目节点名,取任意名称,如为inst3,指向DB2机器所在,之前在etc/services文件中为DB2inst2实例配置的侦听端口:

 

 

  1. DB2 "catalog tcpip node inst3 remote 10.213.1.95 server 70000" 

然后给节点指向的DB2inst2实例新建的数据库配置别名:

 

  1. 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 ,你可以看到如下信息:

  1.  DB2 _INLIST_TO_NLJN=YES 
  2. DB2_EVALUNCOMMITTED=yes 
  3. DB2_RR_TO_RS=YES 

DB2COMM=tcpip (该属性是指明该DB2实例使用的通信协议,一个实例可以使用多个通信协议,多个通信协议之间使用逗号分开,如:TCPIP、IPX、APPC、NPIPE……)

DB2AUTOSTART=yes( 设置实例是否在系统启动是自动启动,在Windows系统中DB2的实例是作为服务形式启动的)

但是在用户db2inst2下使用 命令db2set,你将什么也看不到!

所以要手动设置参数:

在 db2inst2下:

  1. db2set DB2COMM=tcpip   
  2. 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的配置成功完成!

【编辑推荐】

  1. IBM DB2跨平台数据库迁移操作与潜在危机
  2. IBM DB2参数调优如何显神功?
  3. DB2 dart恢复数据的操作步骤与应用代码
  4. DB2数据复制与数据库迁移追根述源
  5. DB2 CMO安装7.1.2.6补丁之后会出现的错误

 

 

 

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/229298.html<

(0)
管理的头像管理
上一篇2025-04-18 17:08
下一篇 2025-04-18 17:09

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注