← Back to Patent Explorer
US6108653A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for fast and comprehensive DBMS analysis

Assignee: CA Inc
•
Filing: 1998-08-31
•
Granted: 2000-08-22
•
Expires: 2018-08-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A fast and comprehensive analysis of a database table is peformed by reading a header block describing the location of blocks storing data information of a database table. The data blocks of the database table are read using direct asynchronous IO into memory. Data read in from the data blocks is analyzed to determine information regarding the health or condition of the database table. The analysis is performed by spawning separate processes, each process being assigned an approximately equivalent number of data blocks to analyze. Once each process completes analysis of the assigned data blocks, the analysis by each thread is summarized and averaged to provide information to the DBA relating to the condition of the database table. The information gathered regarding the database table is more comprehensive than that provided by currently available database management systems and tools.

Inventors

  • 👤 Hilton M. Pereira

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 14:54
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/21; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932; Y10S707/99933; Y10S707/99937; Y10S707/99941; Y10S707/99944; Y10S707/99945

Claims Analysis

Total Claims: 31
Claim 1
Independent Claim 159 words
A method of determining a condition of a database, comprising the steps of: identifying a database table; determining elements corresponding to the condition of the database table based on data contained in the database table; and providing said elements to one of a display for viewing by a user, a storage location, and a mechanism for using said elements; wherein said elements include at least one of number of simple rows, number of migrated rows, number of deleted rows, number of blocks initialized but empty, average free space in a block unused, average free released free space, average row length of migrated rows, average row length of chained rows, number of blocks to be read for normal, chained, and migrated rows, measure of density of blocks used, number of blocks exceeding a percentage used threshold, number of blocks less a percentage free threshold, number of chained rows spanning data files, and min max average of chained rows spanning blocks.
Claim 2
Independent Claim 159 words
A method of determining a condition of a database, comprising the steps of: identifying a database table; determining elements corresponding to the condition of the database table based on data contained in the database table; and providing said elements to one of a display for viewing by a user, a storage location, and a mechanism for using said elements; wherein said elements include at least one of number of simple rows, number of migrated rows, number of deleted rows, number of blocks initialized but empty, average free space in a block unused, average free released free space, average row length of migrated rows, average row length of chained rows, number of blocks to be read for normal, chained, and migrated rows, measure of density of blocks used, number of blocks exceeding a percentage used threshold, number of blocks less a percentage free threshold, number of chained rows spanning data files, and min max average of chained rows spanning blocks.
Claim 3
Dependent Claim 25 words
The method according to claim 1, further comprising the step of repeating said steps of identifying, determining, and providing for each of plural database tables.
Claim 4
Dependent Claim 52 words
The method according to claim 1, wherein said step of identifying comprises the steps of: finding a location of an extent segment header block for the database table; reading the extent segment header block; and creating an extent list identifying each extent of the database table based on the segment header block.
Claim 5
Dependent Claim 46 words
The method according to claim 3, wherein said step of determining comprises the steps of: gathering data related to said elements from each of data blocks identified in each extent contained in the extent list; and determining said elements via an analysis of the data gathered.
Claim 6
Dependent Claim 30 words
The method according to claim 3, wherein said step of creating includes the step of identifying a file number, block number, and length for each extent of the database table.
Claim 7
Dependent Claim 69 words
The method according to claim 3, wherein said step of determining comprises the steps of: dividing the extent list into at least two sublists each containing a number of data blocks; spawning a thread for working each of said sublists; gathering information related to said elements by each thread and respective sublist; and performing analysis including summation and averaging of the information gathered by each thread and respective sublist.
Claim 8
Dependent Claim 29 words
The method according to claim 6, wherein said step of dividing comprises: dividing the extent list into at least two sublists each containing an equal number of data blocks.
Claim 9
Dependent Claim 45 words
The method according to claim 6, wherein said step of gathering includes the steps of: reading each of data blocks identified in each sublist using direct asynchronous I/O; and examining the contents of each data block to determine information related to each of said elements.
Claim 10
Dependent Claim 24 words
The method according to claim 8, further comprising the step of repeating said steps of identifying and determining for each of plural database tables.
Claim 11
Dependent Claim 169 words
A computer readable medium having computer instructions stored thereon that, when loaded into a computer, cause the computer to perform the steps of: identifying a database table; determining elements corresponding to the condition of the database table based on data contained in the database table; and providing said elements to one of a display for viewing by a user, a storage location, and a mechanism for using said elements; wherein said elements include at least one of number of simple rows, number of migrated rows, number of deleted rows, number of blocks initialized but empty, average free space in a block unused, average free released free space, average row length of migrated rows, average row length of chained rows, number of blocks to be read for normal, chained, and migrated rows, measure of density of blocks used, number of blocks exceeding a percentage used threshold, number of blocks less a percentage free threshold, number of chained rows spanning data files, and min max average of chained rows spanning blocks.
Claim 12
Dependent Claim 169 words
A computer readable medium having computer instructions stored thereon that, when loaded into a computer, cause the computer to perform the steps of: identifying a database table; determining elements corresponding to the condition of the database table based on data contained in the database table; and providing said elements to one of a display for viewing by a user, a storage location, and a mechanism for using said elements; wherein said elements include at least one of number of simple rows, number of migrated rows, number of deleted rows, number of blocks initialized but empty, average free space in a block unused, average free released free space, average row length of migrated rows, average row length of chained rows, number of blocks to be read for normal, chained, and migrated rows, measure of density of blocks used, number of blocks exceeding a percentage used threshold, number of blocks less a percentage free threshold, number of chained rows spanning data files, and min max average of chained rows spanning blocks.
Claim 13
Dependent Claim 35 words
The computer readable medium according to claim 10, wherein said computer instructions further cause the computer to perform the step of: repeating said steps of identifying, determining, and providing for each of plural database tables.
Claim 14
Dependent Claim 54 words
The computer readable medium according to claim 10, wherein said step of identifying comprises the steps of: finding a location of an extent segment header block for the database table; reading the extent segment header block; and creating an extent list identifying each extent of the database table based on the segment header block.
Claim 15
Dependent Claim 48 words
The computer readable medium according to claim 12, wherein said step of determining comprises the steps of: gathering data related to said elements from each of data blocks identified in each extent contained in the extent list; and determining said elements via an analysis of the data gathered.
Claim 16
Dependent Claim 32 words
The computer readable medium according to claim 12, wherein said step of creating includes the step of identifying a file number, block number, and length for each extent of the database table.
Claim 17
Dependent Claim 71 words
The computer readable medium according to claim 12, wherein said step of determining comprises the steps of: dividing the extent list into at least two sublists each containing a number of data blocks; spawning a thread for working each of said sublists; gathering information related to said elements by each thread and respective sublist; and performing analysis including summation and averaging of the information gathered by each thread and respective sublist.
Claim 18
Dependent Claim 31 words
The computer readable medium according to claim 15, wherein said step of dividing comprises: dividing the extent list into at least two sublists each containing an equal number of data blocks.
Claim 19
Dependent Claim 47 words
The computer readable medium according to claim 15, wherein said step of gathering includes the steps of: reading each of data blocks identified in each sublist using direct asynchronous I/O; and examining the contents of each data block to determine information related to each of said elements.
Claim 20
Dependent Claim 34 words
The computer readable medium according to claim 17, wherein said computer instructions further cause the computer to perform the step of: repeating said steps of identifying and determining for each of plural database tables.
Claim 21
Independent Claim 162 words
An apparatus for determining a condition of a database, comprising: means for identifying a database table; means for determining elements corresponding to the condition of the database table based on data contained in the database table; and means for providing said elements to one of a display for viewing by a user, a storage location, and a mechanism for using said elements; wherein said elements include at least one of number of simple rows, number of migrated rows, number of deleted rows, number of blocks initialized but empty, average free space in a block unused, average free released free space, average row length of migrated rows, average row length of chained rows, number of blocks to be read for normal, chained, and migrated rows, measure of density of blocks used, number of blocks exceeding a percentage used threshold, number of blocks less a percentage free threshold, number of chained rows spanning data files, and min max average of chained rows spanning blocks.
Claim 22
Independent Claim 162 words
An apparatus for determining a condition of a database, comprising: means for identifying a database table; means for determining elements corresponding to the condition of the database table based on data contained in the database table; and means for providing said elements to one of a display for viewing by a user, a storage location, and a mechanism for using said elements; wherein said elements include at least one of number of simple rows, number of migrated rows, number of deleted rows, number of blocks initialized but empty, average free space in a block unused, average free released free space, average row length of migrated rows, average row length of chained rows, number of blocks to be read for normal, chained, and migrated rows, measure of density of blocks used, number of blocks exceeding a percentage used threshold, number of blocks less a percentage free threshold, number of chained rows spanning data files, and min max average of chained rows spanning blocks.
Claim 23
Dependent Claim 55 words
The apparatus according to claim 19, wherein said means for identifying comprises: means for finding a location of an extent segment header block for the database table; means for reading the extent segment header block; and means for creating an extent list identifying each extent of the database table based on the segment header block.
Claim 24
Dependent Claim 74 words
The apparatus according to claim 20, wherein said means for determining comprises: means for dividing the extent list into at least two sublists each containing a number of data blocks; means for spawning a thread for working each of said sublists; means for gathering information related to said elements by each thread and respective sublist; and means for performing analysis including summation and averaging of the information gathered by each thread and respective sublist.
Claim 25
Dependent Claim 46 words
The apparatus according to claim 21, wherein said means for gathering includes: means for reading each of data blocks identified in each sublist using direct asynchronous I/O; and means for examining the contents of each data block to determine information related to each of said elements.
Claim 26
Dependent Claim 47 words
The apparatus according to claim 19, wherein said means for determining comprises: means for gathering data related to said elements from each of data blocks identified in each extent contained in the extent list; and means for determining said elements via an analysis of the data gathered.
Claim 27
Independent Claim 150 words
An apparatus for determining a condition as of a database, comprising: an identifying device configured to identify a database table; a determining device configured to determine elements corresponding to the condition of the database table based on data contained in the database table; and a mechanism for using said elements; wherein said elements include at least one of number of simple rows, number of migrated rows, number of deleted rows, number of blocks initialized but empty, average free space in a block unused, average free released free space, average row length of migrated rows, average row length of chained rows, number of blocks to be read for normal, chained, and migrated rows, measure of density of blocks used, number of blocks exceeding a percentage used threshold, number of blocks less a percentage free threshold, number of chained rows spanning data files, and min max average of chained rows spanning blocks.
Claim 28
Independent Claim 150 words
An apparatus for determining a condition as of a database, comprising: an identifying device configured to identify a database table; a determining device configured to determine elements corresponding to the condition of the database table based on data contained in the database table; and a mechanism for using said elements; wherein said elements include at least one of number of simple rows, number of migrated rows, number of deleted rows, number of blocks initialized but empty, average free space in a block unused, average free released free space, average row length of migrated rows, average row length of chained rows, number of blocks to be read for normal, chained, and migrated rows, measure of density of blocks used, number of blocks exceeding a percentage used threshold, number of blocks less a percentage free threshold, number of chained rows spanning data files, and min max average of chained rows spanning blocks.
Claim 29
Dependent Claim 59 words
The apparatus according to claim 24, wherein said identifying device comprises: a locator configured to locate an extent segment header block for the database table; a read mechanism configured to read the extent segment header block; and a list mechanism configured to create an extent list identifying each extent of the database table based on the segment header block.
Claim 30
Dependent Claim 82 words
The method according to claim 24, wherein said determining device comprises: a divider configured to divide the extent list into at least two sublists each containing a number of data blocks; a process spawner configured to a thread for working each of said sublists; an information gatherer configured to information related to said elements by each thread and respective sublist; and an analyzer configured to perform an analysis including summation and averaging of the information gathered by each thread and respective sublist.
Claim 31
Dependent Claim 49 words
The method according to claim 26, wherein said information gatherer comprises: a reader configured to read each of data blocks identified in each sublist using direct asynchronous I/O; and an examiner configured to examine the contents of each data block to determine information related to each of said elements.

References Cited (Backward Citations)

US4506326A Cited
US5261093A Cited
US5806060A Cited
US5864856A Cited
US5873091A Cited
US5974407A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-08-22 2004-02-21 2004-08-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-08-22 2008-02-21 2008-08-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-08-22 2012-02-21 2012-08-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag