数据连接 Connect to sample user user1 using mypass
CLP 命令 描述
db2start 启动数据库管理器实例。
db2stop 停止数据库管理器实例。
get dbm cfg 返回数据库管理器配置设置。
get dbm cfg show detail 显示数据库管理器参数的当前值和延迟值(从 V8 起)。
1update dbm cfg using <p> <v> 将数据库管理器配置参数 <p> 更新为值 <v>。
get instance 返回 DB2INSTANCE 环境变量的值。
list active databases 列出活动的数据库和连接数。
list application [show detail] 返回关于当前连接的应用程序的信息。
force application (h1 [,h2,..,hn]) 根据句柄号与特定应用程序断开连接。
force application all 断开所有应用程序与数据库的连接。
attach to <node> user <userid> using <pwd> 以用户 <userid> 通过使用密码 <pwd> 与标识为 <node> 的远程实例连接。
create database <dbname> 创建名为 <dbname> 的数据库。
activate database <dbname> 显式地激活数据库。
deactivate database <dbname> 显式地使数据库失效。
connect to <dbname>
[ [user <userid>] using <pwd>] 根据需要,显式地以用户 <userid> 和密码 <pwd> 与数据库 <dbname> 连接。
1update dbm cfg using <p> <v> 将数据库管理器配置参数 <p> 更新为值 <v>。
connect reset 断开与当前数据库的连接。
get db cfg show detail 显示数据库配置参数的当前值和延迟值(仅适用于 V8)。
get db cfg for <dbname> 返回数据库 <dbname> 的数据库配置设置。
update db cfg for <dbname> using <p> <v> 将数据库 <dbname> 的数据库配置参数 <p> 更新为值 <v>。
list tables[for {user | all | system | schema <schemaname>}][show detail] 列出数据库中的表。如果没有指定任何参数,则缺省情况是列出当前用户的表。
describe table <tablename> 显示一个表或视图的列信息。
list tablespaces [show detail] 显示表空间的标识、名称、类型、内容和状态。
list tablespace containers for <tablespace_id> [show detail] 显示用 <tablespace_id> 指定的表空间的容器信息。
quiesce tablespaces for table <tablename> reset 将表空间的状态复位成正常(normal)。
catalog [admin] <protocol> node … 为协议 <protocol> 在节点目录中创建一项。
list [admin] node directory 返回节点目录的内容。
catalog database <dbname>… 为数据库 <dbname> 在数据库目录中创建一项。
list database directory [on <path>] 返回数据库目录的内容。
get monitor switches 返回会话监控开关的状态。
update monitor switches using <monitor> <on|off> 为 <monitor> 设置会话监控开关的状态。
reset monitor all 复位性能监控程序值。
get snapshot for dbm 返回实例级别的性能信息。
get snapshot for all on <dbname> 为数据库 <dbname> 在数据库级别返回所有性能信息。
get snapshot for dynamic sql on <dbname> 返回动态 SQL 高速缓存的内容。
runstats on table <tbschema>.<tbname> 收集表 <tbname> 的统计信息。表名必须是用 <dbschema> 全限定的。
reorgchk on table all 确定是否需要对表进行重组。这对于对所有表自动执行 runstats 很有用。
reorg table <tablename> 通过重构行来消除“碎片”数据并压缩信息,对表进行重组。
export 将数据库数据抽取到一个平面文件中。
import 通过使用 IMPORT 实用程序,将数据导入到数据库。
load query table <tbname>
[to local-message-file][nosummary | summaryonly] [showdelta] 返回 LOAD 实用程序的进度。
backup database <dbname> [to <path>] 执行数据库备份。
restore database <dbname> [from <path>] 执行数据库恢复。
get health snapshot for dbm 返回实例的正常快照信息(仅适用于 V8)。
get health snapshot for all on <dbname> 返回数据库 <dbname> 的所有正常快照(仅适用于 V8)。
get admin cfg 返回管理服务器的配置设置。
update admin cfg using <p> <v> 将管理服务器配置参数 <p> 更新为值 <v>。
get routine into <filename> from [specific] procedure <routine-name>[hide body] 将 SQL 过程抽取成二进制文件。
put routine from <filename> [owner <newowner>[use registers]] 从二进制文件部署 SQL 过程。
实例相关的常用指令:
1、创建实例: db2icrt <instance name>
C:\Documents and Settings\Administrator>db2icrt itest
DB20000I DB2ICRT 命令成功完成。
2、查询实例:db2ilist
C:\Documents and Settings\Administrator>db2ilist
ITEST
DB2
3、删除实例:db2idrop <instance name>
C:\Documents and Settings\Administrator>db2idrop itest
DB20000I DB2IDrop 命令成功完成。
?4、启动实例:db2start
C:\Documents and Settings\Administrator>db2start
2007-06-12 10:43:34 0 0 SQL1063N DB2START 处理成功。
SQL1063N DB2START 处理成功。
5、停止实例: db2stop
C:\Documents and Settings\Administrator>db2stop
2007-06-12 10:43:08 0 0 SQL1064N DB2STOP 处理成功。
SQL1064N DB2STOP 处理成功。
6、查看当前实例: db2 get instance
C:\Program Files\IBM\SQLLIB\BIN>db2 get instance
当前数据库管理器实例是:DB2
7、查看DB2实例使用的端口号
Linux下要检查dbm cfg的SVCENAME,该变量可以直接设置成端口号,或者设置成服务名,linux下该服务名要在/etc/services文件中设置成对应的端口号。要检查该端口号是否已经被其他服务占用。在启动数据库后,可以运行netstat –an |grep <port>,来查看该端口处于的状态。
TCP 0.0.0.0:50000 0.0.0.0:0 LISTENING
Windows下可以通过控制中心查看对应实例的“设置通信”页面的端口号部分,默认是50000。
数据库相关的常用指令:
1、创建数据库: db2 create database <database name>…
C:\Program Files\IBM\SQLLIB\BIN>db2 create database dbtest
DB20000I Create DATABASE 命令成功完成。
2、查看目前实例能够识别的本地与远程数据库:db2 list database directory (show detail)
C:\Program Files\IBM\SQLLIB\BIN>db2 list database directory
系统数据库目录
目录中的条目数 = 5
数据库 1 条目:
数据库别名 = DBTEST
数据库名称 = DBTEST
数据库驱动器 = C:\DB2
数据库发行版级别 = a.00
注释 =
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
数据库 2 条目:
数据库别名 = TBC_MD
数据库名称 = TBC_MD
节点名 = NDE9F105
数据库发行版级别 = a.00
注释 = BI sample metadata database
目录条目类型 = 远程
目录数据库分区号 = -1
备用服务器主机名 =
备用服务器端口号 =
2、启动数据库:db2 activate database <database name>
C:\Program Files\IBM\SQLLIB\BIN>db2 activate database DBTEST
DB20000I ACTIVATE DATABASE 命令成功完成。
3、列出实例中正在使用的数据库:db2 list active databases
C:\Program Files\IBM\SQLLIB\BIN>db2 list active databases
活动数据库
数据库名称 = DBTEST
当前连接的应用程序 = 0
数据库路径 = C:\DB2\NODE0000\SQL00006\
数据库名称 = SAMPLE
当前连接的应用程序 = 1
数据库路径 = C:\DB2\NODE0000\SQL00002\
4、停止数据库:db2 deactivate database <database name>
该命令只能停止使用activate启动的数据库,对于采用connect方式的,数据库会在最后一个用户离开后,自动停止。
C:\Program Files\IBM\SQLLIB\BIN>db2 deactivate database DBTEST
DB20000I DEACTIVATE DATABASE 命令成功完成。
C:\Program Files\IBM\SQLLIB\BIN>db2 deactivate database SAMPLE
SQL1495W 释放数据库成功,然而,仍然存在一个与数据库之间的连接。(该数据库是通过connect的方式登录的)
C:\Program Files\IBM\SQLLIB\BIN>db2 list active databases
活动数据库
数据库名称 = SAMPLE
当前连接的应用程序 = 1
数据库路径 = C:\DB2\NODE0000\SQL00002\
5、强制断开数据库连接:
C:\Program Files\IBM\SQLLIB\BIN>db2 list active databases
活动数据库
数据库名称 = SAMPLE
当前连接的应用程序 = 1
数据库路径 = C:\DB2\NODE0000\SQL00002\
C:\Program Files\IBM\SQLLIB\BIN>db2 list applications(列出当前所有的数据库会话)
授权标识 应用程序名 应用程序 应用程序标识 DB 代理进程
句柄 名称 序号
-------- -------------- ---------- ------------------------------ -------- -----
ADMINIST>javaw.exe 12 *LOCAL.DB2.070612030039 SAMPLE 1
C:\Program Files\IBM\SQLLIB\BIN>db2 force application (12)(强制关闭应用程序标识号为12的进程,也可一用all来关闭所有会话)
DB20000I FORCE APPLICATION 命令成功完成。
DB21024I 该命令为异步的,可能不会立即生效。
C:\Program Files\IBM\SQLLIB\BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。 SQLSTATE=00000
6、删除数据库:db2 drop database <database name>
C:\Program Files\IBM\SQLLIB\BIN>db2 drop database DBTEST
SQL1035N 当前正在使用数据库。 SQLSTATE=57019(删除激活的数据库失败)
C:\Program Files\IBM\SQLLIB\BIN>db2 deactivate database DBTEST
DB20000I DEACTIVATE DATABASE 命令成功完成。
C:\Program Files\IBM\SQLLIB\BIN>db2 drop database DBTEST
DB20000I Drop DATABASE 命令成功完成。
7、连接到一个本地或远端数据库:db2 connect to <database name> user <用户名> using <密码>
C:\Program Files\IBM\SQLLIB\BIN>db2 connect to sample(连接到本地sample数据库)
数据库连接信息
数据库服务器 = DB2/NT 8.2.0
SQL 授权标识 = ADMINIST...
本地数据库别名 = SAMPLE
C:\Program Files\IBM\SQLLIB\BIN>db2 get connection state(查询本实例下数据库连接状态)
数据库连接状态
连接状态 = 可连接并已连接
连接方式 = SHARE
本地数据库别名 = SAMPLE
数据库名称 = SAMPLE
主机名 =
服务名称 =
C:\Program Files\IBM\SQLLIB\BIN>db2 connect reset(断口与sample的连接)
DB20000I SQL 命令成功完成。
C:\Program Files\IBM\SQLLIB\BIN>db2 get connection state
数据库连接状态
连接状态 = 可连接而未连接
连接方式 =
本地数据库别名 =
数据库名称 =
主机名 =
服务名称 =
8、重启数据库:db2 restart database <database name>
C:\Program Files\IBM\SQLLIB\BIN>db2 restart database sample
DB20000I RESTART DATABASE 命令成功完成。
CLP 命令 描述
db2start 启动数据库管理器实例。
db2stop 停止数据库管理器实例。
get dbm cfg 返回数据库管理器配置设置。
get dbm cfg show detail 显示数据库管理器参数的当前值和延迟值(从 V8 起)。
1update dbm cfg using <p> <v> 将数据库管理器配置参数 <p> 更新为值 <v>。
get instance 返回 DB2INSTANCE 环境变量的值。
list active databases 列出活动的数据库和连接数。
list application [show detail] 返回关于当前连接的应用程序的信息。
force application (h1 [,h2,..,hn]) 根据句柄号与特定应用程序断开连接。
force application all 断开所有应用程序与数据库的连接。
attach to <node> user <userid> using <pwd> 以用户 <userid> 通过使用密码 <pwd> 与标识为 <node> 的远程实例连接。
create database <dbname> 创建名为 <dbname> 的数据库。
activate database <dbname> 显式地激活数据库。
deactivate database <dbname> 显式地使数据库失效。
connect to <dbname>
[ [user <userid>] using <pwd>] 根据需要,显式地以用户 <userid> 和密码 <pwd> 与数据库 <dbname> 连接。
1update dbm cfg using <p> <v> 将数据库管理器配置参数 <p> 更新为值 <v>。
connect reset 断开与当前数据库的连接。
get db cfg show detail 显示数据库配置参数的当前值和延迟值(仅适用于 V8)。
get db cfg for <dbname> 返回数据库 <dbname> 的数据库配置设置。
update db cfg for <dbname> using <p> <v> 将数据库 <dbname> 的数据库配置参数 <p> 更新为值 <v>。
list tables[for {user | all | system | schema <schemaname>}][show detail] 列出数据库中的表。如果没有指定任何参数,则缺省情况是列出当前用户的表。
describe table <tablename> 显示一个表或视图的列信息。
list tablespaces [show detail] 显示表空间的标识、名称、类型、内容和状态。
list tablespace containers for <tablespace_id> [show detail] 显示用 <tablespace_id> 指定的表空间的容器信息。
quiesce tablespaces for table <tablename> reset 将表空间的状态复位成正常(normal)。
catalog [admin] <protocol> node … 为协议 <protocol> 在节点目录中创建一项。
list [admin] node directory 返回节点目录的内容。
catalog database <dbname>… 为数据库 <dbname> 在数据库目录中创建一项。
list database directory [on <path>] 返回数据库目录的内容。
get monitor switches 返回会话监控开关的状态。
update monitor switches using <monitor> <on|off> 为 <monitor> 设置会话监控开关的状态。
reset monitor all 复位性能监控程序值。
get snapshot for dbm 返回实例级别的性能信息。
get snapshot for all on <dbname> 为数据库 <dbname> 在数据库级别返回所有性能信息。
get snapshot for dynamic sql on <dbname> 返回动态 SQL 高速缓存的内容。
runstats on table <tbschema>.<tbname> 收集表 <tbname> 的统计信息。表名必须是用 <dbschema> 全限定的。
reorgchk on table all 确定是否需要对表进行重组。这对于对所有表自动执行 runstats 很有用。
reorg table <tablename> 通过重构行来消除“碎片”数据并压缩信息,对表进行重组。
export 将数据库数据抽取到一个平面文件中。
import 通过使用 IMPORT 实用程序,将数据导入到数据库。
load query table <tbname>
[to local-message-file][nosummary | summaryonly] [showdelta] 返回 LOAD 实用程序的进度。
backup database <dbname> [to <path>] 执行数据库备份。
restore database <dbname> [from <path>] 执行数据库恢复。
get health snapshot for dbm 返回实例的正常快照信息(仅适用于 V8)。
get health snapshot for all on <dbname> 返回数据库 <dbname> 的所有正常快照(仅适用于 V8)。
get admin cfg 返回管理服务器的配置设置。
update admin cfg using <p> <v> 将管理服务器配置参数 <p> 更新为值 <v>。
get routine into <filename> from [specific] procedure <routine-name>[hide body] 将 SQL 过程抽取成二进制文件。
put routine from <filename> [owner <newowner>[use registers]] 从二进制文件部署 SQL 过程。
实例相关的常用指令:
1、创建实例: db2icrt <instance name>
C:\Documents and Settings\Administrator>db2icrt itest
DB20000I DB2ICRT 命令成功完成。
2、查询实例:db2ilist
C:\Documents and Settings\Administrator>db2ilist
ITEST
DB2
3、删除实例:db2idrop <instance name>
C:\Documents and Settings\Administrator>db2idrop itest
DB20000I DB2IDrop 命令成功完成。
?4、启动实例:db2start
C:\Documents and Settings\Administrator>db2start
2007-06-12 10:43:34 0 0 SQL1063N DB2START 处理成功。
SQL1063N DB2START 处理成功。
5、停止实例: db2stop
C:\Documents and Settings\Administrator>db2stop
2007-06-12 10:43:08 0 0 SQL1064N DB2STOP 处理成功。
SQL1064N DB2STOP 处理成功。
6、查看当前实例: db2 get instance
C:\Program Files\IBM\SQLLIB\BIN>db2 get instance
当前数据库管理器实例是:DB2
7、查看DB2实例使用的端口号
Linux下要检查dbm cfg的SVCENAME,该变量可以直接设置成端口号,或者设置成服务名,linux下该服务名要在/etc/services文件中设置成对应的端口号。要检查该端口号是否已经被其他服务占用。在启动数据库后,可以运行netstat –an |grep <port>,来查看该端口处于的状态。
TCP 0.0.0.0:50000 0.0.0.0:0 LISTENING
Windows下可以通过控制中心查看对应实例的“设置通信”页面的端口号部分,默认是50000。
数据库相关的常用指令:
1、创建数据库: db2 create database <database name>…
C:\Program Files\IBM\SQLLIB\BIN>db2 create database dbtest
DB20000I Create DATABASE 命令成功完成。
2、查看目前实例能够识别的本地与远程数据库:db2 list database directory (show detail)
C:\Program Files\IBM\SQLLIB\BIN>db2 list database directory
系统数据库目录
目录中的条目数 = 5
数据库 1 条目:
数据库别名 = DBTEST
数据库名称 = DBTEST
数据库驱动器 = C:\DB2
数据库发行版级别 = a.00
注释 =
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
数据库 2 条目:
数据库别名 = TBC_MD
数据库名称 = TBC_MD
节点名 = NDE9F105
数据库发行版级别 = a.00
注释 = BI sample metadata database
目录条目类型 = 远程
目录数据库分区号 = -1
备用服务器主机名 =
备用服务器端口号 =
2、启动数据库:db2 activate database <database name>
C:\Program Files\IBM\SQLLIB\BIN>db2 activate database DBTEST
DB20000I ACTIVATE DATABASE 命令成功完成。
3、列出实例中正在使用的数据库:db2 list active databases
C:\Program Files\IBM\SQLLIB\BIN>db2 list active databases
活动数据库
数据库名称 = DBTEST
当前连接的应用程序 = 0
数据库路径 = C:\DB2\NODE0000\SQL00006\
数据库名称 = SAMPLE
当前连接的应用程序 = 1
数据库路径 = C:\DB2\NODE0000\SQL00002\
4、停止数据库:db2 deactivate database <database name>
该命令只能停止使用activate启动的数据库,对于采用connect方式的,数据库会在最后一个用户离开后,自动停止。
C:\Program Files\IBM\SQLLIB\BIN>db2 deactivate database DBTEST
DB20000I DEACTIVATE DATABASE 命令成功完成。
C:\Program Files\IBM\SQLLIB\BIN>db2 deactivate database SAMPLE
SQL1495W 释放数据库成功,然而,仍然存在一个与数据库之间的连接。(该数据库是通过connect的方式登录的)
C:\Program Files\IBM\SQLLIB\BIN>db2 list active databases
活动数据库
数据库名称 = SAMPLE
当前连接的应用程序 = 1
数据库路径 = C:\DB2\NODE0000\SQL00002\
5、强制断开数据库连接:
C:\Program Files\IBM\SQLLIB\BIN>db2 list active databases
活动数据库
数据库名称 = SAMPLE
当前连接的应用程序 = 1
数据库路径 = C:\DB2\NODE0000\SQL00002\
C:\Program Files\IBM\SQLLIB\BIN>db2 list applications(列出当前所有的数据库会话)
授权标识 应用程序名 应用程序 应用程序标识 DB 代理进程
句柄 名称 序号
-------- -------------- ---------- ------------------------------ -------- -----
ADMINIST>javaw.exe 12 *LOCAL.DB2.070612030039 SAMPLE 1
C:\Program Files\IBM\SQLLIB\BIN>db2 force application (12)(强制关闭应用程序标识号为12的进程,也可一用all来关闭所有会话)
DB20000I FORCE APPLICATION 命令成功完成。
DB21024I 该命令为异步的,可能不会立即生效。
C:\Program Files\IBM\SQLLIB\BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。 SQLSTATE=00000
6、删除数据库:db2 drop database <database name>
C:\Program Files\IBM\SQLLIB\BIN>db2 drop database DBTEST
SQL1035N 当前正在使用数据库。 SQLSTATE=57019(删除激活的数据库失败)
C:\Program Files\IBM\SQLLIB\BIN>db2 deactivate database DBTEST
DB20000I DEACTIVATE DATABASE 命令成功完成。
C:\Program Files\IBM\SQLLIB\BIN>db2 drop database DBTEST
DB20000I Drop DATABASE 命令成功完成。
7、连接到一个本地或远端数据库:db2 connect to <database name> user <用户名> using <密码>
C:\Program Files\IBM\SQLLIB\BIN>db2 connect to sample(连接到本地sample数据库)
数据库连接信息
数据库服务器 = DB2/NT 8.2.0
SQL 授权标识 = ADMINIST...
本地数据库别名 = SAMPLE
C:\Program Files\IBM\SQLLIB\BIN>db2 get connection state(查询本实例下数据库连接状态)
数据库连接状态
连接状态 = 可连接并已连接
连接方式 = SHARE
本地数据库别名 = SAMPLE
数据库名称 = SAMPLE
主机名 =
服务名称 =
C:\Program Files\IBM\SQLLIB\BIN>db2 connect reset(断口与sample的连接)
DB20000I SQL 命令成功完成。
C:\Program Files\IBM\SQLLIB\BIN>db2 get connection state
数据库连接状态
连接状态 = 可连接而未连接
连接方式 =
本地数据库别名 =
数据库名称 =
主机名 =
服务名称 =
8、重启数据库:db2 restart database <database name>
C:\Program Files\IBM\SQLLIB\BIN>db2 restart database sample
DB20000I RESTART DATABASE 命令成功完成。