db2表页大小转换步骤

为实现在对表的页大小进行改变的过程中,表中的数据仍然能被访问的这种在线页大小的转换,可按如下步骤进行操作:
1
)如果没有需要使用的页大小的表空间或缓冲池存在,应首先创建所需页大小的缓冲池和表空间。
2)可使用DB2LOOK工具获取创建表的DDL语句,如:
db2look -d <数据库名> -e -tw <表名> -o <输出文件名>

修改输出文件,以便将一个表名不同于原表的新表创建在具有所需页大小的表空间中。
3
)利用修改后的 DDL 脚本创建一个与原表相同的新表。
4)使用如下语句将原表中的数据插入到新表中:
db2 "insert into <新表表名> (select * from <原表表名>)"
5)删除原表:
db2 "drop table <原表表名>"

此操作后,应用对表中数据暂时无法访问。
6
)将新表表名更名为原表表名:
db2 "rename table <新表表名> to <原表表名>"
7)恢复应用对表中数据的访问。此时更名为原表名的新表的页大小已从原来的页大小转换为所需页大小,从而满足了用户对该表大小上的新需求。表数据仅在整个过程的步骤4)到5)的瞬间不可访问,其它时间表中的数据均处于可访问的在线状态。

 应注意的是,上述步骤仅适用于数据库中不存在依赖于该表的对象的情况,如果数据库中存在有依赖于该表的对象,应在保存有这些对象的DDL语句后,首先除去这些依赖关系,再进行原表的删除和新表更名操作,然后重建这些依赖关系。

通过script ddl来保存

然后删除

再新建即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值