Rich posted this message six months ago http://www.freelists.org/post/oracle-l/expdp-and-ORA01555,10 ***** begin quote ***** From Tom Kyte - page 314 of his book "Expert Oracle Database Architecture": "Oracle will keep lists of blocks we have modified; each of these lists is 20 blocks long. Oracle will allocate as many of these lists as it needs up to 10 percent of the block buffer cache size." ***** end quote ***** We tried to find these 20 blocks on the modified block list. Today I came across this old note http://www.fors.com/velpuri2/Oracle%20block%20structure/Delayedcleanout ***** begin quote ***** Every time a transaction changes a data block, a "block entry state object" has to be added to the commit list of the transaction.... These block entries are grouped by 20 : the allocation unit is 20.... Once the number of entries used by the transaction reaches 10% of the subsequent blocks changed by the transaction will not be recorded in the list (hence no fast cleanout on these blocks)" ***** end quote ***** Cross-referencing other documents,[note] I believe either that state object is an old name or it's spelled wrong. It should be "block list state object" ("bk list" for short in some Oracle dumps). To view the actual list(s), all you need to do is dump the process state (or system state). For example, dump your own session's process state: delete from big_table; alter session set events 'immediate trace name processstate level 10'; The trace file has SO: 0x15ab34a10, type: 39, owner: 0x15ad5f0b0, flag: -/-/-/0x00 (List of Blocks) next index = 20 index itli buffer hint rdba savepoint ----------------------------------------------------------- 0 2 0x9ff78a98 0x1010015c8 0x2b41 1 2 0x9ffed678 0x1010015d1 0x2d06 ... 19 1 0xe7fb55b8 0x101002665 0x539b ----------------------------------------------------------- On some platforms, these rdba's in 10g (but not pre-10g) process state dumps have extra 1 at the beginning. To use dbms_utility.data_block_address_(file|block) on them, drop the initial 1 (e.g. change 0x1010015c8 to 0x010015c8). The buffer hints are supposed to refer to addr of x$bh according to Bug 519101, but my test shows they match prv_hash instead (e.g where prv_hash = '000000009FF78A98' on 64-bit Oracle). Savepoints can be used to order the blocks being modified. Yong Huang ___________ [note] Bug 3170733: ORA-600 [4250] GENERATED IN ALERT.LOG D34079