<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>天道酬勤 &#187; configure</title>
	<atom:link href="http://www.ochef.net/tag/configure/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ochef.net</link>
	<description>RDBMS and My Life</description>
	<lastBuildDate>Mon, 19 Jul 2010 02:01:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=7116</generator>
		<item>
		<title>Install and configure DB2 V9.7 client for linux</title>
		<link>http://www.ochef.net/2009/11/install-and-configure-db2-v9-7-client-for-linux/</link>
		<comments>http://www.ochef.net/2009/11/install-and-configure-db2-v9-7-client-for-linux/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 01:49:10 +0000</pubDate>
		<dc:creator>ochef</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[db2]]></category>

		<guid isPermaLink="false">http://www.ochef.net/?p=663</guid>
		<description><![CDATA[DB2 V9.7 client安装在RedHat Linux平台上最低要求为5.2以上，kernel最低为2.6.16，否则在安装时会遇到如下的错误提示信息： WARNING: The required minimum kernel level is 2.6.16 Required minimum level of glibc is 2.4.0 检查系统包 #rpm -qa&#124;grep  compat-libstdc++ compat-libstdc++**.rpm 配置 Linux 内核参数 #vi /etc/sysctl.conf文件，添加内核参数 kernel.msgmni =1024 kernel.sem = 250  256000  32  1024 #sysctl  -p  使其修改立即生效 下载db2 V9.7的客户机安装包下载并安装 #tar  -xzvf client_linuxia32_v97.tar.gz #cd client #sh db2_install 创建用户 #groupadd db2iadm1 #useradd -m -g [...]]]></description>
			<content:encoded><![CDATA[<p>DB2 V9.7 client安装在RedHat Linux平台上最低要求为5.2以上，kernel最低为2.6.16，否则在安装时会遇到如下的错误提示信息：</p>
<p>WARNING:</p>
<p>The required minimum kernel level is 2.6.16</p>
<p>Required minimum level of glibc is 2.4.0</p>
<p>检查系统包</p>
<p>#rpm -qa|grep  compat-libstdc++</p>
<p>compat-libstdc++**.rpm</p>
<p>配置 Linux 内核参数</p>
<p>#vi /etc/sysctl.conf文件，添加内核参数</p>
<p>kernel.msgmni =1024</p>
<p>kernel.sem = 250  256000  32  1024</p>
<p>#sysctl  -p  使其修改立即生效</p>
<p>下载db2 V9.7的客户机安装包下载并安装</p>
<p>#tar  -xzvf client_linuxia32_v97.tar.gz</p>
<p>#cd client</p>
<p>#sh db2_install</p>
<p>创建用户</p>
<p>#groupadd db2iadm1</p>
<p>#useradd -m -g db2iadm1 -d /home/db2inst1 db2inst1</p>
<p># /opt/ibm/db2/V9.7/instance/db2icrt -a server db2inst1</p>
<p>#passwd db2inst1</p>
<p>添加DB2端口</p>
<p>#su -</p>
<p>#vi /etc/services 加入下面一行</p>
<p>db2inst1   50000/tcp</p>
<p>修改/etc/hosts文件，添加服务器的IP和客户机的IP</p>
<p>#vi /etc/hosts</p>
<p>设置实例的环境变量</p>
<p>运行脚本  /home/db2inst1/sqllib/db2profile</p>
<p>在服务器端配置TCP/IP通信</p>
<p>[db2inst1@ochef ~]$ db2 update database manager configuration using svcename db2inst1</p>
<p>[db2inst1@ochef ~]$ db2 get dbm cfg |grep -i &#8220;svcename&#8221;</p>
<p>设置DB2服务器的通信协议</p>
<p>[db2inst1@ochef ~]$ db2set DB2COMM=tcpip</p>
<p>[db2inst1@ochef ~]$ db2stop</p>
<p>[db2inst1@ochef ~]$ db2start</p>
<p>从客户端编目TCP/IP节点</p>
<p>[db2inst1@ochef ~]$ db2 catalog tcpip node ochefdb2 remote 192.168.0.97 server 50000</p>
<p>[db2inst1@ochef ~]$ db2 terminate</p>
<p>编目TCP/IP节点是要在client端节点目录中添加一个描述远程节点的条目，client端访问server端时告诉它远程主机所选择的别名（node_name）、hostname（ip_address）和svcename（或port_number）。</p>
<p>在客户端编目TCP/IP节点时遇到如下错误：</p>
<p><span style="color: #ff0000;">SQL10007N Message &#8220;-1390&#8243; could not be retrieved.  Reason code: &#8220;3&#8243;.</span></p>
<p>这个问题困扰了我一下午，百思不得其解，后来无意使用db2ilist查看实例信息，返回的结果是空的，是不是因为没有创建instance造成的呢？这点跟ORACLE完全不一样，客户端要创建什么实例？死马当活马医吧，回到root用户，运行db2icrt命令去创建instance，再回db2inst用户下编目TCP/IP一切ok。</p>
<p>#/opt/ibm/db2/V9.5/instance/db2icrt -a AuthType -u FencedID InstName</p>
<p>-a AuthType （Linux 或 UNIX）</p>
<p>表示实例的认证类型。AuthType 可为 SERVER、CLIENT 或 SERVER_ENCRYPT 其中之一。 SERVER 是缺省值。此参数是可选的。</p>
<p>-u FencedID</p>
<p>指定创建的受防护用户的名称。表示将用来运行受防护用户定义的函数（UDF）和受防护存储过程的用户的名称。如果在客户机上创建实例，那么此选项不是必需的。但是在server上创建时必须要指定这个FencedID的。</p>
<p>InstName</p>
<p>表示实例的名称。实例的名称必须与拥有实例的用户的名称相同。指定创建的拥有实例的用户的名称，将在拥有实例的用户的主目录中创建该实例。</p>
<p>解决该问题后，catalog编目：</p>
<p>[db2inst1@ochef ~]$ db2 catalog database sample at node ochefdb2</p>
<p>[db2inst1@ochef ~]$ db2 terminate</p>
<p>必须先在客户端上编目数据库，客户端应用程序才能访问远程数据库。在编目远程数据库时需要数据库名称、数据库别名、节点名、认证类型、注释等信息。只有在client端要连接到server端时才需要编目，因为节点目录用于存储远程数据库的所有连通性信息，这一过程类似ORACLE中sqlnet.ora和tnsnames.ora二个文件的作用。</p>
<p>使用CLP测试客户端到服务器的连接：</p>
<p>[db2inst1@ochef bin]$db2  connect to sample user db2inst1 using db2inst1</p>
<p>如果连接成功，会收到一条显示已经连接到的数据库名称，如下所示：</p>
<p>Database Connection Information</p>
<p>Database server      = DB2/LINUX 9.7.0</p>
<p>SQL authorization ID  = DB2INST1</p>
<p>Local database alias   = SAMPLE</p>
<p>通过客户端查询系统目录表中列示的所有表名的列表：</p>
<p>[db2inst1@ochef ~]$db2 select tabname from syscat.tables</p>
<p>……</p>
<p>HMON_ATM_INFO</p>
<p>HMON_COLLECTION</p>
<p>POLICY</p>
<p>433 record(s) selected.</p>
<p>要中断连接时，使用db2 connect reset 命令将中断该连接。</p>
<p>附：Configure db2 client to server connection checklist:</p>
<p>1 DB2SYSTEM注册变量是否为主机的hostname，db2安装时已经默认设置，如中间更改过hostname，需要重设：</p>
<p>$db2set DB2SYSTEM=HOSTNAME</p>
<p>2 在serverh 验证实例使用的通讯协议，查看DB2COMM变量</p>
<p>$db2set -all  若不是需修改</p>
<p>$db2set DB2COMM=tcpip</p>
<p>3 查看/etc/services中，有无与上面对应SVCENAME的端口，例如：</p>
<p>db2inst1 50000/tcp</p>
<p>要确认服务器是否在监听，可以用netstat -an 来查看端口是否处于LISTEN状态</p>
<p>tcp   0   0 0.0.0.0:50000     0.0.0.0:*      LISTEN</p>
<p>4 更新实例配置文件</p>
<p>$db2 update dbm cfg using svcename db2inst1</p>
<p>5 是否在client端catalog节点</p>
<p>$ db2 catalog tcpip node ochefdb2 remote 192.168.0.97 server 50000</p>
<p>验证远程服务器实例配置</p>
<p>$db2 list node directory</p>
<p>Node Directory</p>
<p>Number of entries in the directory = 1</p>
<p>Node 1 entry:</p>
<p>Node name                      = OCHEFDB2</p>
<p>Comment                        =</p>
<p>Directory entry type           = LOCAL</p>
<p>Protocol                       = TCPIP</p>
<p>Hostname                       = 192.168.0.97</p>
<p>Service name                   = 50000</p>
<p>查看更详细的信息使用：</p>
<p>$db2 list node directory show detail</p>
<p>6 ping hostname来验证通讯</p>
<p>使用telnet hostname port来验证是否能连到实例。</p>
<p>-The End-</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ochef.net/2009/11/install-and-configure-db2-v9-7-client-for-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
