现在的位置: 首页 > 综合 > 正文

DB2 实用操作指令总结

2013年10月08日 ⁄ 综合 ⁄ 共 4933字 ⁄ 字号 评论关闭
  近期经常要将WINDOWS上的DB2数据库迁移到AIX系统上,因此有些操作指令比较常用

db2 force application all : 强制停止所有数据库链接
            db2stop force
停止DB2
            db2start
启动数据库
   
           

            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
32.异构操作系统的数据库数据的导出与导入
DB2MOVE DBNAME EXPORT –SN SCHEMANAME –U USERID –P PASSWORD
DB2MOVE DBNAME IMPORT
33.导出数据库的所有对象生成DDL文件
             
命令窗口:db2look -d <db_name> -u createuser-z schemaname –I userid –w password -o <file_name> -dp
上述命令为特定的数据库对象的创建用户,指定的模式生成DDL文件,并在CREATE语句之前生成DROP语句.
(,在根据DDL文件生成数据库对象时,最好是将分阶段形成数据库对象:数据库模式/数据库表/数据库视图和存储过程等,因为上述命令生成时有一定的顺序:按数据库对象类别如视图DDL/DDL)
 

 

抱歉!评论已关闭.