SQL> SELECT blocks FROM user_segments WHERE segment_name=,ALTBT;
BLOCKS
—————-
704
SQL> ALTER TABLE altb SHRINK SPACE COMPACT;
Table altered.
SQL> SELECT blocks FROM user_segments WHERE segment_name=*ALTB*;
BLOCKS
————————-
704
View the Exhibit and examine the output and commands executed on the ALTB table.
Why does the number of blocks for the table remain the same after the shrink operation?
A.
because the table did not contain migrated or chained rows
B.
because the row IDs remain the same for all rows during the shrink operation
C.
because the progress of the shrink operation is not saved in the bitmap blocks of the table
D.
because the high-water mark (HWM) did not move due to the compact option that is used in the
shrink operation
As per Oracle Doc
COMPACT:
If you specify COMPACT, then Oracle Database only defragments the segment space and compacts the table rows for subsequent release. The database does not readjust the high water mark and does not release the space immediately. You must issue another ALTER TABLE … SHRINK SPACE statement later to complete the operation. This clause is useful if you want to accomplish the shrink operation in two shorter steps rather than one longer step.