DB2初级使用-常用命令

db2start启动具体的数据库实例。   
db2admin   start启动管理服务器(DAS)。

点开始菜单,选择运行
输入db2cc ,或者db2cmd
就可以启动控制台了,。
输入db2cw就是命令行
在命令行输入db2start启动数据库,db2stop 停止数据库

输入 db2systray 可以把你推出的图标重新启动出来。

create tablespace ::

The CREATE TABLESPACE statement defines a new table space within the database, assigns containers to the table space, and records the table space definition and attributes in the catalog.

eg1:
CREATE TABLESPACE TS1 MANAGED BY DATABASE USING (file'd:/aa' 200m)  DMS
CREATE TABLESPACE TS2 MANAGED BY SYSTEM USING ('d:/bb') SMS



0.进入db2命令环境
db2cmd

1.启动db2
db2start;

2.关闭db2
db2stop;
db2stop force;

3.创建数据库
db2 create db <db name>;
db2 create db <db name> using codeset GBK territory CN;
db2 Create database <db name> using codeset IBM-eucCN territory CN;
这样可以支持中文。

4.删除数据库(执行此操作要小心)
db2 drop db <db name>

如果不能删除,断开所有数据库连接或者重启db2。

5.断开数据库连接
db2 force application all

6.连接数据库
db2 connect to <db name> user <username> using <password>

7.断开数据库连接
断开当前数据库连接:db2 connect reset
或者:db2 disconnect current
断开所有数据库的连接:db2 disconnect all

8.备份数据库
db2 backup db <db name>

备注:执行以上命令之前需要断开数据库连接

9.恢复数据库
db2 restore db <source db name>

10.导出数据文件
db2move <db name> export [-sn <模式名称,一般为db2admin>] [-tn <表名,多个之间用逗号分隔>];
更多时候用下面这种方式:
db2 export to test.ixf of ixf select * from <tablename>

11.导入数据文件
db2move <db name> import
db2 import from text.ixf of ixf create into <tablename>;(表不存在)
db2 import from text.ixf of ixf insert into <tablename>;(表已经存在)

db2 load from text.ixf of ixf insert into <tablename>;(不写日志)

12.建立映像:

db2 catalog tcpip node nodename remote 10.0.2.3 server 50000
db2 catalog db dbname at node nodename

13.撤销映像:
db2 uncatalog db dbname

14.列出数据库中所有db:
db2 list db directory

列出数据库中的数据表:

list tables; 只显示表格的模式名称(所属的包)与连接到数据库的用户名相同的表。

模式含义:
模式是用于数据库中创建的数据库对象的高级限定符。它是数据库对象的集合,这些对象有表、视图、索引或触发器等等。
它对数据库对象进行了逻辑分类。当您将数据组织成表时,将表和其它相关对象组合在一起可能也很有好处。
eg. 比如一个表,用户A的表table1表示为A.table1,A就是模式,同理,用户B也可以有一个表table1.表示为B.table1。
虽然这两个表名一样,但由于模式不一样,DB2认为是两个对象。

这可以通过使用 create schema 命令定义模式来完成。有关模式的信息保存在您所连接的数据库的系统目录表中。当创建其它对象时,可以将它们放置在该模式内。



15.获取建表脚本:

db2look -d dbname -e -t tablename -a -x -i userId -w password -o filename.sql
-d: 数据库名:这必须指定
-e: 抽取复制数据库所需要的 DDL 文件
-u: 创建程序标识:若 -u 和 -a 都未指定,则将使用 $USER
-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z
-t: 生成指定表的统计信息
-h: 更详细的帮助消息
-o: 将输出重定向到给定的文件名
-a: 为所有创建程序生成统计信息
-m: 在模拟方式下运行 db2look 实用程序
-c: 不要生成模拟的 COMMIT 语句
-r: 不要生成模拟的 RUNSTATS 语句
-l: 生成数据库布局:数据库分区组、缓冲池和表空间。
-x: 生成排除对象的原始定义器的“授权”语句 DDL
-xd: 生成包括对象的原始定义器的“授权”语句 DDL
-f: 抽取配置参数和环境变量
-td: 将 x 指定为语句定界符(缺省定界符为分号(;))
-p: 使用简单文本格式
-s: 生成 postscript 文件
-g: 使用图形来显示索引的页取装对
-i: 登录到数据库驻留的服务器时所使用的用户标识
-w: 登录到数据库驻留的服务器时所使用的密码
-noview: 不要生成 CREATE VIEW ddl 语句
-wrapper: 为适用于此包装器的联合对象生成 DDL
-server: 为适用于此服务器的联合对象生成 DDL
-nofed: 不要生成 Federated DDL
-fd: 为 opt_buffpage 和 opt_sortheap 以及其它配置和环境参数生成 db2fopt语句。

16.查看建视图脚本:
db2 select text from syscat.views where viewname='viewname'

17.导出全部存储过程:
db2 select char(routineschema,20), char(routinename,20), text from syscat.routines > tmp.sql
db2 get routine into f:/tmp.sql from PROCEDURE procedurename(导出某个存储过程)

18. 创建db2实例:
db2icrt <实例名称>

19.删除db2实例:
db2idrop <实例名称>

20.设置当前db2实例:
set db2intance=db2

21.显示db2拥有的实例:
db2ilist

22.查看当前连接数据库:
db2 connect

23.db2命令环境设置
db2 list command options(查看命令环境)
db2 update command options using <option> on <路径>;(只是临时改变)
db2set <变量>=<值>,永久改变
db2set -? 显示命令帮助消息

24.编译和调用存储过程

db2 -td@ -vf procedurefilename.db2 编译存储过程

db2 call procedrename 调用存储过程


25. 读数据库管理程序配置:
db2 get dbm cfg

26.写数据库管理程序配置:
 db2 update dbm cfg using 参数名 参数值

27.
读数据库配置:
db2 get db cfg for database
  查看实例配置参数: db2 get dbm cfg

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

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

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



指定 LIST TABLESPACES 命令的 SHOW DETAIL 选项将显示其它信息:

LIST TABLESPACES
LIST TABLESPACES SHOW DETAIL

29. 要列出容器,我们需要使用以上输出中的 Tablespace ID:

LIST TABLESPACE CONTAINERS FOR 2

30 . 显示表结构:
DESCRIBE   TABLE   tablename;  
31. 执行某脚本文件 
db2 -tvsf xx.sql //对于代参数"s" 的,如果xx.sql中,存在错误,就立即停止执行以下脚本。
db2 -tvf xx.sql //对于不带 参数"s"的,如果 xx.sql中,存在错误,也继续执行。
// 对于此行代码 ,如果没有注释掉,并且先前没有生成
table cmis.eipfleger,则利用:
db2 -tvsf xx.sql执行时,就要报错。
--drop table cmis.eipfleger;
create table cmis.eipfleger(
org_id varchar(8) NOT NULL ,
currency varchar(12) Not Null,
bddate DATE not null ,
subject varchar(12) not null,
sum varchar(12),
cmisstat char(10),
primary key(org_id, currency,bddate,subject))
in dataspace index in indexspace;
~

32.

  set schema =

33.导出表数据
     db2 export to c:/dftz.txt of del select * from dftz
     db2 export to c:/dftz.ixf of ixf select * from dftz
34.导入表数据
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)

35.执行一个批处理文件
       db2 –tf 批处理文件名
      (文件中每一条命令用 ;结束)
36.自动生成批处理文件
     建文本文件:temp.sql
   select 'runstats on table DB2.' || tabname || ' with distribution and  detailed indexes all&#59;' from syscat.tables where tabschema='DB2' and type='T'&#59;
db2 –tf temp.sql>;runstats.sql
37.自动生成建表(视图)语句
在服务器上: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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章