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 ...
随机推荐
- Visitor模式和Observer观察者模式
所谓访问者模式,就是不同服务提供者对同一种服务提供的服务内容不同. Typedef std::vector<Ivisitable> VisitbleArray; Typedef ...
- System Monitor for Mac(系统监控工具)破解版安装
1.软件简介 System Monitor 是 macOS 系统上的一款非常实用的 Mac 系统工具,System Monitor for mac 是一款六合一应用,您可以同时获得 CPU.RA ...
- 第一部分:开发前的准备-第八章 Android SDK与源码下载
第8章 Android SDK与源码下载 如果你是新下载的SDK,请阅读一下步骤了解如何设置SDK.如果你已经下载使用过SDK,那么你应该使用AVD Manager,来更新即可. 下面是构建Andro ...
- 第三部分:Android 应用程序接口指南---第五节:计算---第一章 RenderScript
第1章 RenderScript RenderScript提供一个独立于平台并在本地运行的计算引擎,用它来加速你需要大量计算能力的应用.RenderScript是一个运行与Android上计算密集型的 ...
- 自动化CodeReview - ASP.NET Core依赖注入
自动化CodeReview系列目录 自动化CodeReview - ASP.NET Core依赖注入 自动化CodeReview - ASP.NET Core请求参数验证 我个人比较懒,能自动做的事绝 ...
- FOR XML PATH 可以将查询结果根据行输出成XML格式
SELECT CAST(OrderID AS varchar)+',' as OrderNo FROM Product CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型 SELECT C ...
- Instrumentation 功能介绍(javaagent)
利用 Java 代码,即 java.lang.instrument 做动态 Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能从本地代码中 ...
- 【Android】GPS定位基本原理浅析
位置服务已经成为越来越热的一门技术,也将成为以后所有移动设备(智能手机.掌上电脑等)的标配.而定位导航技术中,目前精度最高.应用最广泛的,自然非GPS莫属了.网络上介绍GPS原理的专业资料很多,而本文 ...
- Redis 的 5 种数据结构
1.string 可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操作. 字符串命令: ①get: ...
- git命令之git clone用法
在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL可能以ssh://, http(s):/ ...