US 12,443,583 B2
Automatic, repetitive, and gradual shrink of very large database object structures
Sylvia Winters, Menlo Park, CA (US); Shubha Bose, Foster City, CA (US); and Teck Hua Lee, San Mateo, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Aug. 31, 2020, as Appl. No. 17/008,061.
Prior Publication US 2022/0067017 A1, Mar. 3, 2022
Int. Cl. G06F 16/23 (2019.01)
CPC G06F 16/23 (2019.01) 21 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
identifying a large object (LOB) structure to be shrunk;
identifying at least a smaller portion of the LOB structure to be shrunk; and
executing a shrink operation on an extent in the smaller portion of the LOB structure without blocking access to one or more other extents of the LOB structure at least by:
while allowing the plurality of requestors to access the one or more other extents, performing a sealing operation on the extent at least by sending an instruction to a plurality of requestors to prevent modification of data in the extent by the plurality of requestors, wherein the sealing operation comprises informing one or more devices accessing the LOB structure not to allocate contiguous storage space within the extent for one or more new chunks or not to modify existing data in the contiguous storage space, without waiting for acknowledgements from the one or more computing devices;
after informing the one or more devices and during execution of a number of shrink operations on the one or more extents including the extent, determining whether there exists modified existing data or a new chunk for which at least a part of the contiguous storage space is allocated in the extent;
after performing the sealing operation on the extent, moving one or more chunks within the extent to one or more other extents of the LOB structure, wherein the extent represents the contiguous storage space that is allocated for storing at least the large object (LOB) or a portion thereof; and
determining whether the extent is able to be removed from the smaller portion of the LOB structure at least by analyzing the contiguous storage space in the extent, based at least in part upon success or failure of requesting the plurality of requestors not to access the extent.