This field gives the number of blocking ASTs, sometimes referred
to as blasts, delivered to Oracle Rdb by the lock manager. A
blocking AST is delivered to the holder of a lock when a lock
conflict is detected, which is a good indication of contention
problems. When Oracle Rdb receives a blocking AST, it often
demotes or releases a lock in an attempt to avoid unnecessary
deadlocks.
The number of blocking ASTs reported is actually comprised of two
different types of blocking ASTs, those blocking ASTs externally
generated and those blocking ASTs internally generated.
An externally generated blocking AST occurs when a blocking AST
is actually received by the process from the operating system in
response to some lock conflict with another process. A blocking
AST routine is executed and the Performance Monitor records the
blocking AST activity.
An internally generated blocking AST occurs when a lock-blocking
AST routine is executed by the process in anticipation that
the same work would have to be performed anyway if a blocking
AST were to be received from the operating system, even when
no blocking AST from the operating system actually occurred.
This algorithm serves as an optimistic code optimization; it is
assumed that the process would eventually receive a blocking
AST for the particular lock, so it optimistically executes
the blocking AST routine. The Performance Monitor does not
differentiate between these two types of blocking ASTs.