db2将非 Unicode 数据库转换为 Unicode 数据库

将非 Unicode 数据库转换为 Unicode 数据库

在某些情况下,可能需要将现有非 Unicode 数据库转换为 Unicode 数据库。

关于此任务

下列步骤演示了如何将现有非 Unicode 数据库转换为 Unicode 数据库:

开始之前

必须具有足够的可用磁盘空间以从非 Unicode 数据库中导出数据。此外,如果未在复用现有表空间,那么还需要足够的可用磁盘空间来为数据创建新的表空间。

过程

  1. 使用 db2move 命令导出数据:
          cd <export-dir>
       db2move sample export
    其中 <export-dir> 是要将数据导出至的目录,而 SAMPLE 是现有数据库名称。
  2. 使用 db2look 命令为现有数据库生成 DDL 脚本:
          db2look -d sample -e -o unidb.ddl -l -x -f
    其中 SAMPLE 是现有数据库名称,而 unidb.ddl 是生成的 DDL 脚本的文件名。-l 选项为用户定义的表空间、数据库分区组和缓冲池生成 DDL,-x 选项生成授权 DDL,而 -f 选项为数据库配置参数生成更新命令。
  3. 创建 Unicode 数据库:
       CREATE DATABASE UNIDB COLLATE USING SYSTEM_codepage_territory
    其中 UNIDB 是 Unicode 数据库的名称,而 SYSTEM_codepage_territory 是语言感知的整理,它基于整理非 Unicode 数据时使用的权重表。这将确保新 Unicode 数据库中的数据的排序顺序相同。
  4. 编辑 unidb.ddl 脚本:
    1. 将出现的所有数据库名称更改为新的 Unicode 数据库名称:
            CONNECT TO UNIDB
    2. 增大表中的字符列的列长度。当字符转换为 Unicode 时,字节数可能增多。建议您将字符列的长度增大到能容纳增加的字节数。
    3. 要保留现有数据库,还必须在 unidb.ddl 文件中更改表空间的文件名规范。否则,可以删除现有数据库并使用相同的表空间文件:
         DROP DATABASE SAMPLE
  5. 通过运行已编辑的 DDL 脚本来重新创建数据库结构:
          db2 -tvf unidb.ddl
  6. 使用 db2move 命令将数据导入到新的 Unicode 数据库中:
          cd <export-dir>
          db2move unidb import
    其中 <export-dir> 是已导出数据的目录,而 UNIDB 是 Unicode 数据库名称。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值