DB数据库导入导出.docx
- 文档编号:23532854
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:13
- 大小:219.68KB
DB数据库导入导出.docx
《DB数据库导入导出.docx》由会员分享,可在线阅读,更多相关《DB数据库导入导出.docx(13页珍藏版)》请在冰豆网上搜索。
DB数据库导入导出
HessenwasrevisedinJanuary2021
DB数据库导入导出
DB2数据导入导出
2012年3月12日
编辑:
徐彦
一、环境
操作系统:
RedhatLinuxAS
(2.6.18#1SMPi686i386GNU/Linux)
数据库版本:
DB2WorkGroup版V9.7.0
(数据库版本可通过连接数据库来查看,db2connecttodbname)
二、声明
实例用户,默认为db2inst1
Das用户,默认为dasusr1
数据库安装目录($INSTHOME),默认为/opt/ibm/db2/
实例安装目录($HOME),默认为/home/db2inst1/
实例名:
db2inst1
数据库名:
三、导出具体步骤
导出对象结构
建议单独创建一个数据导出目录,利于导出文件整理的清晰。
$su–db2inst1
#切换至db2inst1用户
$cd/
#
$db2connectto
#连接至数据库
$db2look–d
#导出数据库对象创建脚本
例子:
数据库名为meibof
导出数据库数据
(建议在
db2move
(如果导出是发现有warning,在上面的命名后面加上-aw参数)
以数据库名为meibof为例:
四、导入具体步骤
建立新数据库
$su–db2inst1
#切换至db2inst1用户
db2createdb
创建名为meibof的数据库:
执行
切换到放置
db2–tvf
(单次导入有可能丢失数据结构,建议连续执行3次,导入完成后,和开发人员确认数据库对象的数量,尤其是存储过程。
)
导入数据
切换到放置db2move导出数据的目录
db2move
一致性检查
原理:
如果发现有表存在检查挂起状态(由于检查约束的原因),则输入命令如下
db2setintegrityforimmediatechecked将其转换成正常状态。
首先利用sql语句得到要检查的表的执行语句
主要命令:
db2"select'db2setintegrityfor
以数据库名meibof,SCHEMA名meibof为例:
查出有14张表需要转换成正常状态。
在上一条语句末加上>把要添加的sql语句添加到脚本文件
如下例:
用vi文本编辑器打开脚本文件:
1)在第一行加入连接数据库sql语句;
2)在最后一行加入commit命令,db2commit
执行完后再次检查发现没有需要更正的:
说明:
如果还有需要更正的表,则反复执行上述操作。
五、附录
用法
db2look版本
db2look:
生成DDL以便重新创建在数据库中定义的对象
语法:
db2look-dDBname[-e][-uCreator][-zSchema][-tTname1Tname2...TnameN][-twTname][-h][-oFname][-a]
[-m][-c][-r][-l][-x][-xd][-f][-fd][-tdx][-noview][-iuserID][-wpassword]
[-vVname1Vname2...VnameN]
[-wrapperWrapperName][-serverServerName][-nofed]
db2look-dDBname[-uCreator][-s][-g][-a][-tTname1Tname2...TnameN]
[-p][-oFname][-iuserID][-wpassword]
db2look[-h]
-d:
数据库名称:
这必须指定
-e:
抽取复制数据库所需要的DDL文件
此选项将生成包含DDL语句的脚本
可以对另一个数据库运行此脚本以便重新创建数据库对象
此选项可以和-m选项一起使用
-u:
创建程序标识:
若-u和-a都未指定,则将使用$USER
如果指定了-a选项,则将忽略-u选项
-z:
模式名:
如果同时指定了-z和-a,则将忽略-z
联合部分的模式名被忽略
-t:
生成指定表的统计信息
可以指定的表的数目最多为30
-tw:
为名称与表名的模式条件(通配符)相匹配的表生成DDL
当指定了-tw选项时,-t选项会被忽略
-v:
只为视图生成DDL,当指定了-t时将忽略此选项
-h:
更详细的帮助消息
-o:
将输出重定向到给定的文件名
如果未指定-o选项,则输出将转到stdout
-a:
为所有创建程序生成统计信息
如果指定了此选项,则将忽略-u选项
-m:
在模拟方式下运行db2look实用程序
此选项将生成包含SQLUPDATE语句的脚本
这些SQLUPDATE语句捕获所有统计信息
可以对另一个数据库运行此脚本以便复制初始的那一个
当指定了-m选项时,将忽略-p、-g和-s选项
-c:
不要生成模拟的COMMIT语句
除非指定了-m或-e,否则将忽略此选项
将不生成CONNECT和CONNECTRESET语句
省略了COMMIT。
在执行脚本之后,需要显式地进行落实。
-r:
不要生成模拟的RUNSTATS语句
缺省值为RUNSTATS。
仅当指定了-m时,此选项才有效
-l:
生成数据库布局:
数据库分区组、缓冲池和表空间。
-x:
如果指定了此选项,则db2look实用程序将生成授权DDL
对于现有已授权特权,不包括对象的原始定义器
-xd:
如果指定了此选项,则db2look实用程序将生成授权DDL
对于现有已授权特权,包括对象的原始定义器
-f:
抽取配置参数和环境变量
如果指定此选项,将忽略-wrapper和-server选项
-fd:
为opt_buffpage和opt_sortheap以及其它配置和环境参数生成db2fopt语句。
-td:
将x指定为语句定界符(缺省定界符为分号(;))
应该与-e选项一起使用(如果触发器或者SQL例程存在的话)
-p:
使用明文格式
-s:
生成postscript文件
此选项将为您生成postscript文件
当设置了此选项时,将除去所有latex和tmpps文件
所需的(非IBM)软件:
LaTeX和dvips
注意:
文件必须在LaTeX输入路径中
-g:
使用图形来显示索引的页访存对
必须安装Gnuplot,并且<>必须在您的LaTeX输入路径中
还将随LaTeX文件一起生成<>文件
-i:
登录到数据库驻留的服务器时所使用的用户标识
-w:
登录到数据库驻留的服务器时所使用的密码
-noview:
不要生成CREATEVIEWddl语句
-wrapper:
为适用于此包装器的联合对象生成DDL
生成的对象可能包含下列各项:
包装器、服务器、用户映射、昵称、类型映射、
函数模板、函数映射和索引规范
-server:
为适用于此服务器的联合对象生成DDL
生成的对象可能包含下列各项:
包装器、服务器、用户映射、昵称、类型映射、
函数模板、函数映射和索引规范
-nofed:
不要生成FederatedDDL
如果指定此选项,将忽略-wrapper和-server选项
LaTeX排版:
latex以获得
示例:
db2look-dDEPARTMENT-uwalid-e-o
--这将生成由用户WALID创建的所有表和联合对象的DDL语句
--db2look输出被发送到名为的文件中
示例:
db2look-dDEPARTMENT-zmyscm1-e-o
--这将为模式名为MYSCM1的所有表生成DDL语句
--还将生成$USER创建的所有联合对象的DDL。
--db2look输出被发送到名为的文件中
示例:
db2look-dDEPARTMENT-uwalid-m-o
--这将生成UPDATE语句以捕获关于用户WALID创建的表/昵称的统计信息
--db2look输出被发送到名为的文件中
示例:
db2look-dDEPARTMENT-uwalid-e-wrapperW1-o
--这将生成由用户WALID创建的所有表的DDL语句
--还将生成适用于包装器W1的用户WALID所创建所有联合对象的DDL
--db2look输出被发送到名为的文件中
示例:
db2look-dDEPARTMENT-uwalid-e-serverS1-o
--这将生成由用户WALID创建的所有表的DDL语句
--还将生成适用于服务器S1的用户WALID所创建所有联合对象的DDL
--db2look输出被发送到名为的文件中
用法
db2move
首先,您必须指定数据库名(想要移动的表所在的数据库)和要执行的操作(export和import或load)。
然后指定一个选项来定义操作的范围。
例如,可以将一个操作限制在特定的表(-tn)、表空间(-ts)、表创建者(-tc)或模式名(-sn)范围内。
指定表、表空间或表的创建者的一个子集只对export操作有效。
如果指定多个值,就必须使用逗号将其分隔开;在值列表项之间不允许有空格。
可以指定的项最多为10个。
?
Export同时会导出建表命令!
另外,也可以指定-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时系统虽然会自动建表,但是也仅限于表,表上的视图和索引还需要自行创建)
所以需要在导完数据后,用脚本创建索引和视图,以及授权等操作。
这样可以防止破坏表的完整性。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DB 数据库 导入 导出
![提示](https://static.bdocx.com/images/bang_tan.gif)