利用db2move工具程序在两个不同DB2数据库间移动数据。可以把一个有大量数据的表需要从一个数据库Copy到另外一个数据库。db2move工具可以按以下3种模式之一运行:EXPORT,IMPORT,LOAD。
(1)当运行EXPORT 模式时,它将用EXPORT程序从表或者指定的表导出数据到数据文件,数据文件类型为IXF.它将产生一个DB2MOVE.LST文件,导出时,记录所有导出表和产生的文件的名字。也会产生数据消息文件。
(2)当运行IMPORT模式时,IMPORT程序被用来把IXF类型的数据文件导入到给定的数据库中。它尝试读取DB2MOVE.LST文件去查找被导入的数据文件名和数据文件的关联。 (3)当运行LOAD模式时,在DB2MOVE.LST文件里指定的输入文件将用LAOD程序插入表中,这个模式用得比较少。 db2move语法如下:db2move<database name><action><additional option>
>>-db2move--dbname--action----+------------------------+-+----->< +- -tc--table-creators---+ +- -tn--table-names------+ +- -sn--schema-names-----+ +- -ts--tablespace-names-+ +- -tf--filename---------+ +- -io--import-option----+ +- -lo--load-option------+ +- -l--lobpaths----------+ +- -u--userid------------+ +- -p--password----------+ '- -aw-------------------' 从windows的db2数据库移植到Linux的db2数据库实例:
1 登陆到windows,进入db2的命令窗口,连接将被移植的数据库
2 进入移植出的文件保存的路径,输入以下命令:db2move XXX export(XXX表示移植出的数据库) 3 在该路径下生成四种文件,分别是:
EXPORT.OUT-EXOORT操作的结果,只有一个。 DB2MOVE.LST-创建的一个包含了文件名和表名的列表文件,只有一个。 TAB***.IXF-IXF文件包含了数据库SAMPLE里所有表的数据,每一表对应一个。 TAB***.MSG-消息文件,每一个表对应一个,还有一个系统消息。 4 修改db2move.lst文件,把原数据库的schema改成目标数据库的schema,注意区分大小写
5 使用FTP把生成的所有文件上传到Linux上面 首先去到上面四种文件保存的目录下 C:\Documents and Settings\Administrator>cd /d D:\xxx\xxx G:\db2move\htdctr>ftp xxx.xxx.xxx.xxx 使用账号和密码登陆 ftp> prompt Interactive mode Off . ftp> asc ----设置上传的编码,注意,db2move.lst一定要使用ASCII编码否 200 Type set to A. 则报错,其他的默认使用二进制编码 ftp> put db2move.lst xxxxx ----xxxx为Linux上面保存的路劲 ftp> bin 200 Type set to I. ftp> mput *.ixf ----批处理上传文件 …… …… …… …… ftp> mput *.msg …… …… …… …… 6 在Linux上面使用db2实例用户创建数据库,注意,只是创建数据库,不要创建表
7 连接新创建的数据库 8 用db2实例用户在Linux存放上传文件的目录下,输入:db2move yyyy import 进行数据库数据的移植工作,yyyy表示新创建的数据库 9 创建数据库的主键和外键 |
|