DB2数据库命令简介

DB2数据库命令简介
 
LoadAllIEPlugin=1

1.启动数据库

      db2start

2.停止数据库

      db2stop

3.连接数据库

      db2 connect to o_yd user db2 using pwd

4.读数据库管理程序配置

      db2 get dbm cfg

5.写数据库管理程序配置

      db2 update dbm cfg using 参数名 参数值

6.读数据库的配置

      db2 connect to o_yd user db2 using pwd

      db2 get db cfg for o_yd

7.写数据库的配置

      db2 connect to o_yd user db2 using pwd

      db2 update db cfg for o_yd using 参数名 参数值

8.关闭所有应用连接

      db2 force application all

      db2 force application ID1,ID2,,,Idn MODE ASYNC

      (db2 list application for db o_yd show detail)

9.备份数据库

      db2 force application all

      db2 backup db o_yd to d:

     (db2 initialize tape on //./tape0)

     (db2 rewind tape on //./tape0)

     db2 backup db o_yd to //./tape0

10.恢复数据库

     db2 restore db o_yd from d: to d:

     db2 restore db o_yd from //./tape0 to d:

11.绑定存储过程

    db2 connect to o_yd user db2 using pwd

    db2 bind c:/dfplus.bnd

   拷贝存储过程到服务器上的C:/sqllib/function目录中

12.整理表

     db2 connect to o_yd user db2 using pwd

     db2 reorg table ydd

     db2 runstats on table ydd with distribution and indexes all

13.导出表数据

      db2 export to c:/dftz.txt of del select * from dftz

      db2 export to c:/dftz.ixf of ixf select * from dftz

14.导入表数据

import from c:/123.txt of del   insert into ylbx.czyxx

db2 import to c:/dftz.txt of del commitcount 5000 messages   c:/dftz.msg insert into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 messages c:/dftz.msg insert into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 insert into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 insert_update into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 replace into dftz

db2 import to c:/dftz.ixf of ixf commitcount 5000 create into dftz    (仅IXF)

db2 import to c:/dftz.ixf of ixf commitcount 5000 replace_create into dftz   (仅IXF)

15.执行一个批处理文件

        db2 -tf 批处理文件名

       (文件中每一条命令用 ;结束)

16.自动生成批处理文件

      建文本文件:temp.sql

    select 'runstats on table DB2.' || tabname || '

    with distribution and   detailed indexes all;'

    from syscat.tables where tabschema='DB2' and type='T';

db2 -tf temp.sql>runstats.sql

17.自动生成建表(视图)语句

在服务器上:C:/sqllib/misc目录中

db2 connect to o_yd user db2 using pwd

db2look -d o_yd -u db2 -e -p -c c:/o_yd.txt

18.其他命令

grant dbadm on database to user bb

19select * from czyxx fetch first 1 rows only

20db2look -d ylbx -u db2admin -w -asd -a -e -o a.txt21. 显示当前用户所有表

  list tables

22.列出所有的系统表

  list tables for system

23.查看表结构

  db2 describe select * from user.tables

DB2 实用操作指令总结

db2 force application all : 强制停止所有数据库链接

            db2stop force : 停止DB2

            db2start : 启动数据库

  

             SET INTEGRITY FOR [ MView Table Name ] IMMEDIATE CHECKED :

             REFRESH TABLE     [ MView Table Name ]     对建立的MView物化视图进行refresh操作。

            1. 查看本地节点目录

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

            2. 编目一个TCP/IP节点

              命令窗口:db2 catalog tcpip node <node_name> remote

            <hostname|ip_address> server <svcname|port_number> ostype

            <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX>

            3. 取消节点编目

              db2 uncatalog node <node_name>

            1. 查看本地节点目录

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

            2. 编目一个TCP/IP节点

              命令窗口:db2 catalog tcpip node <node_name> remote

            <hostname|ip_address> server <svcname|port_number> ostype

            <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX>

            3. 取消节点编目

              db2 uncatalog node <node_name>

            4. 查看系统数据库目录

              db2 list database directory

            5. 查看本地数据库目录

              db2 list database directory on <盘符>

             

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

            6. 编目数据库

              db2 catalog database <db_name> as <db_alias> at node <node_name>

            7. 取消数据库编目

              db2 uncatalog database <db_name>

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

              db2 connect to <db_alias> user <user_id> using <password>

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

              set schema = <schema name>

              可以由用户交互式的使用,也可在应用程序中使用,如果用Dynamicrules

            Bind选项绑定包,这个语句就没有作用。此语句不在事务控制之下。

            10. 代码页的设置

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

              create database <db_name> using codeset <codeset> territory

            <territiry>

              例:

              create database dbtest using codeset IBM-437 territory US

             

            也可以设置整个数据库的代码页,在win2000/NT/xp中,在我的电脑-->属性-->高级-->环境变量中添加变量DB2CODEPAGE

            = <codepage>,例:DB2CODEPAGE = 437 或 DB2CODEPAGE = 1386。或者在IBM

            DB2命令窗口输入 db2set DB2CODEPAGE=1386,设置后需要重新启动DB2生效。

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

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

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

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

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

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

              命令窗口:db2look -d <db_name> -e -c -o <file_name>

             

            14. 执行脚本文件

              命令窗口:db2 -tvf <file_name>

             

            15. 代码页的转换

            16. 获取当前DB2的版本

              select * from sysibm.sysversions

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

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

              alter table <tb_name> alter column <col_name> set data type

            varchar(SIZE)

            18. 如何查看表的结构?

              describe table <tb_name>

              or

              describe select * from <schema>.<tb_name>

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

              ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE

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

              SELECT * FROM SYSCAT.PROCEDURES

            21. 如何查看表的约束?

              SELECT * FROM SYSCAT.CHECKS WHERE TABNAME = <tb_name>

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

              SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME = <tb_name>

            23. 如何知道BUFFERPOOLS状况?

              select * from SYSCAT.BUFFERPOOLS

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

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

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

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

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

            25. 如何修改缓冲区?

              增加缓冲区:   create bufferpool <buf_name> size <number of pages>

            [pagesize 4096] {[not] EXTENDED STORAGE}

              修改缓冲区:   alter bufferpool <buf_name> size <number of pages> {[not]

            EXTENDED STORAGE}

              删除缓冲区:   drop   bufferpool <buf_name>

              如果缓冲区大小设置为 -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_name> /DB

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

            29. 测试SQL语句的性能

              db2batch -d <db_name> -f <file_name> [-a userid/passwd] [-r

            <outfile_name>]

              -r 选项表示将查询结果输出到一个文件中。

            30. 导出某个表的数据

              export to <Derectry><filme>

            如:导出用户表

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

            31. 导入数据

              import from

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

              import from c:/user.ixf of ixf [Create/Insert into / update]

            tablename

第七部分 DB2使用命令编目远程数据库至本地

 


本文测试环境:Windows 32位平台

              DB2 V7  DB2 V8 版本

1  编目远程节点:

   db2 catalog tcpip node db2cdb2 remote 10.81.XX.XX server 50000

   成功以后显示:

   DB20000I  CATALOG TCPIP NODE 命令成功完成。

   DB21056W  只有在刷新目录高速缓存以后,目录更改才会生效。

 

2  设置编目的节点为当前节点:  

   db2 attach to db2cdb2 user user_name using password

   成功以后显示:

    实例连接信息

 

    实例服务器             = DB2/NT 8.2.0

    授权标识       = user_name

    本地实例别名           = db2cdb2

 

3  编目数据库:

    db2 catalog db DB_NAME AS ALIAS_NAME AT NODE DB2CDB2

   成功以后显示:

   DB20000I  CATALOG DATABASE 命令成功完成。

   DB21056W  只有在刷新目录高速缓存以后,目录更改才会生效。

 

4  测试数据库连接:

   db2 connect to ALIAS_NAME user user_name USING password

   成功显示:

     数据库连接信息

 

    数据库服务器         = DB2/NT 8.2.0

    SQL 授权标识         = user_name
    本地数据库别名       = ALIAS_NAME

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值