今天数据库回滚一直没有出来,并且几个小时都没有响应,最终决定咨询IBM800人员,告诉几个命令,可以查看数据的回滚情况
db2pb -db DBNAME -reco --查看当前主节点回滚情况
db2pd -db DBNAME -reco -alldbp --查看当前主机所有分区的回滚情况
执行结果说明:
Database Partition 0 -- Database DBNAME -- Active -- Up 0 days 03:36:14 -- Date 2008-10-15 13:10:26
Recovery:
Recovery Status 0x00000E02
Current Log S0000034.LOG
Current LSN 068305079FEE
Job Type CRASH RECOVERY
Job ID 1
Job Start Time (1224034466) Wed Oct 15 09:34:26 2008
Job Description Crash Recovery
Invoker Type User
Total Phases 2
Current Phase 2
Progress:
Address PhaseNum Description StartTime CompletedWork TotalWork
0xC000000007B225E0 1 Forward Wed Oct 15 09:34:26 2008 66924228105 bytes 66924228105 bytes
0xC000000007B 226F 0 2 Backward Wed Oct 15 10:02:15 2008 54944837896 bytes 66924228147 bytes
关键为Progress中内容
Address | PhaseNum | Description | StartTime | CompletedWork | TotalWork |
0xC000000007B225E0 | 1 | Forward | Wed Oct 15 09:34:26 2008 | 66924228105 bytes | 66924228105 bytes |
0xC000000007B 226F 0 | 2 | Backward | Wed Oct 15 10:02:15 2008 | 54944837896 bytes | 66924228147 bytes |
db2pd的功能比较强大,但是是从DB28.2开始的一个名利,以前一直用的是DB28.1,也没注意这个命令,后面好好学习下:)
后面针对表空间释放的问题,IBM的解释是有可能是还有应用在使用同一个表空间,这样就会等那个应用完成才能够释放
后续测试一下如下步骤看看释放情况去
1 、ALTER TABLE tabnameACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
2、drop table tabname