db2 reorg(转)
DB2 reorg

RUNSTATS:
db2 connect to rmdb11 user rmadmin using rmadmin
对所有用户表执行runstats(reorgchk加update参数等同于runstats)
$ db2 reorgchk update statistics on table user Doing RUNSTATS ....
REORG:
在检查结果中,所有带星号的表或分区表、以及索引都需要做reorg重建。
$ db2 reorg table RMADMIN.EXPLAIN_DIAGNOSTIC index SYSIBM.SQL120703164841960 use tempspace1
DB20000I The REORG command completed successfully.
$ db2 reorg table RMADMIN.EXPLAIN_DIAGNOSTIC_DATA index RMADMIN.EXP_DIAG_DAT_I1 use tempspace1
DB20000I The REORG command completed successfully.
$ db2 reorg table RMADMIN.EXPLAIN_PREDICATE index RMADMIN.PRD_I1 use tempspace1
DB20000I The REORG command completed successfully.
$ db2 reorg table RMADMIN.RMSTGGRPCLASS index SYSIBM.SQL120321193908820 use tempspace1
DB20000I The REORG command completed successfully.
$ db2 reorg table RMADMIN.RMOBJECTS use tempspace1
SQL2217N The page size of the system temporary table space used by the REORG
utility must match the page size of the table space(s) in which the table data
resides (including the LONG or LOB column data). The cause is based on the
following reason codes "".
SQL2217N
REORG 实用程序使用的系统临时表空间的页大小必须与表数据 (包括 LONG 或 LOB
列数据)所在表空间的页大小相匹配。原因基于下列原因码 原因码。 说明
下面是原因码的列表:
.原因与表的数据的临时表空间的选择相关。
.原因与表的 LONG 或 LOB 数据的临时表空间的选择相关。 如果对 REORG 实用程序显式地指定了系统临时表,那么 REORG 实用程序使用的系统临时表空间的页大小必须与表数据(包括 LONG 或 LOB列数据)所在的表空间的页大小相匹配,否则必须为长数据指定适当的容器。下列其中一项违反了此限制:
表数据所在的表空间的页大小与指定的系统临时表空间的页大小不同。 该表包含 LONG 或 LOB列,这些列的数据驻留在页大小与系统临时表空间和表的规则数据的页大小不同的表空间中,但是,无法为 LONG 或 LOB数据对象找到具有正确页大小的表空间。 如果未对 REORG 实用程序指定系统临时表空间或 LONG临时表空间,那么该实用程序在内部查找系统临时表空间。在数据库中不存在使用与表数据页大小相同的页大小的系统临时表空间,或者该系统临时表空间此时不可用。
用户响应
如果数据库中不存在使用与表数据页大小相同的页大小的系统临时表空间,请创建一个系统临时表空间,它使用与该表数据的页大小相匹配的页大小。如果表数据的页大小与
LOB 或 LONG 数据的页大小不同,那么应确保使用该页大小的系统临时表空间也存在。 如果数据库中存在使用与表数据页大小相同的页大小的系统临时表空间,但是发出命令时该临时表空间不可用,请在该系统临时表空间可用时重新发出该命令。
当前使用的临时表空间页大小和该表的页大小不符合,需要新建一个页大小和该表的页大小符合的系统临时表空间。
查看各个表空间的pagesize:
SELECT tbspace, pagesize FROM SYSIBM.SYSTABLESPACES
查看当前bufferpool:
SELECT * FROM SYSCAT.BUFFERPOOLS
新建一个页大小为32K的bufferpool
$ db2 CREATE BUFFERPOOL temppool32 PAGESIZE
DB20000I The SQL command completed successfully.
新建一个临时表空间,使用刚才那个bufferpool
$ db2 "create system temporary tablespace tempspace3 pagesize 32K managed by system using ('/rmdb11data/rminst11/NODE0000/SQL00001/tmpspace3') BUFFERPOOL temppool32"
DB20000I The SQL command completed successfully.
重新执行reorg:
$ db2 reorg table RMADMIN.RMMIGRATIONTASKS index SYSIBM.SQL120321193909130 use tempspace3
监视表重组:
select
substr(tabname, , ) as tab_name,
substr(tabschema, , ) as tab_schema,
reorg_phase,reorg_max_phase,
substr(reorg_type, , ) as reorg_type,
reorg_status,
reorg_completion,
dbpartitionnum
from sysibmadm.snaptab_reorg
order by dbpartitionnum
或者
db2 GET SNAPSHOT FOR TABLES on DBName
db2 list history reorg all for DBName
db2pd -db DBName -reorgs index
$ db2pd -reorgs -db rmdb11 Database Partition -- Database RMDB11 -- Active -- Up days :: -- Date // :: Table Reorg Information:
Address TbspaceID TableID PartID MasterTbs MasterTab TableName Type IndexID TempSpaceID
0x070000024C0D1528 n/a n/a n/a EXPLAIN_PREDICATE Offline
0x070000024C0DEDA8 n/a n/a n/a EXPLAIN_DIAGNOSTIC Offline
0x070000024C0E6D28 n/a n/a n/a EXPLAIN_DIAGNOSTIC Offline
0x070000024B2C9628 n/a n/a n/a RMMIGRATIONTASKS Offline
0x070000024B2A64A8 n/a n/a n/a RMSTGGRPCLASS Offline Table Reorg Stats:
Address TableName Start End PhaseStart MaxPhase Phase CurCount MaxCount Status Completion
0x070000024C0D1528 EXPLAIN_PREDICATE // :: // :: // :: IdxRecreat Done
0x070000024C0DEDA8 EXPLAIN_DIAGNOSTIC // :: // :: // :: IdxRecreat Done
0x070000024C0E6D28 EXPLAIN_DIAGNOSTIC // :: // :: // :: IdxRecreat Done
0x070000024B2C9628 RMMIGRATIONTASKS // :: n/a // :: IdxRecreat Started
0x070000024B2A64A8 RMSTGGRPCLASS // :: // :: // :: IdxRecreat Done
db2 reorg(转)的更多相关文章
- db2 reorg runstats rebind具体操作
db2 reorg runstats rebind具体操作 #reorg table db2 -x "select 'reorg table '||rtrim(tabschema)||'.' ...
- db2 reorg详解
reorgchk,检查table index 是否需要重组.reorg 重组,重新放置数据位置.runstats 统计信息,可以优化查询器 一个完整的日常维护规范可以帮助 DBA 理顺每天需要的操作, ...
- db2 reorg到底需要多少表空间(转)
脱机reorg需要一定的空间,这个空间与目标所在的数据表空间.索引表空间.以及临时表空间均有关,各空间需求的大小与表和索引所占用的数据页和索引页相关. (1)对表执行reorg操作如:db2 reor ...
- db2 reorg table failed处理
概要: 当对一个表的结构进行改变后,需要reorg表,重新组织其目录统计信息,为数据库的访问计划提供信息,以便高效执行对其的操作. 对表作reorg操作,发生错误,通过db2 "? sql0 ...
- db2 reorg pending
通常在数据库上线之前,我们都会对数据库做周密的规划,无论在测试阶段还是上线之初,也难免由于需求的更改会对数据中的表做一些更改.而某些alter table语句则会导致该表处于reorg-pending ...
- DB2日常维护——REORG TABLE命令优化数据库性能
一个完整的日常维护规范可以帮助 DBA 理顺每天需要的操作,以便更好的监控和维护数据库,保证数据库的正常.安全.高效运行,防止一些错误重复发生. 由于DB2使用CBO作为数据库的优化器,数据库对象的状 ...
- DB2 runstats和reorg操作
[db2inst1@xifenfei ~]$ db2 connect to xff Database Connection Information Database server ...
- DB2日常维护——REORG TABLE命令优化数据库性能(转)
[转]DB2日常维护——REORG TABLE命令优化数据库性能 一个完整的日常维护规范可以帮助 DBA 理顺每天需要的操作,以便更好的监控和维护数据库,保证数据库的正常.安全.高效运行,防止一些错误 ...
- db2 runstats和reorg
当数据库里某张表上有大量插入操作时,需要在表上做 RUNSTATS 命令保证数据库掌握准确的统计信息. 当数据库里某张表中的记录变化很大时(大量插入.删除.更新操作),需要在表上做 REORG 和 R ...
随机推荐
- PPTP 在Centos 7.1 建立方法与失效处理
# yum install pptp pptp-setup pptpsetup --create vpn --server (serverName) --username (Username) - ...
- Android——SQLite/数据库 相关知识总结贴
android SQLite简介 http://www.apkbus.com/android-1780-1-1.html Android SQLite基础 http://www.apkbus.com/ ...
- 你真的了解Python吗 ---Python的内存管理
请看下面的一段代码: origin = {'a':100,'b':[1,2,34,5]} obj_copy ={}; print origin; obj_copy['key1']= origin; o ...
- Apache学习---多进程处理模块(MPM)原理详解
查看Apache的模式,可以使用httpd -V命令来查看: 1. prefork MPM prefork模式可以算是很古老但是非常稳定的Apache模式.Apache在启动之初,就预先fork一些子 ...
- 格雷码(Gray code)仿真
作者:桂. 时间:2018-05-12 16:25:02 链接:http://www.cnblogs.com/xingshansi/p/9029081.html 前言 FIFO中的计数用的是格雷码, ...
- React Native for Android应用名及图标修改
应用开发完了,总不能顶着MyProject和小机器人图标就发布了吧?在发布之前,有多处需要修改的地方.今天我们来全面的看一下 应用ID 俗称PackageName,或APP ID.注意,在gradle ...
- MacOS安装react。问题 -- npm全局包的权限问题
网上的教程有好多,在这里不一一列举,我只介绍我今天安装成功的步骤 首先,在安装react之前要先配置好node 1.安装node 在这里下载node的安装包https://nodejs.org/en/ ...
- 【Linux高级驱动】平台设备驱动机制的编程流程与编译进内核
[平台设备驱动机制的编程流程] [如何将驱动静态的编译进内核镜像] 1.添加资源(dev-led.c) 1.1:一般来说,系统习惯上将资源放在arch/arm/plat-samsung/目录中 cp ...
- spring中定时任务quartz2.2.3
定时任务几种实现方式 Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务,没怎么用过就不说了.Spring3.0以后自带的task,可以将它 ...
- linux设置开机自启动
一..在/etc/rc.local文件中添加自启动命令 执行命令: 编辑"/etc/rc.local",添加你想开机运行的命令 运行程序脚本:然后在文件最后一行添加要执行程序的全路 ...