在线改变DB2页大小的实现

数据库
DB2页大小能否在线进行修改呢?答案是肯定的,下文就教您一个在线改变DB2页大小的方法,希望对您能够有所启迪。

为实现在对DB2页大小进行改变的过程中,表中的数据仍然能被访问的这种“ 在线” 页大小的转换,可按如下步骤实现进行在线改变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语句后,首先除去这些依赖关系,再进行原表的删除和新表更名操作,然后重建这些依赖关系。
 

 

 

【编辑推荐】

windows下创建DB2表空间的过程

DB2字符串连接的实现过程

同表内记录间的DB2更新语句

db2扩充表空间和字段长度的方法

DB2数值型数据类型简介

责任编辑:段燃 来源: 互联网
相关推荐

2010-09-01 09:51:03

DB2页大小

2010-11-01 11:45:06

DB2管理页大小

2010-09-30 13:37:34

DB2分页

2010-11-03 14:10:23

DB2在线备份

2010-09-06 14:08:00

DB2管理页大小

2010-11-04 13:50:20

DB2在线导入

2010-11-04 13:25:16

DB2在线导出

2010-07-29 15:20:46

2010-11-03 11:26:39

DB2表空间

2010-08-03 09:44:42

DB2在线增量备份

2010-09-30 15:52:55

DB2循环查询

2010-11-03 14:52:26

DB2列转行

2010-11-02 15:56:42

DB2添加验证约束

2010-08-03 09:32:19

DB2在线备份

2009-08-25 17:20:57

C#实现OLE DB的

2010-07-28 10:13:06

DB2查询Table

2010-11-02 11:08:11

DB2循环查询

2010-11-03 16:32:10

DB2创建数据库

2010-09-01 13:43:06

DB2表空间

2010-11-01 15:53:41

DB2代码页设置
点赞
收藏

51CTO技术栈公众号