为了满足DB2用户创建的表在大小、字段数或行长度上的新需求,时会有改变现有表的页大小。下面将为您介绍如何在线对在线对DB2表页大小的转换操作,供您参考,希望对您有所帮助。
十载的阿勒泰网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整阿勒泰建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“阿勒泰网站设计”,“阿勒泰网站推广”以来,每个客户项目都认真落实执行。
产品:DB2 UDB
平台:跨平台
版本:v8.1,v8.2
对于DB2的而言,其表的***大小,可包含的最多字段数及其每行记录的***长度与表的页大小有关。
所有创建在表空间中的表必须具有与表空间相同的页大小,而DB2的缓冲池或表空间的页大小可有4K、8K、16K和32K四种选择,相对应的字段数、行长和表大小如下:
4K页大小 8K页大小 16K页大小 32K页大小
表的最多字段数 500 1012 1012 1012
表每行***长度 4005 8101 16293 32677
表的***大小 64G 128G 256G 512G
由于这一原因,用户有时会有改变现有表的页大小以满足表在大小、字段数或行长度上的新需求。因为表在创建之后页大小就无法改变了,所以必须重新创建符合页大小要求的新表。
如果所使用的数据库系统不允许由于删除原表,再重建新表所造成的长时间不能访问表中数据的结果,可采用这里介绍的方法,对表实现“在线”页大小的转换操作。
为实现在对表的页大小进行改变的过程中,表中的数据仍然能被访问的这种“在线”页大小的转换,可按如下步骤进行操作:
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语句后,首先除去这些依赖关系,再进行原表的删除和新表更名操作,然后重建这些依赖关系。
网站标题:在线对DB2表页大小的转换操作
文章转载:http://www.mswzjz.cn/qtweb/news44/44444.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能