AIX系统上实现DB2数据导入LINUX系统

简介:
下面为您介绍的DB2数据导入导出方法实现的是AIX系统上DB2数据导入LINUX系统,如果您对DB2数据导入方面感兴趣的话,不妨一看。
  (一)AIX系统上的操作:
  1) 首先我们用db2look命令得到数据库对象的DDL脚本:
以下是代码片段:
 db2look -d SAMPLE -z DB2INST1 -e -o sample.ddl -i db2inst1 -w db2inst1 

  2) 使用文本编辑器编辑生成的sample.ddl,将创建表及索引的脚本语句,创建外键约束的语句,创建触发器的语句分开,制作成三个DDL脚本,分别是

以下是代码片段:
sample_tabs.ddl
  sample_foriegnkeys.ddl
  sample_triggers.ddl 

  3) 使用下面的SQL语句生成导出所有数据的脚本:exort.sql
以下是代码片段:
db2 “select ‘export to ‘ || rtrim(tabname) || ‘.ixf of ixf select * from ‘ || rtrim(tabname) || ‘;’ from syscat.tables where tabschema = ‘DB2INST1′” > export.sql 

  4) 编辑生成的export.sql,把头和尾那些信息去掉,只保留必要的export命令.
  5) 使用下面的SQL语句生成倒入所有数据的脚本(我们使用LOAD命令,而且必须使用)
以下是代码片段:
db2 “select ‘load from ‘ || rtrim(tabname) || ‘.ixf of ixf insert into ‘ || rtrim(tabname) || ‘;’ from syscat.tables where tabschema = ‘DB2INST1′” > load.sql 

  6) 编辑生成的load.sql,把头和尾的信息去掉,只保留必要的load命令.搜索sample_tabs.ddl文件中哪些表含有自增字段(含有 GENERATED ALWAYS AS IDENTITY定义的字段的表),并把load.sql中含有自增字段的表的load命令加入modified by identityoverride语句(加在of ixf和 insert之间,例如: load from MYTABLE.ixf of ixf modified by identityoverride insert into MYTABLE;)

  注意:load命令中的modified by identityoverride可以保证DB2数据时那些自增字段的值和原数据库中的数据一致.
  7) 使用db2 -tvf export.sql命令,导出所有表的数据。
  (二)将sample_tabs.ddl,sample_foriegnkeys.ddl,sample_triggers.ddl,load.sql及所有导出的.ixf数据文件复制到LINUX机器上.
  (三)LINUX系统上的操作:
  1) 使用CREATE DATABASE命令创建数据库SAMPLE,创建必要的表空间及配置必要的数据库参数.
  2) 连接到SAMPLE数据库,使用sample_tabs.dd脚本文件创建表(db2 -tvf sample_tabs.ddl).
  3) 进入到放置.ixf数据文件的目录,使用db2 -tvf load.sql DB2数据.
  4) 使用sample_foriegnkeys.ddl和sample_triggers.ddl脚本文件创建外键约束和触发器.
  最后,别忘了对每张表运行runstats命令,你可以参照上面生成export和load命令脚本的方法来生成runstats脚本,然后再运行它。

 




      本文转自glying 51CTO博客,原文链接:http://blog.51cto.com/liying/967693,如需转载请自行联系原作者




相关文章
|
5天前
|
Ubuntu 安全 Linux
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
37 1
|
12天前
|
资源调度 JavaScript 搜索推荐
Linux系统之部署envlinks极简个人导航页
【4月更文挑战第11天】Linux系统之部署envlinks极简个人导航页
52 2
|
13天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
37 6
|
1天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
32 2
|
1天前
|
缓存 Linux
linux系统缓存机制
linux系统缓存机制
|
1天前
|
存储 Linux Android开发
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
13 0
|
1天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
3 0
|
2天前
|
资源调度 JavaScript Ubuntu
Linux系统之部署briefing视频聊天系统
【4月更文挑战第21天】Linux系统之部署briefing视频聊天系统
37 2
|
3天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
16 0
|
8天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令