⑴ 如何对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 两个库如何进行某张表的数据同步
DB2中好像没有类似的功能,也没用到相关的中间件。
想到的慧逗做法就是写一个小前激卖程铅闹序(什么语言实现无所谓,例如Python?)
这个程序运行在A机上,然后访问B主机的表,把数据更新到A主机的表中。
然后放在Windows的任务计划中,定期运行此程序。
在Python中,可以用pyodbc经过DB2的客户端远程访问主机上的数据库。
伪代码:
import pyodbc
def synchronize():
connA = pyodbc.connect("Driver={IBM DB2 ODBC DRIVER};DATABASE=A;HOSTNAME=A'S IP;PORT=A'S PORT;PROTOCOL=TCPIP;UID=USER;PWD=PASSWORD;")
connB = pyodbc.connect("Driver={IBM DB2 ODBC DRIVER};DATABASE=B;HOSTNAME=B'S IP;PORT=B'S PORT;PROTOCOL=TCPIP;UID=USER;PWD=PASSWORD;")
cursA = connA.cursor()
cursB = connB.cursor()
cursB.execute("select * from sometable")
params = []
for row in cursB:
params.append(row)
insert_sql = '''insert into sometable(col1,col2)
values(?,?);
'''
cursA.execute("delete from sometable")
cursA.executemany(insert_sql, params)
connA.commit()
connA.close()
connB.close()
if __name__ == '__main__':
synchronize()
⑶ 如何建立DB2分区数据库
1) 了解分区定义
分区定义可以从节点配置文件(db2nodes.cfg)得到,其位于实例所有者的主目录中,它包含一些配置信息,告诉 DB2 有哪些服务器参与分区数据库环境的实例。分区数据库环境中的每个实例都有一个 db2nodes.cfg 文件。对于每个参与实例的服务器,db2nodes.cfg 文件必须包含一个条目。当创建实例时,会自动创建 db2nodes.cfg 文件并对拥有实例的服务器添加条目。这里我们假设有4个分区。
2) 创建数据库
create db dpfdb;
默认会创建3个分区组IBMCATGROUP(只在0号分区上)
IBMTEMPGROUP ,IBMDEFAULTGROUP(在所有分区上),如果用户没有创建其他分区组,所创建的表空间会默认放在IBMDEFAULTGROUP上
3) 创建分区组
我们在 1到3号分区建立一个分区组
CREATE DATABASE PARTITION GROUP USERGROUP ON DBPARTITIONNUMS(1,2,3);
4) 创建表空间
CREATE TABLESPACE TS IN USERGROUP MANAGED BY DATABASE USING (file '/DB2containers/TScontainer $N' 10000)
有4个containers被创建
/DB2containers/TScontainer0 - on DATABASE PARTITION 0
/DB2containers/TScontainer1 - on DATABASE PARTITION 1
/DB2containers/TScontainer2 - on DATABASE PARTITION 2
/DB2containers/TScontainer3 - on DATABASE PARTITION 3
5) 创建表
CREATE TABLE DPFTABLE (ID INTEGER NOT NULL,
NAME CHAR(20) NOT NULL)
IN TS
PARTITIONING KEY (ID) USING HASHING;
⑷ DB2是什么
DB2
开放分类: 数据库、互联网、电脑、技术、计算机
IBM公司研制的一种关系型数据库系统。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于OS/2、Windows等平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 它以拥有一个非常完备的查询优化器而着称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。
DB2是IBM出口的一系列关系型数据库管理系统,分别在不同的操作系统平台上服务。虽然DB2产品是基于UNIX的系统和个人计算机操作系统,在基于UNIX系统和微软在windows系统下的Access方面,DB2追寻了ORACLE的数据库产品。
除了它可以提供主流的OS/390和VM操作系统,以及中等规模的AS/400系统之外,IBM还提供了跨平台(包括基于UNIX的LINUX,HP-UX,Sun Solaris,以及SCO UnixWare;还有用于个人电脑的OS/2操作系统,以及微软的Windows 2000和其早期的系统)的DB2产品。DB2数据库可以通过使用微软的开放数据库连接(ODBC)接口,Java数据库连接(JDBC)接口,或者CORBA接口代理被任何的应用程序访问。
7月14日,IBM全球同步发布了一款具有划时代意义的数据库产品——DB2 9(“DB2”是IBM数据库产品系列的名称)。而这款新品最大特点即是率先实现了可扩展标记语言(XML)和关系数据间的无缝交互,而无需考虑数据的格式、平台或位置。
DB2的前世今生和未来:
对于每个最终站在奖台上泪水盈面的奥运冠军来说,为此刻他或她也许已经付出了5年甚至10年的艰苦努力。相比这些人类的冠军们,这个世界还有另外一种意义上的冠军,它们虽没有泪水,却依然在历史上留下了非凡的轨迹—DB2就是这类冠军中的一员。这个数据库领域里当之无愧的冠军,已用了足足25年来描绘它的轨迹。
纪念IBM DB2的诞生
IBM DB2已经25周岁拉!DB2回顾与展望
专家点评DB2:
微软人物谈DB2发展:成功是必然的
DB2的成功案例:
DB2在各个行业得到了广泛的应用。
【视频】IBM DB2 9 pureXml在税务行业的应用案例
【视频】IBM DB2 9 pureXml在医疗行业的应用案例
【视频】IBM DB2 9 pureXml在政府行业的应用案例
DB2的最新产品:
DB2 9数据库免费版下载地址
DB2 9数据服务器发展3部曲
⑸ 如何通过DB2 connect连接DB2/400数据库
在客户端上访问db/400有两种方法. 一是通过as/400所提供的client access, 二是通过db2 connect产品(该产品被包含在db2 ESE版本中,也可单独订购)。有两种方法来配置db2 connect从而达到访问db2/400的目的,一是通过db2 connect带的客户端配置帮助(client configuration assistant), 该程序是GUI界面, 易于使用,这里就不详述了.二是通过db2命令行的命令, 这里主要介绍了如何使用db2命令行的方式来访问db2/400
1.用OS/400命令WRKRDBDIRE查看已定义数据库。
如:S653924B *LOCAL
2.在安装了DB2 Connect产品的PC的命令行窗口,用以下命令连接DB2/400数据库
db2 catalog tcpip node node400 remote as400ip server 446
db2 catalog dcs db570 as s653924b
db2 catalog db db570 at node node400 authentication dcs
注意:
其中: as400ip是as/400的IP地址;
446是端口号;
s653924b是上图所列的数据库名称;
3.连接DB2/400数据库
db2 connect to db user 用户名
输入 xiaoqing 的当前密码
⑹ 如何通过DB2连接远程服务器端的数据库
方法如下:
1、按WIN+Q组合键打开搜索框,输入"升茄远程桌面连接",点击下方提示的远程桌面连接
2、在打开的连接吵培察窗口,输入远程机器的计算机名或IP地址,和端口
3、系统可能会中帆有一些提示,点击确认。
4、登入远程主机后,输入远程主机的用户名和密码即可
⑺ 如何用DB2的数据库联合功能将mysql的表映射到DB2
同等答案
⑻ db2的sqc文件里怎么连接数据库
1.首先把自己编辑好的SQC文件(如:test.sqc)放在指定的目录下。
2.正式开始编译前,需要和DB2数据库(如:TESTDB)建立连接。
以linux环境为例,在命令行状态下,输入:db2
connect
to
TESTDB
3.调用DB2的prep命令对SQC文件进行预编译,用来生成C文件。
在命令行状态下,输入:db2
prep
test.sqc
BINDFILE
package
using
bindtest
说明:
上述命令中的“BINDFILE”是用来指定在做预编译的同时生成bind文件的(如:bindtest.bnd)
上述命令中的“package
using
bindtest”是用来指定将要写入到DB2的系统表中的package信息的名称(如:bindtest)。
bind文件里记载的是用来写入到package信息的数据。
4.调用DB2的bind
命令从上一步生成的bind文件中读出必要的数据写入到上一步指定名称的package信息中。
并可以给这条信息指定访问权限。
以linux环境为例,在命令行状态下,输入:db2
bind
ConnTEST.bnd
GRANT
PUBLIC
5.到目前为止可以说与DB2相关的所有预编译就基本完成了,我们需要的C文件(如:test.c)也整成生成了,那个bind文件后边暂时不会用到了。
下来就可以调用CC或GCC之类的C代码编译器对这个C文件进行编译,基本的过程是test.c→test.o→test。这样我们就可以执行这个最终的可实行程序了。
⑼ db2 数据库连接问题
请问你1、 db2set DB2COMM=TCPIP 2、 db2 update dbm cfg using svcename DB2_db2inst1
这两个配置了吗