IP Library Granted Patent US 7,418,544
Granted Patent B2
US 7,418,544 · App. 11/245,359 · Granted Aug 26, 2008

Method and system for log structured relational database objects

Assignee: Oracle International Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,418,544
App. No.
11/245,359
Granted
Aug 26, 2008
Kind
B2
Abstract

A system, method, computer program and article of manufacture for updating a disk that moves updates for a specific database object into available contiguous free data blocks, and writes the multiple updates to disk using a single disk access, maintaining database transactional and durability semantics.

Claims (76)

1. A method of writing to disk, the method comprising:

a) receiving an update to a data block;

b) appending the updated data block to the end of an extent;

c) repeating a) and b) until there are a plurality of contiguous updates at the end of the extent; and

d) updating the disk with the plurality of contiguous updates in no more than one disk access.

2. The method of claim 1 , wherein appending comprises:

locating contiguous free space in a file of extents;

placing the updated data block in the contiguous free space.

3. The method of claim 1 , wherein appending comprises:

searching for contiguous free space in a file of extents;

finding no contiguous free space in the file of extents;

adding new extents to the file of extents;

placing the updated data block in the added extents.

4. The method of claim 1 , wherein the updated data block has an address indicating the origin of the data block and an address indicating the appended location of the data block.

5. The method of claim 1 , wherein data inserts are occurring concurrently with the disk updates.

6. The method of claim 1 , whereon sequential scans are occurring concurrently with the disk updates.

7. The method of claim 1 , wherein index scans are occurring concurrently with the disk updates.

8. The method of claim 1 , wherein the data block updates updates are recovered prior to their being written to disk.

9. The method of claim 1 , wherein the data block updates can be undone.

10. The method of claim 1 , wherein the method is performed while maintaining transaction management.

11. The method of claim 1 , wherein the method is performed while maintaining recoverability.

12. The method of claim 1 , wherein the method is performed while maintaining database query capability.

13. The method of claim 1 , wherein the method is performed while maintaining transaction management, recoverability, and database query capability.

14. A computer program product embodied on a volatile or non-volatile computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a method for writing to disk, the method comprising:

a) receiving an update to a data block;

b) appending the updated data block to the end of an extent;

c) repeating a) and b) until there are a plurality of contiguous updates at the end of the extent; and

d) updating the disk with the plurality of contiguous updates in no more than one disk access.

15. The computer program product of claim 14 , wherein appending comprises:

locating contiguous free space in a file of extents;

placing the updated data block in the contiguous free space.

16. The computer program product of claim 14 , wherein appending comprises:

searching for contiguous free space in a file of extents;

finding no contiguous free space in the file of extents;

adding new extents to the file of extents;

placing the updated data block in the added extents.

17. The computer program product of claim 14 , wherein the updated data block has an address indicating the origin of the data block and an address indicating the appended location of the data block.

18. The computer program product of claim 14 , wherein the method is performed while maintaining transaction management, recoverability, and database query capability.

19. A system for writing to disk, the system comprising:

a) logic configured to receive an update to a data block;

b) logic configured to append the updated data block to the end of an extent;

c) logic configured to repeat a) and b) until there are a plurality of contiguous updates at the end of the extent; and

d) logic configured to update the disk with the plurality of contiguous updates in no more than one disk access.

20. The system of claim 19 , wherein the logic configured to append comprises:

logic configured to locate contiguous free space in a file of extents;

logic configured to place the updated data block in the contiguous free space.

21. The system of claim 19 , wherein the logic configured to append comprises:

logic configured to search for contiguous free space in a file of extents;

logic configured to find no contiguous free space in the file of extents;

logic configured to add new extents to the file of extents;

logic configured to place the updated data block in the added extents.

22. A method of writing to a disk, the method comprising:

a) identifying an area of contiguous free space in an object memory;

b) receiving a plurality of updates to the data block;

c) placing the plurality of data block updates in the area of contiguous free space in the object memory;

d) updating the disk with the plurality of contiguous updates in no more than one disk access.

23. The method of claim 22 , wherein identifying an area of contiguous free space comprises:

searching for contiguous free space in a plurality of extents in the object memory;

finding no free contiguous space in the extents;

defragmenting one or more extents; and

identifying an area of contiguous free space in the defragmented extents.

24. The method of claim 22 , wherein identifying an area of contiguous free space comprises:

searching for contiguous free space in a plurality of extents in the object memory;

finding no free contiguous space in the extents;

adding new extents to the file of extents; and

placing the updated data block in the added extents.

25. The computer program product of claim 22 , wherein the method is performed while maintaining transaction management.

26. The computer program product of claim 22 , wherein the method is performed while maintaining recoverability.

27. The computer program product of claim 22 , wherein the method is performed while maintaining database query capability.

28. The method of claim 22 , wherein the method is performed while maintaining transaction management, recoverability, and database query capability.

29. A computer program product embodied on a volatile or non-volatile computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a method for writing to disk, the method comprising:

a) identifying an area of contiguous free space in an object memory;

b) receiving a plurality of updates to the data block;

c) placing the plurality of data block updates in the area of contiguous free space in the object memory;

d) updating the disk with the plurality of contiguous updates in no more than one disk access.

30. The computer program product of claim 29 , wherein the method is performed while maintaining transaction management, recoverability, and database query capability.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2005
From: MUKHERJEE, NILOY; GANESH, AMIT
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 017080/0117 →
Continuity (1)
Related Publication 20070088912A1 · Apr 19, 2007