导航:首页 > 程序命令 > db2常用命令

db2常用命令

发布时间:2023-12-23 01:46:03

‘壹’ 怎样进行DB2备份

1、离线全备份

1)、首先确保没有用户使用DB2:

$db2 list applications for db sample

2)、停掉数据库并重新启动,以便断掉所有连接:

db2stop force

db2start

3)、执行备份命令:(使用TSM作为备份的介质)

db2 backup db sample use tsm

备份成功,将会返回一个时间戳。

4)、检查备份成功:

Db2 list history backup all for sample ,可以看到多了这个备份的纪录。

Db2atl query命令也可以看到返回值。

5)、备注:

首先对主节点(catalog表空间在的节点)执行备份命令,再对另外的节点也做这个操作。

2、 在线备份:

1)、首先打开一下支持在线备份的数据库配置参数:

db2 update db cfg for sample using userexit on 启用用户出口

db2 update db cfg for sample using logretain on 启用归档日志

db2 update db cfg for sample using trackmod on 启用增量备份功能

(需要各个Node都分别做设置)

开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。

2)、在线备份命令如下:

db2 backup db sample online use tsm

备份成功,返回一个时间戳。

3)、同样可以用db2atl 和db2 list history察看备份纪录。

4)、备注:

同样,对每个节点都做这个操作。

3、 在线增量备份

1)、在开启了必须的三个参数的情况下,做增量备份:

db2 backup db sample online incremental use tsm

备份成功,返回一个时间戳。

2)、同样可以用db2atl 和db2 list history察看备份纪录。

3)、还有一种delta的备份:

db2 backup db sample online incremental delta use tsm

这两种备份的区别,类似Oracle Exports的Incremental和Cumulative方式,db2的incremental对应oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。

4)、备注:同样,对每个节点都做这个操作。

‘贰’ connect是什么命令用在命令模式吗

connect不属于系统命令,不可以在命令提示符下运行
'connect' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

它是数据库[用户界面]db2命令行处理器(clp)中的常用命令

简介

以下是最常用的 db2 clp 命令的快速参考。虽然不是一份完整的参考,但这篇文档对于任何刚接触 db2 的用户来说,可以证明是案边有价值的参考材料。反馈意见可以发送至 [email protected]

方括号中的参数是可选参数,尖括号中的内容表示变量。例如,connect 的语法是:

connect to
[ [user ] using ]
这意味着,通过 connect 命令以 user1 身份使用密码 mypass 与数据库 sample 连接可以有下列形式:

connect to sample
connect to sample user user1
connect to sample user user1 using mypass

根据命令的作用域来组织所有命令。对于任何 clp 命令,您都可以输入加上前缀问号(“?”)的关键字,以查看其完整的语法。

祝愉快!

实例

clp 命令 描述
db2start 启动数据库管理器实例。
db2stop 停止数据库管理器实例。
get dbm cfg 返回数据库管理器配置设置。
get dbm cfg show detail 显示数据库管理器参数的当前值和延迟值(从 v8 起)。
1update dbm cfg using
将数据库管理器配置参数
更新为值 。

get instance 返回 db2instance 环境变量的值。
list active databases 列出活动的数据库和连接数。
list application [show detail] 返回关于当前连接的应用程序的信息。
force application (h1 [,h2,..,hn]) 根据句柄号与特定应用程序断开连接。
force application all 断开所有应用程序与数据库的连接。
attach to user using 以用户 通过使用密码 与标识为 的远程实例连接。

数据库

create database 创建名为 的数据库。
activate database 显式地激活数据库。
deactivate database 显式地使数据库失效。
connect to
[ [user ] using ] 根据需要,显式地以用户 和密码 与数据库 连接。
1update dbm cfg using
将数据库管理器配置参数
更新为值 。

connect reset 断开与当前数据库的连接。
get db cfg show detail 显示数据库配置参数的当前值和延迟值(仅适用于 v8)。
get db cfg for 返回数据库 的数据库配置设置。
update db cfg for using
将数据库 的数据库配置参数
更新为值 。

list tables[for {user | all | system | schema }][show detail] 列出数据库中的表。如果没有指定任何参数,则缺省情况是列出当前用户的表。
describe table 显示一个表或视图的列信息。
list tablespaces [show detail] 显示表空间的标识、名称、类型、内容和状态。
list tablespace containers for [show detail] 显示用 指定的表空间的容器信息。
quiesce tablespaces for table reset 将表空间的状态复位成正常(normal)。

连接性

catalog [admin] node … 为协议 在节点目录中创建一项。
list [admin] node directory 返回节点目录的内容。
catalog database … 为数据库 在数据库目录中创建一项。
list database directory [on ] 返回数据库目录的内容。

性能

get monitor switches 返回会话监控开关的状态。
update monitor switches using 为 设置会话监控开关的状态。
reset monitor all 复位性能监控程序值。
get snapshot for dbm 返回实例级别的性能信息。
get snapshot for all on 为数据库 在数据库级别返回所有性能信息。
get snapshot for dynamic sql on 返回动态 sql 高速缓存的内容。
runstats on table . 收集表 的统计信息。表名必须是用 全限定的。
reorgchk on table all 确定是否需要对表进行重组。这对于对所有表自动执行 runstats 很有用。
reorg table 通过重构行来消除“碎片”数据并压缩信息,对表进行重组。

管理

export 将数据库数据抽取到一个平面文件中。
import 通过使用 import 实用程序,将数据导入到数据库。
load query table
[to local-message-file][nosummary | summaryonly] [showdelta] 返回 load 实用程序的进度。
backup database [to ] 执行数据库备份。
restore database [from ] 执行数据库恢复。
get health snapshot for dbm 返回实例的正常快照信息(仅适用于 v8)。
get health snapshot for all on 返回数据库 的所有正常快照(仅适用于 v8)。

管理服务器

get admin cfg 返回管理服务器的配置设置。
update admin cfg using
将管理服务器配置参数
更新为值 。

应用程序开发

get routine into from [specific] procere [hide body] 将 sql 过程抽取成二进制文件。
put routine from [owner [use registers]] 从二进制文件部署 sql 过程。

‘叁’ db2 25000错误怎么解决

DB2相关问题及解决方法:
一、DB2中的代码页(codepage)问题。
DB2备份时发生过代码页错误的问题,修改代码页后备份正常,但创建数据库时又发生代码页的错误。这是DB2服务器使用的代码页配置和客户端使用的代码页配置不同造成的(注:DB2服务器的代码页配置是独立的,用代码页不同的客户端操作服务器就会产生错误。本机操作服务器称为本地客户端,操作系统使用的代码页有可能和DB2服务器的配置不同,和远程客户端一样会产生上面的问题)。代码页和系统使用的字符集有关,这也是windows下的数据库备份和linux下的数据库备份不能相互恢复的原因(Windows的codepage为819,一般的国标库/GBK为1386)。可用db2set命令对服务器的代码页进行设置。(具体设置见后文)
locale命令查看本地字符集
二、TIANJIN数据库备份不能恢复的问题
TIANJIN数据库备份恢复时,在Linux系统下提示container被占用,这是由于TIANJIN数据库采用了系统以外的表空间引起的,不能采用常规方法进行恢复。
恢复步骤为:
db2 create db targetdb using codeset GBK territory zh_CN
(创建数据库供恢复)

db2 connect to tianjin
(连接到TIANJIN数据库)
db2 list tablespaces
(查看TIANJIN数据库使用的表空间)
db2 list tablespace containers for 3
(查看表空间3使用的容器)
…………
db2 list tablespace containers for 7
(查看表空间7使用的容器。)
(TIANJIN数据库用到了7个表空间,其中1、2为系统默认,其他为自己创建,若已知道数据库表空间,以上步骤可省略)

mkdir [directory]
(创建表空间用到的容器所在目录。需要多少容器,创建多少个目录,这个目录必须是DB2用户有权限的目录)

db2 connect reset
(释放所有连接)

db2 restore db sourcedb from /DB2Data/backupdata/ into targetdb redirect
(恢复数据库)

db2 "set tablespace containers for 3 using (path '/home/db2inst1/tt/1')"
(设置表空间的容器,path后是容器存放的路径)
db2 "set tablespace containers for 4 using (path '/home/db2inst1/tt/2',path '/home/db2inst1/tt/3')"
(表空间用了多个路径的情况)
…………
db2 "set tablespace containers for 7 using (path '/home/db2inst1/tt/6')"

db2 restore db tianjin continue
(完成数据库恢复)

连接数据库验证安装即可
三、不同操作系统中数据库的移动(db2move)
由于我们的系统中使用了多个用户、多个表空间,不能直接用db2move进行恢复,必须先生成相关表空间和表,再插入数据。
1、 生成ddl文件
db2look -d 数据库别名 -e -p -l -o 目标文件的名字-i 用户名 -w 密码
-d指定数据库,-o指定目标文件,-l表示生成表空间,-i指定用户名,-w指定密码。
如:db2look -d jsyrem -e -p -l -o jsyrem.ddl -i zgc3 -w zgc
注意:源数据库必须在本地客户端编目,生成的文件存放在当前目录下。
2、 生成db2move的导出文件
db2move数据库别名export -l 大对象存放目录(可省略) -u 用户名 -p 密码
如:db2move jsyrem export -l lob -u zgc3 -p zgc
注意:源数据库必须在本地客户端编目,大对象存放目录可以不用事先建立,由系统自动生成,生成的文件存放在当前目录下。
3、 新建目标数据库
4、 在目标数据库里创建表空间和表
db2 -tvf ddl文件名
例如:db2 -tvf jsyrem.ddl
注意:
①两个数据库里的代码页必须设置为一致
②执行命令前必须先修改ddl文件,设置里面的connection连接至目标数据库(文件里可能会有多处需要对连接进行设置)。
③执行命令前必须先修改ddl文件,设置表空间地址,为目标数据库建立表空间指定存放位置。这些目录可能需要事先建好。(目录1、2……n可以不用建,由系统自动生成)
④执行命令必须在生成的文件存放的目录下进行。
5、 导入数据
db2move 数据库名 import -io insert -l大对象存放目录
-io 指定导入方式,为create表示数据库中不存在该表时自动生成表,为replace表示替换原有内容,为insert表示仅仅插入数据;-l指定大对象存放目录。
db2move jsy2 import –u 用户名 –p 密码
注意:执行命令必须在生成的文件存放的目录下进行。
6、 其他:由于数据库表之间存在键关系,数据导入时可能会发生冲突,需要记下发生冲突的表,并修改db2move.lst文件,把这些表对应的行挪到文件的最后生成。
7、 可通过EXPORT文件和IMPORT文件查看数据导入导出时的系统信息,通过tablennn.msg文件查看某个表导入导出时的系统信息。
注意:以上操作针对的客户端是windows操作系统,linux系统下会发生错误。

数据库创建
首先建立文件夹
#mkdir /ecdsdbfs
授权给db2inst1访问ecdsdbfs文件夹的权限
#chown db2inst1:db2adm1 /ecdsdbfs
执行建库脚本:
#su – db2inst1
$db2 create database test on '/opt/ibm/data' using codeset utf-8 territory cn
注意:本数据库采用utf-8格式

1> 连接到DB2 Server,打开DB2 Command,创建一个名为cogsam83的数据库,并为其建立缓存大小
create db cogsam83 alias cogsam83 using codeset UTF-8 territory CA
change db cogsam83 comment with 'Sample Data for Cognos 8.3'
connect to cogsam83
update db cfg using applheapsz 1024 deferred
update db cfg using locktimeout 240 deferred
connect reset
如果是在Linux上刚装完DB2即刻建立database,可能会遇到错误DB21019E An error occurred while accessing the directory "/root". 该错误原因为使用“su username”而非“su - username”在终端切换用户,前者相当于简单地同时登录有用户,而后者相当于注销后重新登录新用户,所以不会维持之前用户的ENV设置。
2> 创建缓冲池和表空间
connect to cogsam83
create bufferpool cog04kbp immediate size 250 pagesize 4k
create bufferpool cog08kbp immediate size 250 pagesize 8k
create bufferpool cog16kbp immediate size 250 pagesize 16k
create regular tablespace cogsample pagesize 16k managed by automatic storage extentsize 16 prefetchsize 16 overhead 10.5 transferrate 0.33 bufferpool cog16kbp
comment on tablespace cogsample is 'Cognos Sample Data'
grant use of tablespace cogsample to public
connect reset
3> 创建几个数据库模式(Database Schema)
connect to cogsam83
create schema gosl
comment on schema gosl is 'GO Sales'
create schema gosldw
comment on schema gosldw is 'GO Sales Data Warehouse'
create schema gohr
comment on schema gohr is 'GO Sales Human Resources'
create schema gort
comment on schema gort is 'GO Retailers'
create schema gomr
comment on schema gomr is 'GO Multilingual Retailers'
create schema godmt
comment on schema godmt is 'GO Data Manager Target'
#授予用户cognos数据库管理权限
grant dbadm on database to user cognos
connect reset
4> 修改数据库配置页
connect to cogsam83
update dbm cfg using intra_parallel NO
update dbm cfg using federated NO
update dbm cfg using fed_noauth NO
update db cfg for cogsam83 using maxlocks 22
update db cfg for cogsam83 using locklist 50
update db cfg for cogsam83 using dft_degree 1
update db cfg for cogsam83 using avg_appls 1
update db cfg for cogsam83 using stmtheap 2048
update db cfg for cogsam83 using dft_queryopt 5
connect reset
5> 编目数据库
catalog tcpip node dbnode remote dbhost server 50000
catalog database cogsam83 at node dbnode with 'Sample Data for Cogsam 8'
6> 导入Samples内容到数据库中
适用于DB2的Samples文件在 Cognos安装目录/c8/webcontent/samples/datasources/db2 下,将GS_DB.tar解压出来,用DB2管理员帐号登录,使用DB2MOVE命令导入。
DB2MOVE dbname IMPORT -U username -P password
在Linux下使用DB2MOVE命令可能会出现错误提示Error opening report file. Terminating,该错误原因为当前用户对解压出的文件权限不够,设置所有解压的文件Permission为可写操作即可。
导入数据库后可以运行 Cognos安装目录/c8/webcontent/samples/datasources/db2下的gs_db_modify.bat(需要先更改gs_db_modify.sql第一行中的dbname, user, password为你自己的配置),在Linux下可以先删除gs_db_modify.log,然后在终端手动输入以下命令运行gs_db_modify.sql
DB2 -f gs_db_modify.sql -z gs_db_modify.log

四、联合数据对象的建立
联合数据对象提供将一个数据库里的用户和表映射到另一个数据库的功能。用户可通过对后者的访问达到访问前者的目的。
建立步骤:
1、 前期工作1:配置数据库实例名的参数,设置“管理”下的FEDERATED为“”;是
2、 前期工作2:源数据库编码到客户端
3、 在联合数据库对象中创建包装器。(DB2àDB2的映射包装器名选择DRDA,库名使用缺省的缺省db2drda.dll即可)
4、 创建服务器。(远程数据源的名称填写数据库编码的别名,DB2àDB2的映射服务器类型选择DB2/UDB,选择正确的版本号,用户标示和密码填写目标库的用户名密码,其余内容默认即可)
5、 建立用户映射。选择远程用户和本地用户进行映射。
6、 建立别名映射,即是表的映射。
五、DB2中的常用命令
1、 db2set命令
db2set:查看db2的常用设置
db2set –lr:查看db2的所有变量

db2set 变量名 = 变量值:设置db2中的变量。如:db2set db2codepage = GBK;db2set db2country = zh_CN。(这是最常用的两个设置,设置codepage为GBK国标库,country为zh_CN中国。设置后可解决数据库创建、备份时代码页错误的问题。设置完后用db2 terminate中止一下即可起作用)
2、 查看数据库配置
查看Database Manager配置:db2 get dbm cfg
查看某数据库配置:
两种方法:
第一、 db2 get db cfg for 数据库名。如db2 get db cfg for tianjin
第二、 先用connect命令连接上数据库,再用db2 get db cfg。如:
connect to tianjin(或:connect to tianjin user zgc3 using zgc)
db2 get db cfg
可以只查看其中某一项的配置,如查看territory
db2 get db cfg for tianjin|grep terr
修改数据库配置:db2 update db cfg using 参数 参数值
3、 数据库备份、数据库创建、数据库恢复
数据库备份:db2 backup database 数据库名 to 备份位置(DB2用户必须对备份位置有权限)。如:db2 backup database tianjin to /home/db2inst1/backup。注意: 备份数据库时应用db2 connect reset将所有连接去掉。
数据库创建:db2 create database数据库名。如:db2 create database dbname
用特定的字符集创建数据库:db2 create database 数据库名 using codeset [codeset] territory [terriroty]。如:db2 create database dbname using codeset GBK territory CN
数据库恢复几点说明:若文件夹中只有一个备份文件,可以不用写taken at。若数据库恢复中产生错误,可用restore database dbname continue/abort来对恢复进行继续和取消。
或者用控制台创建数据库时,第六步region处选择PRC(People’s Republic Of China)
4、 其他常用命令
db2move:在不同操作系统中移植数据库。但因存在外键约束,应对文件进行编辑。
db2level;查看DB2的修订版本
db2look:导出ddl?
db2 list table/tablespaces/db at……列出相应内容
(具体参看IBM红皮书)
5、 在客户端增加、查看结点和数据库编目
增加结点编目:db2 catalog tcpip node 结点名字 remote 结点所在ip地址 server 50000
查看结点编目:db2 list node directory
删除结点编目:db2 uncatalog node 结点别名
增加数据库编目:db2 catalog db 远程数据库名字 as 数据库别名 at node 结点名字
查看数据库编目:db2 list db directory
删除数据库编目:db2 uncatalog db数据库别名
6、 不同操作系统的倒库(db2move):
export:db2move dbname export
import:db2move dbname import(-io replace/create -u username –p password)
load:db2move dbname load
注意:执行export命令,生成的文件存放在当前目录下,dbname是catalog上的别名。import也是从当前目录读取文件。在将库import入一个新库时,应该先建立一个库,然后db2move 新库名称 import……。-io参数表示导入的库里的表覆盖/新建到新库里,-u、-p表示用于建库的用户名和密码。
7、 远程操作数据库
db2 attach to 数据库别名 user 用户名 using 密码
即可在本地操作远程数据库(create db、drop db等操作)
注意:要操作的数据库必须在本地编目
要取消attach可用命令db2 detach,或attach到其他数据库。
8、 将数据库操作的控制台信息存入文档
要执行的命令名>控制台信息文件名
9、 DB2里的帮助
db2 ? 要查询的内容(如:db2 ? sql30082n)
或者直接输入命令(db2move)不带参数
10、 停止application
数据库操作过程中可能会发生错误,导致数据库不可用。此时可用force application命令停止这种操作。命令格式可以是db2 force application application号(停掉单个application)或db2 force application all(停掉所有application)两种形式。
11、 其他
六、对于系统优化的建议
1、 增加buffpage的配置
2、 增加sortheap的配置(一般4M以上)
3、 将锁定超时 locktimeout设置为on或yes
4、 恢复的日志保留
(具体设置参看IBM红皮书)
命令:
db2 connect to tianjin
db2 update db cfg using LOGRETAIN yes
db2 backup db tianjin //设置完LOGRETAIN后应备份数据库
/home/db2inst1/sqllib/bin //进入此目录下
db2empfa tianjin; //Multi-page file allocation enabled
db2 update db cfg for tianjin using BUFFPAGE 25000 // 或更多
db2 update db cfg for tianjin using LOCKLIST 1000;
db2 update db cfg for tianjin using LOCKTIMEOUT 15
db2 update db cfg for tianjin using SORTHEAP 1000 //或更多
db2 update db cfg for tianjin using LOGFILSIZ 10000
db2 alter bufferpool ibmdefaultbp size -1
db2 update dbm cfg using SHEAPTHRES 25000 //Max to half of the total mem.
七、在root窗口下启动DB2控制台
1、 以db2inst1登录:su – db2inst1(-表示登录同时读取db2inst1的环境变量)
2、 export DISPLAY=127.0.0.1:0.0
3、 xhost +
4、 db2cc

方法二。

-- *(1) 作为 root 用户登录。
-- *(2) 在命令行上,运行以下命令:xhost + localhost
-- *(3) 运行以下命令:su - db2inst1
-- *(4) 运行以下命令:db2cc

vnc 启动 vncserver 启动图形界面

八、数据导出
1、 EXPORT TO 'c:/UR_ENTERPRISE.del' OF DEL SELECT * FROM ZGC3.UR_ENTERPRISE
2、 EXPORT TO 'c:/UR_ENTERPRISE.ixf' OF ixf SELECT * FROM ZGC3.UR_ENTERPRISE
九、查看node
1、list node directory
2、删除node:? uncatalog
十、建序列
CREATE SEQUENCE "ZGC3 "."SP_SEQ_MO_wbk" AS INTEGER
MINVALUE 0 MAXVALUE 2147483647
START WITH 21 INCREMENT BY 1
CACHE 20 NO CYCLE NO ORDER;

十一授权

如果遇到DB2 License过期的问题,可以使用以下命令对DB2的License进行授权。
以管理员身份进入DB2环境,键入:db2licm -a [License目录中的db2ese.lic文件]
系统提示成功后,可通过 db2licm -l 显示授权信息

如果是,则激活方法如下:
1.cp /cdrom/db2/license/db2ese.lic /var/db2/db2ese.lic
2.su - db2inst1
3.db2licm -a /var/db2/db2ese.lic

‘肆’ 想从事银行方面的c语言开发,他上面还要了解db2数据库的常用操作

1、 打开命令行窗口
#db2cmd
2、 打开控制中心
# db2cmd db2cc
3、 打开命令编辑器
db2cmd db2ce
=====操作数据库命令=====

4、 启动数据库实例
#db2start

5、 停止数据库实例
#db2stop

如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop force
6、 创建数据库
#db2 create db [dbname]
7、 连接到数据库
#db2 connect to [dbname] user [username] using [password]
8、 断开数据库连接
#db2 connect reset
9、 列出所有数据库
#db2 list db directory

10、 列出所有激活的数据库
#db2 list active databases
11、 列出所有数据库配置
#db2 get db cfg
12、 删除数据库
#db2 drop database [dbname]
(执行此操作要小心)
如果不能删除,断开所有数据库连接或者重启db2

=========操作数据表命令==========
13、 列出所有用户表
#db2 list tables
14、列出所有系统表
#db2 list tables for system
15、列出所有表
#db2 list tables for all
16、 列出系统表
#db2 list tables for system
17、列出用户表
#db2 list tables for user
18、 列出特定用户表
#db2 list tables for schema [user]
19、 创建一个与数据库中某个表(t2)结构相同的新表(t1)
#db2 create table t1 like t2
20、 将一个表t1的数据导入到另一个表t2
#db2 "insert into t1 select * from t2"
21、 查询表
#db2 "select * from table name where ..."
22、 显示表结构
#db2 describe table tablename
23、 修改列
#db2 alter table [tablename] alter column [columname] set data type varchar(24)
======脚本文件操作命令=======
24、 执行脚本文件
#db2 -tvf scripts.sql
25、帮助命令
* 查看命令帮助
#db2 ? db2start
* 查看错误码信息
#db2 ? 22001
* memo: 详细命令请使用"db2 ? <command>"进行查看。
=========================
26、备份数据库
#db2 backup db <db name>
备注:执行以上命令之前需要断开数据库连接

27、在线备份数据库
#db2 -v "BACKUP DATABASE <database name> ONLINE TO <path> WITH 2 BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING"
28、恢复数据库
#db2 restore db <source db name>

29、在线恢复数据库
#db2 "RESTORE DB <database name> TO <db path> LOGTARGET <logpath> WITHOUT PROMPTING"
#db2 "ROLLFORWARD DB <database name> TO END OF LOGS AND STOP" ...
30、导出数据文件

#db2move <db name> export

[-sn <模式名称,一般为db2admin>]
[-tn <表名,多个之间用逗号分隔>]
31、导入数据文件
#db2move <db name> import
32、获取db2数据库管理配置环境信息
#db2 get dbm cfg
33、.获取db2某个数据库数据库管理配置环境信息
#db2 get db cfg for <db name>

或者:连接至某个数据库以后执行db2 get db cfg

34、更改db2日志空间的大小
备注:以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。

#db2 UPDATE DB CFG FOR <db name> USING logretain OFF logprimary 3 logsecond 2 logfilsiz 25600;
如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。25600*4KB=102400KB。
35、创建临时表空间
#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000)
EXTENTSIZE 256
36、获取数据库管理器的快照数据
#db2 –v get snapshot for dbm
37、显示进行程号
#db2 list applications show detail
===================================================
一、加载数据:
1、 以默认分隔符加载,默认为“,”号
db2 "import from btpoper.txt of del insert into btpoper"
2、 以指定分隔符“|”加载
db2 "import from btpoper.txt of del modified by coldel| insert into btpoper"
二、卸载数据:
1、 卸载一个表中全部数据
db2 "export to btpoper.txt of del select * from btpoper"
db2 "export to btpoper.txt of del modified by coldel| select * from btpoper"
2、 带条件卸载一个表中数据
db2 "export to btpoper.txt of del select * from btpoper where brhid='907020000'"
db2 "export to cmmcode.txt of del select * from cmmcode where codtp='01'"
db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode where codtp='01'"
三、查询数据结构及数据:
db2 "select * from btpoper"
db2 "select * from btpoper where brhid='907020000' and oprid='0001'"
db2 "select oprid,oprnm,brhid,passwd from btpoper"
四、删除表中数据:
db2 "delete from btpoper"
db2 "delete from btpoper where brhid='907020000' or brhid='907010000'"
五、修改表中数据:
db2 "update svmmst set prtlines=0 where brhid='907010000' and jobtp='02'"
db2 "update svmmst set prtlines=0 where jobtp='02' or jobtp='03'"
六、联接数据库
db2 connect to btpdbs
七、清除数据库联接
db2 connect reset 断开数据库连接
db2 terminate 断开数据库连接
db2 force applications all 断开所有数据库连接
八、备份数据库
1、 db2 backup db btpdbs
2、 db2move btpdbs export
db2look -d btpdbs -e -x [-a] -o crttbl.sql
九、恢复数据库
1、 db2 restore db btpdbs without rolling forward
2、 db2 -tvf crtdb.sql
crtdb.sql文件内容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql
db2move btpdbs import
十、DB2帮助命令:
db2 ?
db2 ? restroe
db2 ? sqlcode (例:db2 ? sql0803) 注:code必须为4位数,不够4位,前面补0

十一、bind命令:将应用程序与数据库作一捆绑,每次恢复数据库后,建议都要做一次bind
(1) db2 bind br8200.bnd
(2) /btp/bin/bndall /btp/bnd
/btp/bin/bndall /btp/tran/bnd
十二、查看数据库参数:
db2 get dbm cfg
db2 get db cfg for btpdbs
十三、修改数据库参数:
db2 update db cfg for btpdbs using LOGBUFSZ 20
db2 update db cfg for btpdbs using LOGFILSIZ 5120
改完后,应执行以下命令使其生效:
db2 stop
db2 start

补充:
db2 set schema btp 修改当前模式为"btp"
db2 list tablespaces show detail 查看当前数据库表空间分配状况
db2 list tablespace containers for 2 show detail 查看tablespace id=2使用容器所在目录
db2 list application
db2 list db directory 列出所有数据库
db2 list active databases 列出所有活动的数据库
db2 list tables for all 列出当前数据库下所有的表
db2 list tables for schema btp 列出当前数据库中schema为btp的表
db2 list tablespaces show detail 显示数据库空间使用情况
db2 list packages for all

db2 "import from tab76.ixf of ixf commitcount 5000 insert into achact"
db2 "create table achact_t like achact"
db2 "rename table achact_t to achact"
db2 "insert into achact_t select * from achact where txndt>=(select lstpgdt from
acmact where actno=achact.actno)"
db2 get snapshot for dynaimic sql on jining
删除一个实例:
# cd /usr/lpp/db2_07_01/instance
# ./db2idrop InstName
列出所有DB2实例:
# cd /usr/lpp/db2_07_01/bin
# ./db2ilist
为数据库建立编目
$ db2 catalog db btpdbs on /db2catalog
取消已编目的数据库btpdbs
$ db2 uncatalog db btpdbs
查看版本
# db2level
显示当前数据库管理实例
$ db2 get instance
设置实例系统启动时是否自动启动。
$ db2iauto -on 自动启动
$ db2iauto -off 不自动启动
数据库优化命令:
reorg、runstats
当数据库经过一段时间使用,数据空间会变得越来越庞大。一些delete掉
的数据仍存放在数据库中,占用数据空间,影响系统性能。因此需要定期
运行reorg、runstats命令,清除已delete的数据,优化数据结构。
db2 reorg table 表名
db2 runstats on table 表名 with distribution and indexes all
因为要优化的表比较多,所以在/btp/bin目录下提供了一个sh程序runsall,
可在当天业务结束后,运行runsall,对数据库进行优化

在DB2的开发过程中,贯穿整个开发过程还有很重要的一部分工作就是数据库的维护;对于维护一个庞大信息系统来说是非常必要的;留一份简易的维护手册,以备不时之需;以下收集到的部分维护命令,以飨我们的维护工程师和项目经理。
=================================================================
38、更改db2日志空间的大小
备注:以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。
# db2 UPDATE DB CFG FOR <db name> USING logretain OFF logprimary 3 logsecond 2 logfilsiz 25600;
如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。25600*4KB=102400KB。
39、创建临时表空间
#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000) EXTENTSIZE 256
40、创建表空间
rem 创建缓冲池空间 8K
#db2 connect to gather
#db2 CREATE BUFFERPOOL STMABMP IMMEDIATE SIZE 25000 PAGESIZE 8K
rem 创建表空间:STMA
rem 必须确认路径正确
rem D:\DB2Container\Stma
#db2 drop tablespace stma
#db2 CREATE REGULAR TABLESPACE STMA PAGESIZE 8 K MANAGED BY SYSTEM USING ('D:\DB2Container\Stma' ) EXTENTSIZE 8 OVERHEAD 10.5 PREFETCHSIZE 8 TRANSFERRATE 0.14 BUFFERPOOL STMABMP DROPPED TABLE RECOVERY OFF
#db2 connect reset
41、将暂挂的数据恢复到前滚状态
#db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE NORETRIEVE

42、备份表空间
#BACKUP DATABASE YNDC TABLESPACE ( USERSPACE1 ) TO "D:\temp" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING
43、创建db2工具数据库
#db2 create tools catalog systools create new database toolsdb
44、如何进行增量/差量备份
增量:上一次完整备份至本次备份之间增加的数据部分;
差量(delta):上次备份以来(可能是完整备份、增量备份或者差量备份)至本次备份之间增加的数据部分;
45、更新所有表的统计信息
#db2 -v connect to DB_NAME
#db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"
#db2 -v reorgchkupdate statistics on table all
#db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibm.sysindexes"
#db2 -v terminate

46、对一张表运行统计信息
#db2 -v runstatson table TAB_NAMEand indexes all
47、查看是否对数据库执行了RUNSTATS
#db2 -v "select tbname, nleaf, nlevels,stats_timefrom sysibm.sysindexes"
48、更改缓冲池的大小
缓冲池中,当syscat.bufferpools的npages是-1时,由数据库的配置参数bufferpage控制缓冲池的大小。
将npages的值更改为-1的命令:
#db2 -v connect to DB_NAME
#db2 -v select * from syscat.bufferpools
#db2 -v alter bufferpoolIBMDEFAULTBP size -1
#db2 -v connect reset
#db2 -v terminate
更改数据库配置参数BufferPages的命令如下:
#db2 -v update db cfgfor dbnameusing BUFFPAGE bigger_value
#db2 -v terminate
49、看数据库监视内容列表
#db2 -v get monitor switches
50、打开某个数据库监视内容
#db2 -v update monitor switches using bufferpoolon
51、获取数据库快照
#db2 -v get snapshot for all databases > snap.out
#db2 -v get snapshot for dbm>> snap.out
#db2 -v get snapshot for all bufferpools>> snap.out
#db2 -v terminate

52、重置数据库快照
#db2 -v reset monitor all
53、计算缓冲池命中率
理想情况下缓冲池命中率在95%以上,计算公式如下:
(1 -((buffer pool data physical reads + buffer pool index physical reads)
/(buffer pool data logical reads + pool index logical reads))) *100%
=========数据库实例========================
54、创建db2实例
#db2icrt <实例名称>
55、删除db2实例
#db2idrop <实例名称>
56、设置当前db2实例
#set db2intance=db2
57、显示db2拥有的实例
#db2ilist
58、恢复离线增量备份数据库的命令
#DB2 RESTORE DATABASE YNDC INCREMENTAL AUTOMATIC FROM D:\backup\autobak\db2 TAKEN AT 20060314232015
59、创建样本数据库
在unix平台,使用:
#sqllib/bin/db2sampl <path>
在windows,os/2平台,使用:db2sampl e,e是可选参数,指定将创建数据库的驱动器

60、设置联合数据库为可用(默认联合数据库不可用)

#db2 update dbm cfg using federated yes

61、列出数据库中所有的表
#db2 list tables
62、数据迁移方法1
export脚本示例
#db2 connect to testdb user test password test
#db2 "export to aa1.ixf of ixf select * from table1"
#db2 "export to aa2.ixf of ixf select * from table2"
#db2 connect reset
import脚本示例
#db2 connect to testdb user test password test
#db2 "load from aa1.ixf of ixf replace into table1 COPY NO without prompting "
#db2 "load from aa2.ixf of ixf replace into table2 COPY NO without prompting "
#db2 connect reset

‘伍’ 哪位高手知道DB2的常用命令是什么哦麻烦说一下,谢谢啦

1、db2 connect to <数据库名> user <用户名> using <密码> --连接数据库
2、 db2 force application all --强迫所有应用断开数据库连接
3、db2 backup db db2name<数据库名称> --备份整个数据库数据
db2 restore db <db2name> --还原数据库
4、db2 list application --查看所有连接(需要连接到具体数据库才能查看)

5、db2start --启动数据库 ,db2stop --停止数据库
6、create database <数据库名> using codeset utf-8 territory CN --创建数据库使用utf-8编码
7、db2 catalog 命令
db2 catalog tcpip node <接点名称> remote <远程数据库地址> server <端口号> --把远程数据库映射到本地接点一般为50000
db2 catalog db <远程数据库名称> as <接点名称> at node PUB11 --远程数据库名称到本地接点
db2 CONNECT TO <接点名称> user <用户名> using <密码> --连接本地接点访问远程数据库
8、数据库导出
db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql --导出数据库的表结构,其中用户空间一般为db2admin/db2inst1
db2look -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sql --导出数据库中表1和表2的表结构
db2move <数据库名> export --导出数据库数据
db2move <数据库名> export -tn <表1>,<表2> --导出数据库中表和表数据

9、数据库导入
db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构
db2move <数据库名> load -lo replace --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉 在实际使用过程中,如果用到db2自增主键,需要使用by default, 而不是always,功能是一样的,但这样在数据移植时候会很方便!
10、db2 connect reset 或 db2 terminate --断开与数据库的连接
11、db2set db2codepage=1208 --修改页编码为1208
12、db2 describe table <表名> --查看表结构(比较常用)
13、db2 list tables --查看数据库中所有表结构(常用)
list tables for system --列出所有系统表
14、db2 list tablespaces --列出表空间
15、fetch first 10 rows only --列出表中前10条数据
例如:select * from <表名> fetch first 10 rows only
16、coalesce(字段名,转换后的值) --对是null的字段进行值转换
value(字段名,转换后的值) --对是null的字段进行值转换
例如:select coalesce(id,1) from <表名> --对表中id如果为null转换成1
select value(id,1) from 表日)
17、concatt(参数1,连接值) --把参数1加上连接值组成一个新值。
例如:concat('aa','b') --返回是aab

18、create alise admin.tb_biao on tb_biao 创建 同义词
19、查询系统时间“
select current timestamp from sysibm.sysmmy1;
这些里面有网上的有我自己整理的,希望对你有帮助!

阅读全文

与db2常用命令相关的资料

热点内容
大话存储pdf 浏览:520
中铭机器人怎么编程 浏览:812
把字母变为数字的加密法 浏览:523
噬血狂袭第三季哪个app能看 浏览:421
江苏螺杆压缩机 浏览:980
android底部弹出对话框 浏览:501
怎么查服务器同行fc号 浏览:999
什么服务器云鸟最便宜 浏览:220
vs编译器反汇编 浏览:570
程序员直播做项目创业 浏览:403
linux下samba配置 浏览:797
程序员面试银行岗位会有编制吗 浏览:414
ex表怎么加密码保护 浏览:173
小孩上编程课用哪款好 浏览:559
如何制作服务器商店 浏览:735
压缩气管阀门 浏览:465
pdf推文 浏览:361
69程序员 浏览:583
阿里云服务器镜像如何迁移到腾讯 浏览:991
安卓如何显示日期在状态栏 浏览:807