日期:2014-05-16  浏览次数:20420 次

学习db2过程中的一些记录

实现:在客户端远程连接服务器端的db2(db2之间的互连)

?

本文假定如下:

客户端为windows/linux/unix,客户端也已经安装了db2或者客户端

服务器端为windows/linux/unix

客户端ip:192.168.42.147,服务器端ip为192.168.42.102

?

步骤:

在客户端建立服务器端数据库的节点

在客户端命令行执行

Db2 catalog tcpip node test remote 192.168.42.102 server 50000

注:test为在客户端定义的节点,名字可以任意

192.168.42.102为客户端的ip

50000为DB2使用的端口

查找服务器端DB2使用的端口,

如果服务器端为linux,可以访问/etc/services文件,如果你的实例名为db2inst1,找到如下行

db2inst1 50000/tcp

如果服务器端为windows,查看X:/WINNT/System32/drivers/etc/services

?

绑定节点和客户端的数据库

执行下面的命令db2 catalog db coshine at node test

注:coshine为服务器端中你想要连接的数据库名

Test就是步骤一种定义的节点

使绑定生效

执行db2 terminate

设定客户端db2codepage(代码页设置)即字符编码

先在服务器端查询db2codepage,执行db2set –all

[i] DB2_EXTENDED_OPTIMIZATION=ON

[i] DB2_DISABLE_FLUSH_LOG=ON

[i] AUTOSTART=YES

[i] DB2_STRIPED_CONTAINERS=ON

[i] DB2_HASH_JOIN=Y

[i] DB2COMM=tcpip

[i] DB2CODEPAGE=819

[i] DB2_PARALLEL_IO=*

可以看到服务器端的DB2CODEPAGE为819,所以客户端也必须设置为这个数字

执行db2set db2codepage=819

进行连接

执行db2 connect to coshine user user_name using password

?

注释

Db2codepage:即db2数据库的编码方式

db2codepage=1386(简体中文)

?db2country=86(中国)

一个数据库一旦建立,他的代码页就没有办法改, ??

? ??

? db2set ? DB2CODEPAGE=1386只能改变代码页环境,不能改变数据库的代码页

? ? 如果不能连接:检查如下是否正确

确保可以ping通服务器端:ping 192.168.42.102

确保服务器端的db2已经启动:db2start

确保客户端DB2COMM设置为tcpip

先查看db2comm设置:db2set –all

如果没有设置这个注册表,执行db2set db2comm=tcpip

将SVCENAME设置成/etc/services中的端口号或者服务名了吗?

执行db2 get dbm cfg查看,找到SVCENAME,如果当前值不是服务器端的端口号或者服务名,进行更新设置

执行:db2 update dbm cfg SVCENAME db2inst1

注:db2inst1为服务名,这个在/etc/services文件中db2inst1 50000/tcp

一致

?

?

?

?

?

DB2数据库基本操作指令30条

2009-07-06 00:36 佚名 it168 我要评论(1) 字号:T | T

?

本文向您介绍DB2的30条基本操作指令,包括数据库的导入导出、查看存储过程、版本迁移等常用指令。

AD: 2013大数据全球技术峰会低价抢票中

1.查看本地节点目录

?

命令窗口中输入:db2 ? list ? node ? directory

?

2.编目一个TCP/IP节点

?

命令窗口:db2 ? catalog ? tcpip ? node ? ? ?remote ? ? server ? ? ?ostype?

?

3.取消节点编目

?

db2 ? uncatalog ? node ?

?

4.查看系统数据库目录

?

db2 ? list ? database ? directory

?

5.查看本地数据库目录

?

db2 ? list ? database ? directory ? on ? <盘符>

?

在本地数据库目录中有而系统数据库目录中没有的数据库不能访问,可以在控制中心中选中 <数据库> 右键单击选择添加,然后输入需要添加的数据库名称或者点击刷新按钮选择数据库,加入数据库后即可以访问。

?

6.编目数据库?

?

db2 ? catalog ? database ? ? ?as ? ? ?at ? node ? ?

?

7.取消数据库编目 ?

?

db2 ? uncatalog ? database ?

?

8.测试远程数据库的连接

?

db2 ? connect ? to ? ? ?user ? ? ?using ?

?

9.任何用户均可通过设置CurrentSchema专用寄存器为特定的数据库连接设置默认模式,初始默认值为当前会话用户的权限ID。

?

set ? schema ? = ?

?

可以由用户交互式的使用,也可在应用程序中使用,如果用DynamicrulesBind选项绑定包,这个语句就没有作用。此语句不在事务控制之下。

?

10.代码页的设置

?

在创建数据库时设置字符集

?

create ? database ? ? ?using ? codeset ? ? ?territory ?

?

例: ?create ? database ? dbtest ? using ? codeset ? IBM-437 ? territory ? US

?

也可以设置整个数据库的代码页,在win2000/NT/xp中,在我的电脑--> 属性--> 高级--> 环境变量中添加变量DB2CODEPAGE ? = ? ,例:DB2CODEPAGE ? = ? 437 ? 或 ? DB2CODEPAGE ? = ? 1386。或者在IBM ? DB2命令窗口输入db2set ? DB2CODEPAGE=1386,设置后需要重新启动DB2生效。

?

11.DB2低版本数据到高版本的迁移

?

先将低版本数据备份使用恢复功能导入高版本数据库,然后在命令窗口输入db2 ? migrate ? database ? 。

?

12.表名或模式中含有引号时访问表

?

命令窗口:db2 ? select ? * ? from ? \ "tabschema\ ".\ "tabname\ " ?

?

命令行处理器:db2=> ? select ? * ? from ? "tabschema ". "tabname "

?

13.导出数据库的表结构生成DDL文件

?

命令窗口:db2look ? -d ? ? ?-e ? -c ? -o ?