流浪字节π 2024-02-20 13:48 采纳率: 100%
浏览 5
已结题

DB2数据库表在线更换表空间的方法?

操作环境、软件版本等信息

操作系统版本:AIX 7.2
DB2版本:DB2 v10.5.0.8

我想要达到的结果

目前我的DB2数据库中有一张表,表名为 sys_user,所属表空间为 TABLESPACE1 ,现在我想把这张表在线迁移到 TABLESPACE2 ,能否操作?请解答。
同时请注明:
1、迁移期间表是否可以正常访问?
2、迁移速度取决于什么?

  • 写回答

2条回答 默认 最新

  • YohaYoha° 2024-02-20 17:25
    关注

    方法一:

    --重命名
    rename table T_HELLO to T_HELLO_bak;
    
    --创建建表并指定表空间
    CREATE TABLE
        T_HELLO
        (
            ID BIGINT NOT NULL,
            NAME VARCHAR(64),
            BIRTHDAY TIMESTAMP,
            AGE INTEGER,
            PRIORITY VARCHAR(32),
            CONSTRAINT P_KEY_1 PRIMARY KEY (ID)
        ) in dms4k;
    --往新表插入旧数据
    INSERT INTO T_HELLO (ID, NAME, BIRTHDAY, AGE, PRIORITY)
    SELECT ID, NAME, BIRTHDAY, AGE, PRIORITY FROM T_HELLO_bak;
    
    --检查新表没有问题后删除备份表
    drop table T_HELLO_bak
    --truncate table T_HELLO_bak immediate
    

    方法二:
    DB2 9.7表迁移到其它表空间

    方法三:
    IBM DB2官方文档

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月28日
  • 已采纳回答 2月20日
  • 创建了问题 2月20日