IBM DB2常用操作指南

1.启动实例(db2inst1):实例相当于informix中的服务
db2start
2.停止实例(db2inst1):
db2stop
3.列出所有实例(db2inst1)
db2ilist
5.列出当前实例:
db2 get instance
4.察看示例配置文件:
db2 get dbm cfg|more
5.更新数据库管理器参数信息:
db2 update dbm cfg using para_name para_value
6.创建数据库:
db2 create db test
7.察看数据库配置参数信息
db2 get db cfg for test|more
8.更新数据库参数配置信息
db2 update db cfg for test using para_name para_value
10.删除数据库:
db2 drop db test
11.连接数据库
db2 connect to test
11.列出所有表空间的详细信息。
db2 list tablespaces show detail
12.列出容器的信息
db2 list tablespace containers for tbs_id show detail
13.创建表:
db2 ceate table tb1(id integer not null,name char(10))
14.列出所有表
db2 list tables
12.插入数据:
db2 insert into tb1 values(1,’sam’);
db2 insert into tb2 values(2,’smitty’);
13.查询数据:
db2 “select * from tb1”
14.删除数据:
db2 delete from tb1 where id=1
15.创建索引:
db2 create index idx1 on tb1(id);
16.创建视图:
db2 create view view1 as select id from tb1
17.查询视图:
db2 select * from view1
18.节点编目
db2 catalog tcp node node_name remote server_ip server server_port
19.察看端口号
db2 get dbm cfg|grep SVCENAME
20.节点的附接
db2 attach to node_name
21.察看本地节点
db2 list node direcotry
22.节点反编目
db2 uncatalog node node_name
23.数据库编目
db2 catalog db db_name as db_alias at node node_name
24.察看数据库的编目
db2 list db directory
25.连接数据库
db2 connect to db_alias user user_name using user_password
26.数据库反编目
db2 uncatalog db db_alias
27.导出数据
db2 export to myfile of ixf messages msg select * from tb1
28.导入数据
db2 import from myfile of ixf messages msg replace into tb1
29.导出数据库的所有表数据
db2move test export
30.生成数据库的定义
db2look -d db_alias -a -e -m -l -x -f -o db2look.sql
31.创建数据库
db2 create db test1
32.生成定义
db2 -tvf db2look.sql
33.导入数据库所有的数据
db2move db_alias import
34.重组检查
db2 reorgchk
35.重组表tb1
db2 reorg table tb1
36.更新统计信息
db2 runstats on table tb1
37.备份数据库test
db2 backup db test
38.恢复数据库test
db2 restore db test
39. 拥有实例的所有程序列表
db2 list application
40.db2 terminate
41.查看数据表结构
db2 “describe select * from ggwdxtcs”
/*启动命令界面 */ db2cmd
/*查看帮助*/ db2 ? *
/*连接数据库*/ db2 connecct to <库名> user <用户名> using <用户密码>
/*查看数据库实例*/ db2ilist
/*启动数据库*/ db2start
/*停止数据库应用*/ db2 force applications all
/*停数据库*/ db2stop
/*查看表空间* db2 list tablespaces show detail

/*查看表是否有记录*/ db2 select count(*) from <表名>
/*从文本导入到数据库表中*/ db2 import from ***.ixf of ixf modified by forcein commitcount 1000 insert into <表名>
modified by forcein /*数据库数据在AIX 和 windows 不同版本之间的格式转换*/
commitcount **** /*防止数据库提交过多,引起交易日志满,1000-5000 为宜*/
例子:db2 "import from c:\zj\321104\bbsybsj.ixf of ixf modified by forcein insert into bbsybsj"
/*查看sql语句错误解释*/ db2 ? sql**** ****为四位出错编码,不足位前补0
db2 ? “sqlstate”
db2 ? sqlstate=42884
db2 “select * from syscat.functions” |grep –i rtrim
db2 “select * from syscat.indexes”
表增加列
db2 alter table 表名 add column 字段名 varchar(4)(字段类型)
修改表里的字段
db2 update 表名 set 字段名='xxx' where .....

1.
调试过程,第一步连数据库是怎样写的
db2 disconnect all;
db2 set client connect_dbpartitionnum 1;
db2 connect to masa user masamk using bi2003;
db2 -td@ -f 文件明。
2.
load数据失败后,表处于“检查暂挂”状态。
执行以下语句以解除:
SET INTEGRITY FOR table_name IMMEDIATE CHECKED
3.
导出过程
export to c:\proc.sql of del select text from syscat.procedures where
procname =''
4.
查找前N条记录
select * from table fetch first N rows only
5.
导出
db2 export to c:\pinpai.txt of del modified by coldel0x09 select * from table_name
6.
导入
db2 import from d:\workspace\A0500120.AVL of del modified by coldel0x09
commitcount 1000 insert into table_name
7.
编译脚本
db2 connect masa3 user chenyd
db2 -v -t -f c:\xxxx.sql
-v 显示正在执行的命令
-t 脚本文件中每个命令以 ;号结束
-f 指定文件路径
8.
启动数据库
db2start
9.
停止数据库
db2stop
10.
连接数据库
db2 connect to o_yd user db2 using pwd
11.
读数据库管理程序配置
db2 get dbm cfg
12.
写数据库管理程序配置
db2 update dbm cfg using 参数名 参数值
13.
读数据库的配置
db2 connect to o_yd user db2 using pwd
db2 get db cfg for o_yd
14.
写数据库的配置
db2 connect to o_yd user db2 using pwd
db2 update db cfg for o_yd using 参数名 参数值
15.
关闭所有应用连接
db2 force application all
db2 force application ID1,ID2,,,Idn MODE ASYNC
(db2 list application for db o_yd show detail)
16.
备份数据库
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
17.
恢复数据库
db2 restore db o_yd from d: to d:
db2 restore db o_yd from \\.\tape0 to d:
18.
绑定存储过程
db2 connect to o_yd user db2 using pwd
db2 bind c:\dfplus.bnd
拷贝存储过程到服务器上的C:\sqllib\function目录中

19.
整理表
db2 connect to o_yd user db2 using pwd
db2 reorg table ydd
db2 runstats on table ydd with distribution and indexes all
20.
执行一个批处理文件
db2 –tf 批处理文件名
(文件中每一条命令用 ;结束)
21.
自动生成建表(视图)语句
在服务器上: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
22.
显示当前用户所有表
db2look –d ylbx –u db2admin –w –asd –a –e –o a.txt21.
23.
授权
grant dbadm on database to user bb
24.
列出所有的系统表
list tables for system
25.
查看表结构
  db2 describe select * from user.tables
26.
从客户端装载数据
db2 LOAD CLIENT FROM a.txt OF DEL modified by coldel0x09 insert INTO
ods.ods_bill_msisdn_ar
27.
导出单个表结构到一个文件
db2look -d masa3 -e -t ods_bill_msisdn_ar -p -c -o c:\masa3
相当于informix
dbschema -d masa3 -t ods_bill_msisdn_ar ods_bill_msisdn_ar.sql -ss
导出所有表结构到一个文件
db2look -d masa3 -u administrator -a -e -p -c -o c:\db2bak.txt
运行条件在服务器上运行。
28.
载入暂挂状态0x0008
当表空间处于载入暂挂状态时,首先查找出最后一次使用load操作的表名。然后执行
db2 load from d:\workspace\aaa.txt of del terminate into ods.ods_gsm_list
文件名可以随便给出一个
29.
查找过程内容
select text fromm syscat.procedures where procname='过程名'
30.
取当前时间
select current date from 任一表 fetch first 1 rows only
31。
DB2的虚拟表(如oracle的dual表)
SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1
32。
快速清除大表数据
ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE
alter table table_name active not logged initally with empty table
33.
关于多分区存储
在主机上创建了一个数据库
CREATE DATABASE masa
创建了第一个表空间
CREATE TABLESPACE ARGTBS
MANAGED BY DATABASE
USING (device '/dev/vx/rdsk/DWDBDG/arg_1g_01lv' 1G) ON DBPARTITIONNUM(0)
USING (device '/dev/vx/rdsk/DWDBDG/db2_2g_01lv' 2G) ON DBPARTITIONNUM(1)
USING (device '/dev/vx/rdsk/DWDBDG/db2_2g_02lv' 2G) ON DBPARTITIONNUM(2)
USING (device '/dev/vx/rdsk/DWDBDG/db2_2g_03lv' 2G) ON DBPARTITIONNUM(3);
创建表
CREATE TABLE partest
(
iid integer not null
) in argtbs;


装入以下数据
IID
-----------
400
500
800
600
300
700
100
200
8 record(s) selected.
使用以下语句
select dbpartitionnum(iid),iid from gsbiinst.partest
1 IID
----------- -----------
0 600
3 300
3 700
1 100
1 200
2 400
2 500
2 800
其中第一列就是该行数据所在的PARTITION NUM
34。
连接远程数据库
在本机"DB2命令行窗口"下执行
下面两条命令
catalog tcpip node nde239 remote 135.129.22.239 server 50000
db2 catalog database masa as masa at node nde239 authentication server
然后尝试连接数据库
db2 connect to masa user masadw
35.
显示表空间状态
db2 list tablespaces show detail

你可能感兴趣的:(数据库学习)