IP Library Granted Patent US 6,898,608
Granted Patent B2
US 6,898,608 · App. 10/417,732 · Granted May 24, 2005

Techniques for managing what-if analysis of data managed by a relational database system

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 6,898,608
App. No.
10/417,732
Granted
May 24, 2005
Kind
B2
Abstract

An analytical workspace includes a set of data on which what-if analysis is performed, which is stored persistently and managed in a relational database system. The data may be stored as a binary large object in relational tables, and may comprise a portion of a multidimensional cube. A series of commands on the analytical workspace is received by a database server. In response to the commands, changes are made to the data in temporary storage. Redo information is not generated at this time in association with such changes. Hence, these changes are not made permanent at this time. At some point, the server may receive an update command to make the changes permanent. In response to the update command, redo information is generated for the changes reflected in the temporary storage and the changes are made permanent, in accordance with relational database properties.

Claims (42)

1. A method for handling transactions that change data managed by a relational database system, the method comprising the computer-implemented steps of:

receiving a series of one or more commands to change data managed by said relational database system;

in response to receiving said series of commands, making changes to said data without generating redo information associated with said changes;

after making said changes, receiving an update command to make permanent said changes; and

in response to said update command, executing a transaction on said data in said relational database system to reflect said changes, including generating redo information for said changes.

2. The method of claim 1 , further comprising the computer-implemented step of:

after generating redo information for said changes, making said changes permanent in said relational database system.

3. The method of claim 1 , wherein the step of making changes to said data includes making changes to said data in temporary storage.

4. The method of claim 2 , wherein:

the step of making said changes permanent involves committing said changes as part of a single atomic transaction; and

the method further comprises, before committing said transaction, generating undo information for at least a portion of said changes.

5. The method of claim 1 , wherein said data is stored on one or more blocks of persistent storage, and wherein the step of making said changes in said temporary storage includes the steps of:

making a copy, in said temporary storage, of at least a portion of said blocks; and

making said changes to said copy in said temporary storage.

6. The method of claim 1 , wherein said data is stored in one or more relational tables of said relational database system.

7. The method of claim 6 , wherein said data is stored as a binary large object in said one or more relational tables.

8. The method of claim 6 , wherein said data is at least a portion of a multidimensional cube.

9. The method of claim 6 , wherein said step of receiving a series of commands includes receiving said series of commands through an On-Line Analytical Processing (OLAP) user interface.

10. The method of claim 2 , wherein said steps of generating redo information and making said changes permanent are performed in response to commands received through an On-Line Analytical Processing (OLAP) application interface to said database.

11. The method of claim 1 , wherein said series of commands is a first series of commands issued in association with a read/write data access from a first session, the method further comprising the computer-implemented steps of:

receiving a second series of one or more commands, issued in association with a read only data access from a second session, to change second data managed by said relational database system; and

in response to receiving said second series of commands, making changes to said second data.

12. The method of claim 11 , wherein the step of making changes to said second data includes making said changes to said second data concurrently with said changes associated with said first series of commands.

13. The method of claim 12 , wherein said changes to said second data change at least a portion of data that is also changed in the first session in response to said first series of commands, and wherein said changes to said second data are independent of said changes associated with first series of commands.

14. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1 .

15. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2 .

16. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3 .

17. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4 .

18. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5 .

19. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6 .

20. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7 .

21. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8 .

22. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 9 .

23. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10 .

24. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 11 .

25. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 12 .

26. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 13 .

27. An apparatus for managing what-if analysis of data managed by a relational database system, the apparatus comprising:

means for receiving a series of one or more commands to change data managed by said relational database system;

means for making changes to said data, in response to receiving said series of commands, without generating redo information associated with said changes;

means for receiving an update command to make permanent said changes; and

means for executing a transaction on said data in said relational database system to reflect said changes, including means for generating redo information for said changes, in response to said update command.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2003
From: A.A. HOPEMAN; CAREY, JAMES; SOYLEMEZ, EKREM; GOLBUS, BRUCE; LUBASHEV, IGOR; QIU, ZHIQI
To: ORACLE INTERNATINAL CORPORATION
Reel/Frame 014006/0056 →
Continuity (3)
Provisional Application 6037572600 · Apr 26, 2002
Provisional Application 6037987000 · May 10, 2002
Related Publication 20030204534A1 · Oct 30, 2003