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 ...
随机推荐
- 基于Python使用Redis的一些想法和建议
目录 1关于Redis使用的一点想法 1.1进行缓存前,需考虑 1.2进行缓存后,需考虑 1.3缓存使用一段时间后 2编写Redis数据库层规范建议 2.1选择适合的redis客户端 2.2规范化定义 ...
- 【NIO】Java NIO之缓冲
一.前言 在笔者打算学习Netty框架时,发现很有必要先学习NIO,因此便有了本博文,首先介绍的是NIO中的缓冲. 二.缓冲 2.1 层次结构图 除了布尔类型外,其他基本类型都有相对应的缓冲区类,其继 ...
- 迁移ORACLE_HOME引发的登录sqlplus无法加载类库错误
在10g以后,一般情况下环境变量中没有必要设置LD_LIBRARY_PATH,但是一旦将ORACLE_HOME迁移到其他目录,则环境变量中还需要添加这个变量. Linux和Unix支持TAR方式迁移O ...
- sublime text 3-right click context menu
dd a system wide windows explorer button " Edit with Sublime" similar to how Notepad++ doe ...
- asp.net core2->2.1 webapi 进行了重大变更
传统的在 启动时候 使用Mvc路由的配置不再有效.而是基于Attribute的声明标注进行配置路由.
- FeignClient使用
在使用Spring Cloud开发微服务应用时中,各个微服务服务提供者都是以HTTP接口的形式对外提供服务,因此服务消费者在调用服务提供者时,通过HTTP Client的方式访问.当然我们可以使用JD ...
- EasyUI 的 combotree 加载数据后折叠起来,并且只允许单击子节点的写法
$(source).combotree({ url: '', width: kuan, valueField: 'id', textField: 'text', onlyLeafCheck: true ...
- 湾区求职分享:三个月刷题拿到 Google offer,欢迎踊跃提问
本文仅以个人经历和个人观点作为参考.如能受益,不胜荣幸. 本文会不断的修正,更新.希望通过大家的互动最后能写出一份阅者受益的文章. 本文纯手打,会有错别字,欢迎指出,虚心接受及时更改. 小马过河,大牛 ...
- [k8s]nginx-ingress配置4/7层测试
基本原理 default-backend提供了2个功能: 1. 404报错页面 2. healthz页面 # Any image is permissable as long as: # 1. It ...
- JS中的PadLeft、PadRight,位数不足,自动补位,String扩展方法
类似C#中的 PadLeft.PadRight方法 //方法一 function FillZero(p) { return new Array(3 - (p + '').length + 1).joi ...