设为首页 收藏本站
查看: 1036|回复: 0

[经验分享] 学习db2过程中的一些记录

[复制链接]

尚未签到

发表于 2016-11-14 08:05:30 | 显示全部楼层 |阅读模式
  实现:在客户端远程连接服务器端的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
   DB2_EXTENDED_OPTIMIZATION=ON
   DB2_DISABLE_FLUSH_LOG=ON
   AUTOSTART=YES
   DB2_STRIPED_CONTAINERS=ON
   DB2_HASH_JOIN=Y
   DB2COMM=tcpip
   DB2CODEPAGE=819
   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更新

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-299909-1-1.html 上篇帖子: Db2 常用命令总结 下篇帖子: db2 游标及其他
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表