Table size grows indefinitely after deleting and then inserting the same data

If you have access to My Oracle Support:

Space Used By Tables Are Not Being Re-used With Repeat Delete/insert Operation (Doc ID 1601805.1)

So, without just copy-pasting the contents from there, the above note states:

  • the space management algorithm prefers allocating more space over reusing already allocated but free space
  • this is not a bug, but a feature, this is how it was designed
  • you can use shrink to compact the segment, as you have already discovered