System for controlling database growth in a read-repeatable environment
AssigneeOracle International Corporation
InventorsJames E. Carey, Charles P. Venezia, Jr., Albert Hopeman
Life of this patent
Estimating the term…
Abstract
Growth of databases in read-repeatable environments is controlled by an erase list maintained for each generation of the database. The erase list identifies pages which are retained in the database to facilitate read repeatability. The system uses the erase list to identify obsolete pages which can be removed from the database. The removed pages can then be reclaimed for re-use by a subsequent generation.
Claims49
A method for controlling database growth in a read-repeatable environment having a database comprising a plurality of pages of memory, the database concurrently supporting a plurality of active ordinal generations, each active generation represented by a respective plurality of allocated pages, the method comprising:
- a) for each active generation of the database:
- storing, in an allocation indicator, an indication of each page allocated in the active generation;
- storing, in an erase indicator, an indication of each allocated page of the active generation updated by a subsequent generation;
- b) determining an obsolete page from an erase indicator;
- and
- c) reclaiming the obsolete page for reuse by the database.
A method for controlling database growth in a read-repeatable environment having a database comprising a plurality of pages of memory, the database concurrently supporting a plurality of active ordinal generations, each active generation represented by a respective plurality of allocated pages, the method comprising:
- a) in a generation control structure, for each active generation of the database:
- storing, in an allocation field, an indication of each page allocated in the active generation;
- storing, in a generation erase field, an indication of each allocated page of the active generation updated by a subsequent generation;
- b) determining an obsolete page by merging the indication of an updated page from a generation erase field of an active generation with a global erase field;
- and
- c) reclaiming the obsolete page for reuse by the database.
A computer program product for controlling database growth in a read-repeatable environment having a database comprising a plurality of pages of memory, the database concurrently supporting a plurality of active ordinal generations, each active generation represented by a respective plurality of allocated pages, the product comprising:
- a computer readable medium;
- and
- a computer program imbedded in the medium, the program including computer instructions to:
- a) for each active generation of the database:
- store, in an allocation indicator, an indication of each page allocated in the active generation;
- store, in an erase indicator, an indication of each allocated page of the active generation updated by a subsequent generation;
- b) determine an obsolete page from an erase indicator;
- and
- c) reclaim the obsolete page for reuse by the database.
A computer program product for controlling database growth in a read-repeatable environment having a database comprising a plurality of pages of memory, the database concurrently supporting a plurality of active ordinal generations, each active generation represented by a respective plurality of allocated pages, the product comprising:
- a computer readable medium;
- and
- a computer program imbedded in the medium, the program including computer instructions to
- a) in a generation control structure, for each active generation of the database:
- store, in an allocation field, an indication of each page allocated in the active generation;
- store, in a generation erase field, an indication of each allocated page of the active generation updated by a subsequent generation;
- b) determine an obsolete page by merging the indication of an updated page from a generation erase field of an active generation with a global erase field;
- and
- c) reclaim the obsolete page for reuse by the database.
A system for controlling database growth in a read-repeatable environment having a database comprising a plurality of pages of memory, the database concurrently supporting a plurality of active ordinal generations, each active generation represented by a respective plurality of allocated pages, the system comprising:
- a) for each active generation of the database:
- an allocation indicator having stored therein an indication of each page allocated in the active generation;
- an erase indicator having stored therein an indication of each allocated page of the active generation updated by a subsequent generation;
- b) an obsolete page determined from an erase indicator;
- and
- c) a mechanism to reclaim the obsolete page for reuse by the database.
A system for controlling database growth in a read-repeatable environment having a database comprising a plurality of pages of memory, the database concurrently supporting a plurality of active ordinal generations, each active generation represented by a respective plurality of allocated pages, the system comprising:
- a) in a generation control structure, for each active generation of the database:
- an allocation field having stored therein an indication of each page allocated in the active generation;
- a generation erase field having stored therein an indication of each allocated page of the active generation updated by a subsequent generation;
- b) an obsolete page determined by merging the indication of an updated page from a generation erase field of an active generation with a global erase field;
- and
- c) a mechanism to reclaim the obsolete page for reuse by the database.
A control structure for managing a database in a read-repeatable environment, comprising:
- a global control structure for managing a global view of the database, the global control structure including a global erase indicator having stored therein an indication of an obsolete page of the database;
- and
- a generation control structures linked with the global control structure for managing an ordinal generational view of the database, the generation control structure including a generation erase indicator having stored therein an indication of a page allocated to the generation updated by a subsequent generation.
A system for controlling database growth in a read-repeatable environment having a database comprising a plurality of pages of memory, the database concurrently supporting a plurality of active ordinal generations, each active generation represented by a respective plurality of allocated pages, the system comprising:
- a) in a generation control structure, for each active generation of the database:
- a means for storing, in an allocation indicator, an indication of each page allocated in the active generation;
- a means for storing, in an erase indicator, an indication of each allocated page of the active generation updated by a subsequent generation;
- b) a means for determining an obsolete page from aerase indicator;
- and
- c) a means for reclaiming the obsolete page for reuse by the database.
A method for controlling database growth in a read-repeatable environment having a database comprising a plurality of pages of memory, the database concurrently supporting a plurality of active ordinal generations, each active generation represented by a respective plurality of allocated pages, the method comprising:
- a) in a global control structure, for managing a global view of the database:
- storing, in a bitmap field, a global erase indication of an obsolete page of the database;
- b) in a generation control structure, for each active generation of the database:
- storing, in a bitmap field, an allocation indication of each page allocated in the active generation;
- and
- storing, in a bitmap field, a generation erase indication of each allocated page of the active generation updated by a subsequent generation;
- c) determining an obsolete page by merging the generation erase indication of an updated page from a generation control structure of an active generation with a global erase indication of an obsolete page from a global control structure, including:
- deactivating the active generation when the number of accessors to the active generation equals zero;
- and
- d) reclaiming the obsolete page for reuse by the database in response to an access to the database to create a new generation of the database.
A system for controlling database growth in a read-repeatable environment having a database comprising a plurality of pages of memory, the database concurrently supporting a plurality of active ordinal generations, each active generation represented by a respective plurality of allocated pages, the system comprising:
- a) for each active generation of the database:
- an allocation indicator, in a bitmap field, storing an indication of each page allocated in the active generation;
- an erase indicator, in a bitmap field, storing an indication of each allocated page of the active generation updated by a subsequent generation;
- b) an obsolete page determined from an erase indicator, including:
- a mechanism to determine an obsolete page by merging the indication of an updated page from the erase indicator of an active generation with a global erase indicator, in a bitmap field;
- and
- c) a mechanism to reclaim the obsolete page for reuse by the database, including:
- a mechanism to reclaim the obsolete page in response to an access to the database to create a new generation of the database.
Dependencies are inferred from the claim text.