DB2 REORG命令无法启动

DB2 REORG命令无法启动,db2,db2-luw,Db2,Db2 Luw,我正试图在DB2中重新调整一个表,因为一个表上的修改次数已经超过了3倍 DB2 CALL SYSPROC.ADMIN_CMD('REORG TABLE WASADMIN.EXCHANGERATES'); 它没有给出任何回应,看起来像是被绞死了。我通过运行命令检查了状态 db2pd -db UB602 -reorgs 但没有活动的Reorg过程 Database Member 0 -- Database UB602 -- Active -- Up 0 days 02:14:45 -- Date

我正试图在DB2中重新调整一个表,因为一个表上的修改次数已经超过了3倍

DB2 CALL SYSPROC.ADMIN_CMD('REORG TABLE WASADMIN.EXCHANGERATES');
它没有给出任何回应,看起来像是被绞死了。我通过运行命令检查了状态

db2pd -db UB602 -reorgs
但没有活动的Reorg过程

Database Member 0 -- Database UB602 -- Active -- Up 0 days 02:14:45 -- Date 2018-11-26-19.34.15.256000

Table Reorg Information:
Address            TbspaceID TableID PartID MasterTbs MasterTab TableName          Type    IndexID    TempSpaceID

Table Reorg Stats:
Address            TableName          Start               End                 PhaseStart          MaxPhase   Phase      CurCount   MaxCount   Status  Completion
可能出了什么问题

编辑:

我检查了日志,但什么也没打印出来。但当我按ctrl+c终止时。我从日志中得到一些信息

2018-11-26-20.19.53.459000+330 I1F1191              LEVEL: Event
PID     : 5176                 TID : 4928           PROC : db2syscs.exe
INSTANCE: DB2_01               NODE : 000           DB   : UB602
APPHDL  : 0-1186               APPID: *LOCAL.DB2_01.181126124159
AUTHID  : DB2ADMIN             HOSTNAME: BLR2DEVLP0434
EDUID   : 4928                 EDUNAME: db2agent (UB602) 0
FUNCTION: DB2 UDB, RAS/PD component, pdLogInternal, probe:120
START   : New Diagnostic Log file
DATA #1 : Build Level, 232 bytes
Instance "DB2_01" uses "64" bits and DB2 code release "SQL11010"
with level identifier "0201010F".
Informational tokens are "DB2 v11.1.0.1527", "s1606081100", "DYN1606081100WIN64", Fix Pack "0".
DATA #2 : System Info, 1760 bytes
System: WIN32_NT BLR2DEVLP0434  10.0 AMD64 Family 6, model 78, stepping 3
CPU: total:4 online:4 Cores per socket:2 Threading degree per core:2 SIMD:Y
CPU binding: not in use
Physical Memory(MB): total:16049 free:6448 available:6448
Virtual  Memory(MB): total:28849 free:19248
Swap     Memory(MB): total:12800 free:12800
Information in this record is only valid at the time when this file was
created (see this record's time stamp)

2018-11-26-20.19.53.469000+330 I1195F968            LEVEL: Info
PID     : 5176                 TID : 4928           PROC : db2syscs.exe
INSTANCE: DB2_01               NODE : 000           DB   : UB602
APPHDL  : 0-1186               APPID: *LOCAL.DB2_01.181126124159
AUTHID  : DB2ADMIN             HOSTNAME: BLR2DEVLP0434
EDUID   : 4928                 EDUNAME: db2agent (UB602) 0
FUNCTION: DB2 UDB, relation data serv, sqlrr_rds_common_post, probe:1700
MESSAGE : Severe TERMINATE err at nest lvl 1, in SQL from rtn SYSPROC.ADMIN_CMD
DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes
 sqlcaid : SQLCA     sqlcabc: 136   sqlcode: -952   sqlerrml: 0
 sqlerrmc: 
 sqlerrp : SQLRL04B
 sqlerrd : (1) 0x80100003      (2) 0x00000003      (3) 0x00000000
           (4) 0x00000000      (5) 0x00000000      (6) 0x00000000
 sqlwarn : (1)      (2)      (3)      (4)        (5)       (6)    
           (7)      (8)      (9)      (10)        (11)     
 sqlstate: 57014

要执行脱机reorg,必须确保在reorg命令开始运行之前,没有任何内容正在使用该表

如果无法进行脱机reorg,请检查就地reorg是否可以工作

如果有其他原因阻止该操作,请参阅db2diag.log文件以了解更多详细信息。在您的问题中,它只显示sqlcode-952,它告诉我们您取消了使用control-C的作业

您可以使用多种不同的方法之一检查目标表上是否有任何行锁或表锁。您可以使用或、或或命令行(db2,然后解析表名的输出),或使用表函数或等效函数

“美国”

确保完成所有数据库操作并释放所有锁 在调用REORG表之前。可以通过发出 关闭所有用HOLD打开的游标后提交,或通过发出 回滚。重新组织表后,使用RUNSTATS更新 表统计信息,并重新绑定以重新绑定使用此 表。重新组织实用程序隐式关闭所有游标。“


您的意思是“db2调用…”永远不会返回吗?表是否仍处于reorg挂起状态?换句话说,它是否有效?您与reorg的会话可能会等待锁定。你检查过这个了吗?在运行reorg之后,db2diag.log文件中是否出现任何消息?是的,db2调用永远不会返回。而且该表也处于reorg挂起状态。@MarkBarinstein。我找不到你。u表示会话已停止。@mao。这种情况发生过多次。db2调用永远不会返回,表仍处于reorg挂起状态。我尝试使用其他表,但它工作正常,reorg挂起状态消失。只有这张桌子有问题。