快速掌握IBM DB2数据库的常用操作指令
将WINDOWS上的DB2数据库迁移到AIX系统时需要把握的操作指令:
强制停止所有数据库链接:db2 force application all
停止DB2:db2stop force :
启动数据库:db2start
1. 查看本地节点目录
命令窗口中输入:db2 list node directory
2. 编目一个TCP/IP节点
命令窗口:db2 catalog tcpip node 3. 取消节点编目 db2 uncatalog node 1. 查看本地节点目录 命令窗口中输入:db2 list node directory 2. 编目一个TCP/IP节点 命令窗口:db2 catalog tcpip node 3. 取消节点编目 db2 uncatalog node 4. 查看系统数据库目录 db2 list database directory 5. 查看本地数据库目录 db2 list database directory on <盘符> 在本地数据库目录中有而系统数据库目录中没有的数据库不能访问,可以在控制中心中选中<数据库>右键单击选择添加,然后输入需要添加的数据库名称或者点击刷新按钮选择数据库,加入数据库后即可以访问。 6. 编目数据库 db2 catalog database 7. 取消数据库编目 db2 uncatalog database 8. 测试远程数据库的连接 db2 connect to 9. 任何用户均可通过设置Current Schema专用寄存器为特定的数据库连接设置默认模式,初始默认值为当前会话用户的权限ID。 set schema = 可以由用户交互式的使用,也可在应用程序中使用,假如用Dynamicrules Bind选项绑定包,这个语句就没有作用。此语句不在事务控制之下。 10. 代码页的设置 在创建数据库时设置字符集 create database 例: create database dbtest using codeset IBM-437 territory US 也可以设置整个数据库的代码页,在win2000/NT/xp中,在我的电脑属性高级环境变量中添加变量DB2CODEPAGE = 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 14. 执行脚本文件 命令窗口:db2 -tvf 15. 代码页的转换 16. 获取当前DB2的版本 select * from sysibm.sysversions 17. DB2表的字段的修改限制? 只能修改VARCHAR2类型的并且只能增加不能减少 alter table 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 25. 如何修改缓冲区? 增加缓冲区: create bufferpool [pagesize 4096] {[not] EXTENDED STORAGE} 修改缓冲区: alter bufferpool 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表示检查整个数据库的一致性 29. 测试SQL语句的性能 db2batch -d -r 选项表示将查询结果输出到一个文件中。 30. 导出某个表的数据 export to 如:导出用户表 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 上述命令为特定的数据库对象的创建用户,指定的模式生成DDL文件,并在CREATE语句之前生成DROP语句. 注释:在根据DDL文件生成数据库对象时,最好是将分阶段形成数据库对象:数据库模式/数据库表/数据库视图和存储过程等,请注重上述命令在生成时有一定的顺序:数据库对象类别例如视图DDL/表DDL等。