学习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  

  14.执行脚本文件

命令窗口:db2   -tvf  

15.代码页的转换

16.获取当前DB2的版本  select   *   from   sysibm.sysversions

17.DB2表的字段的修改限制?

只能修改VARCHAR2类型的并且只能增加不能减少

alter   table      alter   column      set   data   type   varchar   (SIZE)

18.如何查看表的结构?  

describe   table   or describe   select   *   from   .

19.如何快速清除一个大表?

ALTER   TABLE   TABLE_NAME   ACTIVE   NOT   LOGGED   INITALLY   WITH   EMPTY   TABLE

20.如何查看数据库的存储过程?

SELECT   *   FROM   SYSCAT.PROCEDURES

21.如何查看表的约束?

SELECT   *   FROM   SYSCAT.CHECKS   WHERE   TABNAME   =  

22.如何查看表的引用完整约束?

SELECT   *   FROM   SYSCAT.REFERENCES   WHERE   TABNAME   =  

23.如何知道BUFFERPOOLS状况?

select   *   from   SYSCAT.BUFFERPOOLS

24.如何在命令行下查看修改实例和数据库配置参数?

查看实例配置参数:db2   get   dbm   cfg

修改实例配置参数:db2   update   dbm   cfg   using   参数名   新值 

查看数据库配置参数:db2   get   db   cfg   for  

  修改数据库配置参数:db2   update   db   cfg   for      using   参数名   新值

25.如何修改缓冲区?

增加缓冲区:create   bufferpool      size      [pagesize   4096]   {[not]   EXTENDED   STORAGE}  修改缓冲区: alter   bufferpool      size      {[not]   EXTENDED   STORAGE}  

删除缓冲区: drop       bufferpool  

如果缓冲区大小设置为   -1   表示缓冲池的页面数目由数据库配置参数buffpage决定。

注意:数据库配置参数buffpage仅对缓冲区大小设置为   -1   的缓冲池起作用。

26.多个字段时如何不通过使用select子句使用 in/not   in   select   *   from   tabschema.tabname   where   (colA,   colB,   colC)   [not]   in   (values   (valueA1,   valueB1,   valueC1),   (valueA2,   valueB2,   valueC2),   ...(valueAn,   valueBn,   valueCn))

27.查看当前连接到数据库的应用

db2   list   application   [show   detail]

28.如何确认DB2数据库的一致性

db2dart      /DB /DB表示检查整个数据库的一致性

29.导出某个表的数据

export   to  

如:导出用户表

export   to   c:\user.ixf   of   ixf   select   *   from   user 

30、导入数据

import   from  

如:导入用户表。导入时可以直接建立新表。如果有该表存在也可以用INSERT   插入,或者用UPDATE更新

猜你喜欢

转载自chenyingjie1001.iteye.com/blog/1851289