如何将数据库迁移到本地IDC

shanhe 2003-01-18 08:57:56
本公司异地有一个idc,db2运行在aix上,我想将数据库迁移到本地的IDC。db2机器在IDC的内网上。
1、请诸位讲讲db2备份/恢复的策略
2、最好详细命令。我以前就是用过mssql unix下的db还没有接触过。

谢谢!!!
...全文
174 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanhe 2003-02-05
  • 打赏
  • 举报
回复
看来DB2的高手不是很多。结帖
3000sunqin 2003-01-28
  • 打赏
  • 举报
回复
你可以使用数据库中的Describe工具来导出这些脚本,
在数据库名称上右击,应该有一个生成DDL语句的菜单。
3000sunqin 2003-01-28
  • 打赏
  • 举报
回复
你可以使用数据库中的Describe工具来导出这些脚本,
在数据库名称上右击,应该有一个生成DDL语句
shanhe 2003-01-24
  • 打赏
  • 举报
回复
希望继续发言,多了解一些
3000sunqin 2003-01-23
  • 打赏
  • 举报
回复
ftp://ftp.software.ibm.com/ps/products/db2/info/vr8/pdf/letter/
ftp://ftp.software.ibm.com/ps/products/db2/info/vr7/pdf/letter/
shanhe 2003-01-23
  • 打赏
  • 举报
回复
to : 3000sunqin(3000suqnin)
外键关系、约束、存储过程、触发器、用户自定义类型、自定义函数的迁移;
表之间的关系、约束需要重建;
存储过程、触发器以及上面所提到的东西需要重新编译过;
在目标服务器上要装C或者C++编译器。

这还不大清楚,这些东西是如何从原来数据库导出,难道需要我从管理中心察看手工纪录?通过那个途径导出来?


gilbertxu 2003-01-22
  • 打赏
  • 举报
回复
有没有DB2的一些资料啊,我是个初学者,希望能帮一下!
3000sunqin 2003-01-22
  • 打赏
  • 举报
回复
这样的情况,只能使用import,Export或者是db2move命令;
对于异种操作系统之间数据库的迁移,需要分为两个部分
1.数据的迁移;
先将源数据库的数据导出成ixf类型的文件,ixf文件不仅包含了数据
同时也包含了表结构、索引;使用Export命令;
#export to FILENAME of ixf messages 导出命令的消息文件名 select *
from TABLENAME;
也可以使用DB2MOVE命令来导出数据
#db2move DATABASENAME export -l PATH
DB2MOVE命令可以将库中所有的表一次导出为ixf文件;
导入数据:可以使用import,load,DB2MOVE来导入数据;
#import from FILENAME of ixf commitcount 500 messages 导入命令的
消息文件名 insert into TABLENAME
或者是LOAD命令,比较复杂,请自己看文档,如果数据量不是非常大的话
建议不要使用该命令;
或者使用DB2MOVE命令
#db2move DATABASENAME import –l PATH
数据导入后查看消息文件。这些文件中会有命令执行的情况;

2.外键关系、约束、存储过程、触发器、用户自定义类型、自定义函数的迁移;
表之间的关系、约束需要重建;
存储过程、触发器以及上面所提到的东西需要重新编译过;
在目标服务器上要装C或者C++编译器。
qxm 2003-01-22
  • 打赏
  • 举报
回复
GZ
3000sunqin 2003-01-21
  • 打赏
  • 举报
回复
首先,你本地的IDC是什么操作系统的,DB2的备份与恢复只能在同种类操作系统中进行;如果不是AIX,那么不能使用备份和恢复的方法来迁移数据;比较复杂;
如果本地IDC是AIX的话
使用DB2的用户Telnet到远程IDC上:(一般是DB2INST1)
做一个离线全备份:
当所有用户都不在线的情况下,你需要通知所有的用户下线,最好是关闭客户端上有关数据库的应用;
然后执行:
#db2 force application all
#db2 terminate
#db2stop
#db2start
假设你的数据库别名为Sample;备份到磁盘上,要注意估算空间;
假设有一个目录是/db2inst1/backup 要注意该DB2用户需要有权限去读写该目录;
#db2 backup db sample to /db2inst1/backup
这样在该目录下会生成一个备份文件;
将其FTP回来;
恢复的过程有些麻烦;
你先要看你需要迁移的表空间的定义情况:
使用下面的命令:
#db2 connect to sample user USERNAME using PASSWORD
#db2 list tablespaces
#db2 list tablespace containers for tablespace_ID
来查看表空间的定义情况,如果情况允许的话你可以在本地建立与远端数据库同样表空间的数据库,这样恢复最方便;
如果不行可以使用从定向恢复:
下使用简单的恢复:
#db2 restore db sample from 本地含有该备份的目录 taken at 备份镜象的时间;
备份镜象的时间格式是YYYYMMDDHHMMSS;
在备份镜象的文件名上可以获得该信息;
下面使用重定向恢复:
在本地服务器上,用DB2的用户进入;
#db2 create db sample
#db2 restore db sample from 本地含有该备份的目录 taken at 备份镜象的时间 redirct
#进行表空间的容器定义(这一部分比较复杂,你还是看一下文档吧 Command Reference)
#db2 restore db sample continue
shanhe 2003-01-21
  • 打赏
  • 举报
回复
感谢3000sunqin(3000suqnin)!
如果本地是win2000远地是aix,怎么办?
欢迎继续给出指导意见,我可以加分!
shanhe 2003-01-21
  • 打赏
  • 举报
回复
有没有其他建议
jiezhi 2003-01-18
  • 打赏
  • 举报
回复
看db2的文档吧,可以学到很多东西,我就是这么学的

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧