分类:
2010-06-07 14:49:48
DB2 Move的步骤基本为:
1) 使用DB2 look命令导出数据库建立时的结构规划db2look.sql,然后主要工作是:根据迁移的目标数据库主机的实际情况,重新规划表空间容器,然后其他语句基本保持不表,顺序执行db2look.sql即可
2) 使用db2move export导出所有的表数据,上传至目标主机后,使用db2move load导入所有数据
实际实施过程中需主要如下问题:
1) db2look命令需要使用如下参数
db2look -d
( –l 选项由于得到bufferpool和tablespace 的相关信息)
2) 表空间容器的规划需注意:
a) 合理规划表空间大小,不是look出来多大就规划多大,一般需要按比例按照存储情况,预留更大的空间
b) 容器类型为FILE时,容器的路径是一个文件夹的路径,而且这个文件夹必须是一个空文件夹,否则会路径错误
3) 执行db2look时一定注意schema名,因为在导出db2look.sql时可能使用了不同的用户,我们在导入表时,一定要根据现在的需要,更改schema名
4) 有时候执行一遍db2look.sql并不能成功创建原来的数据库结构,其原因是db2look只负责导出所有的数据库结构信息,但并不能考虑到原来创建的逻辑顺序,比如原来的某个表T需要在某个function f创建后才能成功创建,但db2look中T的创建语句在f创建语句之前,所以会出现表T创建失败问题,所以在执行完DB2 look时需要注意如下几点:
a) 分段执行,将建bufferpool,tablespaces,表,function,schema等各项分开执行
b) 执行后仔细查看log是否全部创建成功
c) 通过db2客户端工具查看各结构对象的个数,与执行的创建语句核对
5) db2 move load需要注意的问题
a) 上传的介质模式要正确:PC/IXF files in binary mode, and the db2move.lst file, as well as the db2look.sql file, in ASCII mode
b) 更改整个move介质的文件夹的属主或赋予足够权限
使用instance用户,进入db2move.lst所在目录
使用正确用户连接至数据库
执行db2move命令