海岛罗马音:DB2数据库基础知识总结(2)

来源:百度文库 编辑:偶看新闻 时间:2024/05/01 22:35:10

SQLSTATE含义

  在db2命令行方式下输入:? 20012(SQLSTATE值),可以获取sql错误含义

  import和export的用法

  IMPORT FROM CO_ACCEPTANCEDRAFT.del OF DEL MESSAGES importmsgs.txt INSERT INTO cmmcorc.CO_ACCEPTANCEDRAFT;

  EXPORT TO CO_ACCEPTANCEDRAFT.del OF DEL MESSAGES exportmsgs.txt SELECT * FROM cmmcorc.CO_ACCEPTANCEDRAFT;

  如果是Sybase导出的文本,并且用TAB分隔符的文档,那么可以采用

  Db2 import from filename.txt of del modified by COLDEL0x09 insert into tablename;

  其中COLDEL是关键字,0x09是16进制,表示tab符号

  Load用法

  load from tempfile of del modified by delprioritychar replace into TABLENAME nonrecoverable;

  说明:

  在不相关的数据表export数据时,可以采取并发的形式,以提高效率;

  TABLENAME指待清理table的名称;

  modified by delprioritychar防止数据库记录中存在换行符,导致数据无法装入的情况;

  replace into对现数据库中的内容进行替换,即将现行的数据记录清理,替换为数据文件内容;

  nonrecoverable无日志方式装入;

  查询出用户表

  SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'

  如何知道当前DB2的版本?

  select * from sysibm.sysversions

  如何知道TABLESPACE的状况?

  select * from sysibm.SYSTABLESPACES

  如何知道INDEX的状况?

  select * from sysibm.sysindexes where tbname=’XXXX’

or

  describe indexes for table table_name show detail

  测试SQL的执行性能

  db2batch -d DB_NAME -f select.sql -r benchmark.txt -o p3

  select.sql是select语句写在文件中

  如何获取连接的进程

  List applications

  删除当前正在使用的application:

  db2 "force application (Id1,Id2,Id3)"

  Id1,Id2,Id3 是List显示的应用号;

  删除所有的进程

   db2 force application all

  查看当前应用号的执行状态:

  db2 get snapshot for application agentid 299 |grep Row

  如何修改缓冲池

  db2 alter bufferpool ibmdefaultbp size 10240

  如何知道表的字段的状况?

  select * from sysibm.syscolumns where tbname=’XXXX’

  如何知道DB2的数据类型?

  select name,* from sysibm.sysdatatypes

  如何知道BUFFERPOOLS状况?

  select * from sysibm.sysbufferpools

  如何查看表的结构?

  describe table table_name