DB2导出表结构.docx
- 文档编号:3484407
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:11
- 大小:22.27KB
DB2导出表结构.docx
《DB2导出表结构.docx》由会员分享,可在线阅读,更多相关《DB2导出表结构.docx(11页珍藏版)》请在冰豆网上搜索。
DB2导出表结构
DB2导出表结构、表数据小结
2010/12/5
一、DB2命令行导出数据库全库表结构
1Win+R进入到DB2安装目录的BIN目录下,执行命令:
DB2CMD,进入到DB2CLP窗口。
命令:
DB2CMD
2创建一个data文件夹
命令:
MKDIRdata
说明:
将数据库全表结构的SQL语句导出到data目录下
3进入到data目录
命令:
CDdata
4导出数据库全表结构
命令:
DB2LOOK–DDATABASE_NAME–E–A–IUSER_NAME–WPASSWORD–ODB_DLL.sql
说明:
DATABASE_NAME—数据库名称
USER_NAME—登录数据库用户名
PASSWORD—登录数据库用户密码
DB_DLL.sql—数据库全表SQL脚本文件
二、DB2命令行导出数据库全库数据
1执行命令,导出数据
命令:
DB2MOVEDATABASE_NAMEEXPORT–uUSER_NAME–pPASSWORD
说明:
DATABASE_NAME—数据库名称
USER_NAME—登录数据库用户名
PASSWORD—登录数据库用户密码
DB_DLL.sql—数据库全表SQL脚本文件
提示:
-u,-p必须是小写
三、DB2命令行导出数据库单个表数据
1执行命令,导出单表数据
命令:
DB2EXPORTTO[path(eg..D:
/TABLE_NAME.IXF)]OFIXFSELECT[字段(eg..*orcol1,col2,……coln)]FROMTABLE_NAME;
说明:
导出文件格式A:
DEL(delimitedASCIIformat);B:
WSF(worksheetformat);C:
IXF(integratedexchangeformat,PCversion)
四、DB2命令行导入表数据
1执行命令导入表数据
命令:
DB2IMPORTFORM[path(eg..D:
/TABLE_NAME.IXF)]OFIXFINSERTINTOTABLE_NAME;
DB2LOADFROM[path(eg..D:
/TABLE_NAME.IXF)]OFIXFINSERTINTOTABLE_NAME;
DB2LOADFROM[path(eg..D:
/TABLE_NAME.IXF)]OFIXFREPLACEINTOTABLE_NAME;
//当装载数据前,先删除已存在的记录
DB2LOADFROM[path(eg..D:
/TABLE_NAME.IXF)]OFIXFRESTARTINTOTABLE_NAME;
//当装载失败时,重新执行,并极力导出结果和错误信息
DB2LOADFROM[path(eg..D:
/TABLE_NAME.IXF)]OFIXFRESTARTINTOTABLE_NAME;
//在存在自增长字段的数据导入
DB2LOADFROM[path(eg..D:
/TABLE_NAME.IXF)]OFIXFMODIFIEDBYIDENTIEYIGORNINSERTTOTABLE_NAME;
解除装入数据时,发生的检查挂起:
SETINTEGRITYFORTABLE1CHECKIMMEDIATEUNCHECKED;
说明:
命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.
db2相关命令(db2look和move)以及相关SQL操作
关键字:
db2lookmove
1、导出到一个文件获得sql语句
db2look-dcqyancao-e-odb.sql-idb2user-wpsw
数据库名 要出文件名 用户名 密码
示例:
db2look-dDEPARTMENT-uwalid-e-odb2look.sql
--这将生成由用户WALID创建的所有表和联合对象的DDL语句
--db2look输出被发送到名为db2look.sql的文件中
示例:
db2look-dDEPARTMENT-zmyscm1-e-odb2look.sql
--这将为模式名为MYSCM1的所有表生成DDL语句
--还将生成$USER创建的所有联合对象的DDL。
--db2look输出被发送到名为db2look.sql的文件中
示例:
db2look-dDEPARTMENT-uwalid-m-odb2look.sql
--这将生成UPDATE语句以捕获关于用户WALID创建的表/别名的统计信息
--db2look输出被发送到名为db2look.sql的文件中
示例:
db2look-dDEPARTMENT-uwalid-e-wrapperW1-odb2look.sql
--这将生成由用户WALID创建的所有表的DDL语句
--还将生成适用于包装器W1的用户WALID所创建所有联合对象的DDL
--db2look输出被发送到名为db2look.sql的文件中
示例:
db2look-dDEPARTMENT-uwalid-e-serverS1-odb2look.sql
--这将生成由用户WALID创建的所有表的DDL语句
--还将生成适用于服务器S1的用户WALID所创建所有联合对象的DDL
--db2look输出被发送到名为db2look.sql的文件中
2.使用db2move命令导出数据库
从另一数据库中导出初始化数据,首先进入导出的目录,如:
D:
\db,
命令为:
db2movedbnameexport–uusername–ppassword。
注:
dbname为原数据库名,username为用户名password为密码。
恢复命令D:
\db>db2movedbnameimport-uusername-ppassword
3、使用db2move导出导入单表
导出db2movedbnameexport-tnyc_news-udb2user-ppassword
导入db2movedbnameimport-udb2user-ppassword
4、其它相关
db2取前十条记录
例如:
db2=>select*fromtableNamefetchfirst10rowsonly
db2修改字段长度
db2altertabledb2admin.configaltercvaluesetdatatypevarchar(255)
例如:
db2=>altertablenewsalterAUTHORsetdatatypevarchar(250)
db2=>describetablenews
db2增加字段方法
altertabletable_name
addcolumncolumn_namedatatype
重要参数详解:
0b2wQ4W_G_y0-dDBname :
指定数据库名
I;\_A_^_C$O:
a0-e :
生成数据库对象的DDL语句ITPUB个人空间_G$o
K5e6u_C_yh#k-v
-l :
生成用户定义的表空间、数据库分区组、BufferPools
-@r:
n!
l'n0i_f"o.P0 的DDL语句ITPUB个人空间n&B_Q{_R$l
-uCreator :
指定创建者ID的对象
_H~,e.O_l_|_O_B0-a :
指定不限制创建者
.U_`0B8g_Q_dG_C_H0-zschema :
指定Schema
0VDV7e_w_`0-tTname1Tname2...TnameN :
指定特定的表
_W_c$~2o~_r+}-x0-vVname1Vname2...VnameN :
指定特定的View
)S_S_f_i_d_y8a_ni0-tw Tname :
指定表名字的匹配格式,日志表'LOG%'ITPUB个人空间1H!
]0]%m
|_f8J_B_w2X1A
-oOutputFile :
指定输出结果文件名
#n_T_Q/s2f#X_w#K0-m :
生成复制统计信息表的UPDATE语句。
ITPUB个人空间)x_f_J7S_e_n_?
-x :
生成用户权限相关DDL
#g_q9Uj_f_D,x_\4T_H_m0-xd :
生成系统权限相关DDL
9?
*d!
[_F&U2i_o
M0-xs :
XML模式存储库(XSR)对象(XML模式、DTD和外部实体)ITPUB个人空间_j_B_`0ka:
yR&c-{z+[_j_^
-xdirdirname :
XSR对象的放置位置
Db2look–ddwdb–e–zdwrun–tbuffer_ngboss3_voice_20120411cdr_call_20120411|dw_call_20120411dw_call_dt_20120411st_call_dm|st_calltime_dm
导入
db2-tvfxxx.sql
db2move详解
db2move 命令
db2move
首先,您必须指定数据库名(想要移动的表所在的数据库)和要执行的操作(export 和 import 或 load)。
然后指定一个选项来定义操作的范围。
例如,可以将一个操作限制在特定的表(-tn)、表空间(-ts)、表创建者(-tc)或模式名(-sn)范围内。
指定表、表空间或表的创建者的一个子集只对 export 操作有效。
如果指定多个值,就必须使用逗号将其分隔开;在值列表项之间不允许有空格。
可以指定的项最多为 10 个。
另外,也可以指定 -tf 选项,此时要使用一个文件名作为参数,其中列出了要导出的表名;在该文件中,每行只能列出一个完整的表名。
您还可以指定以下内容:
-io import-option
指定 DB2 的 import 工具可以运行的一种模式。
有效的选项有:
CREATE、 INSERT、 INSERT_UPDATE、 REPLACE 和 REPLACE_CREATE。
缺省值为 REPLACE_CREATE。
有关这些模式的更多内容,请参阅 DB2 的产品文档,可以从 DB2 技术支持获得这些文档。
-lo load-option
指定 DB2 的 load 工具可以运行的一种模式。
有效的选项有:
INSERT 和 REPLACE。
缺省值为 INSERT。
有关这些模式的更多内容,请参阅 DB2 的产品文档,可以从 DB2 技术支持获得这些文档。
-l lobpaths
指定要创建或查找的 LOB 文件的位置。
必须指定一个或多个绝对路径名。
如果指定了多个绝对路径,就必须使用逗号将其分隔开;值之间不允许有空格。
缺省值是当前目录。
-u userid
指定一个用户 ID,该工具可以使用这个用户 ID 登录到远程系统上。
-p password
指定对该用户进行认证的密码;该工具需要使用一个有效的用户 ID 和密码登录到远程系统上。
db2move是DB2数据转移命令,用于不同操作系统之间(如linux和windows)的数据转移.
可以先用db2moveexport将数据导出,然后在另一个DB2里用db2moveimport或db2moveload导入数据.
导出方法:
建立一个空文件夹,进入该文件夹使用
db2moveMydatabaseexport导出数据.
导入方法:
进入导出的文件夹,输入命令db2moveNewdbload
实际操作中,使用load的时候可能会发生破坏表完整性约束的情况,需要执行setintegrityfor
immediatechecked消除表checkpending的状态。
不过有些不理想的地方,db2move时系统虽然会自动建表,但是也仅限于表,表上的视图和索引还需要自行创建)
所以需要在导完数据后,用脚本创建索引和视图,以及授权等操作。
这样可以防止破坏表的完整性。
|12.7db2move
|db2move工具现在有两个附加选项--aw和--sn。
此工具的完整文档如下:
|数据库移动工具
||
|此工具用来在工作站上的DB2数据库之间移动大量的表。
该工具查询系统目录表以获取特定数据库并编译所有用户表的列表。
然后,它以|PC/IXF格式导出这些表。
可将PC/IXF文件导入或装入同一系统上的另一本地|DB2数据库,也可将这些文件传送至另一工作站平台并将其导入或装入该平台上的DB2数据库。
|注意:
使用此工具时不会移动带有结构化类型列的表。
|
|权限
|此工具会根据用户请求的操作调用DB2导出、导入和装入API。
因此,请求用户标识必须具有这些|API所要求的正确权限,否则请求将会失败。
|命令语法
|.-------------------------.
|V|
|>>-db2move--dbname--action----+---------------------+-+--------><
|+--tc--table-creators-+
|+--tn--table-names----+
|+--sn--schemanames---+
|+--io--import-option--+
|+--lo--load-option----+
|+--l--lobpaths--------+
|+--u--userid----------+
|+--p--password--------+
|'--aw-----------------'
|
|
|命令参数|
|dbname
|数据库的名称。
|action
|必须是下列其中之一:
EXPORT、IMPORT或LOAD。
|-tc
|表创建者。
缺省值为所有创建者。
|这只是一个EXPORT|操作。
如果指定此项的话,只会导出那些由此选项列示的创建者创建的表。
如果未指定此项的话,缺省值是使用所有创建者。
在指定多个创建者时,每个创建者必须用逗号隔开;创建者标识之间不允许有空格。
可指定的最大创建者数为|10。
此选项可与“tn”和“-sn”选项配合使用来选择要导出的表。
|可将星号(*)用作通配符,它可放在字符串中的任何位置。
|-tn
|表名。
缺省值为所有用户表。
|这只是一个EXPORT|操作。
如果指定此项,则只有其名称与指定字符串中的内容完全匹配的那些表才会导出。
如果未指定此项的话,缺省值是使用所有用户表。
在指定多个表名时,每个表必须用逗号隔开;表名之间不允许有空格。
可指定的最大表名数为|10。
此选项可与“-tc”和“-sn”选项配合使用来选择要导出的表。
db2move|将仅导出其名称与指定表名相匹配,其创建者与指定表创建者相匹配的那些表。
|可将星号(*)用作通配符,它可放在字符串中的任何位置。
|-sn
|模式名。
缺省值是ALLSCHEMAS。
|这只是一个EXPORT|操作。
如果指定此项,则只有其模式与指定字符串中的内容相匹配的那些表才会导出。
如果未指定此项的话,缺省值是使用所有模式。
在指定多个模式名时,每个模式必须用逗号隔开;模式名之间不允许有空格。
可指定的最大模式名数为10。
此选项可与“-tc”和“-tn”选项配合使用来选择要导出的表。
db2move|将仅导出其名称与指定表名相匹配,其模式与特定表模式相匹配且其创建者与指定表创建者相匹配的那些表。
可将星号(*)用作通配符,它可放在字符串中的任何位置。
|注意:
名称少于8字符的模式名将填充为8字符长。
例如,如果想要包括模式“AUSER”和“BUSER”并使用通配符,则必须指定-sn*USER*。
|
|-io
|导入选项。
缺省值是REPLACE_CREATE。
|有效选项为|INSERT、INSERT_UPDATE、REPLACE、CREATE和REPLACE_CREATE。
|-lo
|装入选项。
缺省值为INSERT。
|有效选项为INSERT和REPLACE。
|-l
|LOB路径。
缺省值为当前目录。
|此选项指定创建LOB文件(作为EXPORT的部分)或搜索LOB文件(作为IMPORT或LOAD的部分)的绝对路径名。
在指定多条LOB路径时,每条路径必须用逗号隔开;LOB路径之间不允许有空格。
如果第一条路径用完了所有空间(EXPORT|期间),或者路径中找不到这些文件(IMPORT或LOAD期间),则使用第二条路径,以此类推。
|如果该操作为|EXPORT,且指定了LOB路径,则会删除LOB路径目录中的所有文件并除去这些目录,从而创建新的目录。
如果未指定此项,则使用当前目录作为LOB路径。
|-u
|用户标识。
缺省值是已登录的用户标识。
|用户标识和密码都是可选的。
但是,如果指定了其中一项,则必须指定另一项。
如果该命令是在连接至远程服务器的客户机上运行,则应指定用户标识和密码。
|-p
|密码。
缺省值是已登录的密码。
|用户标识和密码都是可选的。
但是,如果指定了其中一项,则必须指定另一项。
如果该命令是在连接至远程服务器的客户机上运行,则应指定用户标识和密码。
|-aw
|允许警告。
|仅供EXPORT操作使用。
如果指定此选项,则在导出期间接收到警告的所有表都将包括在|db2move.lst文件中。
如果省略此选项,则在导出期间导致警告的所有表都不会包括在db2move.lst|文件中。
系统会生成表的.ixf文件和.msg文件,不管是否使用此选项都是如此。
|
|示例|
∙|db2movesampleexport
|这会导出SAMPLE|数据库中的所有表,对所有选项使用缺省值。
∙|db2movesampleexport-tcuserid1,us*rid2-tntbname1,*tbname2
|这将导出由“userid1”或类似“us%rid2”的用户标识创建的,且带有名称“tbname1”或类似“%tbname2”的表名的所有表。
∙|db2movesampleimport-lD:
\LOBPATH1,C:
\LOBPATH2
|此示例仅适用于|或Windows操作系统。
该命令将导入SAMPLE数据库中的所有表;系统会搜索|LOB路径“D:
\LOBPATH1”和“C:
\LOBPATH2”来查找LOB文件。
∙|db2movesampleload-l/home/userid/lobpath,/tmp
|此示例仅适用于基于|UNIX的系统。
该命令会装入SAMPLE数据库中的所有表;系统会同时搜索/home/userid/lobpath子目录和tmp|子目录来查找LOB文件。
∙|db2movesampleimport-ioreplace-uuserid-ppassword
|这会以REPLACE方式导入SAMPLE数据库中的所有表;将使用指定用户标识和密码。
|
|使用说明
|此工具将导出、导入或装入用户创建的表。
如果将一个操作系统中的数据库复制至另一个操作系统,db2move将实现表的移动。
还需要移动与这些表相关联的所有其它对象,如别名、视图、触发器、用户定义函数等等。
db2look(DB2统计信息和DDL抽取工具;参见命令参考)可通过从数据库中抽取数据定义语言(DDL)语句来实现其中一些对象的移动。
|当db2move调用导出、导入或装入API时,FileTypeMod|参数设置为lobsinfile。
即,LOB数据保存在不同于PC/IXF文件的文件中。
一共有|26 000个文件名可供LOB文件使用。
|LOAD操作必须在数据库和数据文件驻留的机器本地运行。
在db2move|调用装入API时,CopyTargetList参数设置为NULL;即不会进行复制。
如果logretain|为开,则以后不会前滚装入操作。
装入的表所驻留的表空间处于备份暂挂状态,是不可存取的。
全数据库备份或表空间备份是让表空间脱离备份暂挂状态所必需的。
|如果是在版本5.2客户机上的版本6数据库中,此工具不支持长度超过18个字符的表名或列名。
|使用EXPORT时所需的/生成的文件:
|
∙|输入:
无。
∙|输出:
|
|EXPORT.out
|EXPORT操作的大致结果。
|db2move.lst
|原始表名,其对应的PC/IXF文件名(tabnnn.ixf)和消息文件名(tabnnn.msg)的列表。
此列表、导出的|PC/IXF文件和LOB文件(tabnnnc.yyy)被用作db2moveIMPORT|或LOAD操作的输入。
|tabnnn.ixf
|特定表的导出的PC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DB2 导出 结构