ORACLE 迁移到 DB2:如何把 Oracle partition 转化到 DB2(6)

来源:未知 责任编辑:责任编辑 发表时间:2014-01-06 18:19 点击:

其数据导入后,用 datastudio 进行数据查询的结果。根据查询结果集的对比可知数据已经完全迁移过来。

图 5:DB2 中 Table Partition 表的数据查询结果集
DB2 中 Table Partition 表的数据查询结果集

Oracle 的 Hash partition 到 DB2 的 DPF

假设在一个 Oracle 数据库中有一个 Hash Partition 的表定义如下:

清单 13. Oracle 中 Hash table 的表定义
p class="codesection">
 CREATE TABLE hash_sales 
 ( 
 salesdate date, 
 protype varchar2(20), 
 proname varchar2(20) 

 ) 
 PARTITION BY HASH(salesdate) 
 ( 
 partition p0 tablespace tbhash, 
 partition p1 tablespace tbhash 
 );

 

该表以 hash_part 字段按照 HASH 算法分区,创建了两个分区 p1 和 p2 分别在表空间 tbsp1 和 tbsp2 中。用 select 语句查询出其数据结果集:

图 6.Oracle 中 Hash Partition 表的数据查询结果集
Oracle 中 Hash Partition 表的数据查询结果集

根据前面所说,我们可以把该 table 映射到 DB2 的 DPF 上。如果当前 DB 已经创建好了 DPF,那么我就直接创建 table 即可,但是做 migration 很多时候都需要自己创建逻辑分区,我们将按照下面的步骤创建 DPF、Table space 以及 Table。

  • 用 db2start 添加 partition

    我们可以用 db2start 来创建 partition,其命令格式如下:

    db2start dbpartitionnum PARTITIONNUM add dbpartitionnum hostname <HOSTNAME> port <PORTNUM> without tablespaces

    这里我们已经有了一个 partition 0,我们再创建一个 partition 1。

    db2start dbpartitionnum 1 add dbpartitionnum n4shost port 1 withoust tablespaces

  • 创建 partition group

    partition 添加完成之后,下面就需要为 partition 创建 partition group。其命令格式如下:

    create database partition group <GROUP NAME> on dbpartitionnums(<num>,<num> … )

    这里我们创建的 group 为 grouphash。

    Create database partition group grouphash on dbpartitionnums(0,1)
  • 创建 tablespace

    在该 partition group 中创建 tablespace。其命令格式如下:

    Create tablespace <Tablespace name> in database partition group <PARTITION GROUP NAME>

    这里我们创建表空间 tphash:

    Create tablespace tphash in database partition group grouphash

  • 创建 table

    在 tbptest 中创建与 oracle 对应的 table,其 sql 语句如下:

    清单 14. DB2 中与之映射的 DPF table
    p class="codesection">
     create table hash_sales( 
     salesdate date, 
     protype varchar(20), 
     proname varchar(20) 
     ) 
     in tphash  
     distribute by hash(salesdate)

完成了表的创建,下面就是数据的导出与导入,与上一节相同我们同样可以采用工具 IDMT 来实现。但是在本次实验中的数据很少,因此这里我们就直接用 import 来实现数据的导入。数据导入完成之后通过 clp 查询的数据结果如下图所示。

图 7.db2 中映射的 DPF 表查询结果集
db2 中映射的 DPF 表查询结果集
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • db2管理工具小结
  • DB2数据库的导出与导入(Windows客户端)
  • db2 CLP中如何换行
  • DB2查看表结构及所用表语句
  • DB2 · CREATE TABLESPACE
  • 使用DB2对象:创建模式、表和视图
  • DB2数据库逻辑卷的复制
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1