Claims
- 1. A method for instantiating objects that are to participate in an information sharing relationship, the method comprising the steps of:
making a copy of a first object that resides in a first system; allowing changes to be made to said first object while said copy is being made; wherein said first copy reflects all changes that were made permanent to said first object up to a particular point in time, and no changes that were made permanent to said first object after said particular point in time; recording data that indicates said particular point in time; creating a second object in a second system based on said copy of said first object; causing data that indicates changes made in said first system to said first object to be sent to said second system; wherein said data that indicates changes includes data that indicates a time at which said changes were made permanent in said first system; and in said second system, determining whether to apply changes that were made to said first object to said second object based on a comparison between the time indicated for the changes and said particular point in time.
- 2. The method of claim 1 wherein the first system and the second system are the same system.
- 3. The method of claim 1 further comprising the step of registering said first object for instantiation, wherein the step of registering includes:
briefly locking the first object to ensure that there are no long-running transactions that hold modification locks on the first object; and writing metadata to a metadata table in a source database in which the first object resides.
- 4. The method of claim 1 further comprising the step of storing in said second system a record that indicates said particular point in time.
- 5. The method of claim 1, wherein said second object is created at a second particular point in time, the method further comprising the steps of:
sending from said second system to said first system data that indicates said second particular point in time; causing second data that indicates changes made in said second system to said second object to be sent to said first system; wherein said second data includes data that indicates the time at which said changes were made permanent in said second system; in said first system, determining whether to apply changes that were made to said second object to said first object based on a comparison between the time indicated for the changes and said second particular point in time.
- 6. The method of claim 1 wherein:
the step of making a copy of a first object that resides in a first system includes making a copy of a first database table that resides in a first database; the step of allowing changes to be made to said first object while said copy is being made includes allowing changes to be made to said first database table while said copy is being made; the step of creating a second object in a second system based on said copy of said first object includes creating a second database table in a second database; the step of causing data that indicates changes made in said first system to said first object to be sent to said second system includes causing data that indicates changes made to said first table to be sent from a first database server that manages said first database to a second database server that manages the second database; and the step of determining whether to apply changes includes the second database server performing a comparison between the time indicated for the changes and said particular point in time.
- 7. The method of claim 1 wherein:
the first system is a first database system; the first object is a first database object; the second system is a second database system; and the step of making a copy is performed by exporting said first database object.
- 8. The method of claim 1 wherein:
the first system is a first database system; the first object is a first database object; the second system is a second database system; and the steps of making a copy and creating said second object are performed by transporting a pluggable tablespace that contains said first database object from said first database system into said second database system.
- 9. The method of claim 1 wherein:
the first system is a first database system; the first object is a first database object; the second system is a second database system; and the step of making a copy is performed using a recovery manager utility.
- 10. The method of claim 1 wherein:
the first system maintains a first logical clock to indicate a sequence to changes within the first system; and the step of recording data that indicates said particular point in time includes recording said particular point in time relative to said first logical clock.
- 11. The method of claim 5 wherein:
the first system maintains a first logical clock to indicate a sequence to changes within the first system; the step of recording data that indicates said particular point in time includes recording said particular point in time relative to said first logical clock; the second system maintains a second logical clock to indicate a sequence to changes within said second system; and the step of sending from said second system to said first system data that indicates said second particular point in time includes sending data that indicates said second particular point in time relative to said second logical clock.
- 12. The method of claim 5 wherein the step of sending from said second system to said first system data that indicates said second particular point in time includes:
prior to creating said second object, establishing an information sharing relationship between said first system and said second system; based on said information sharing relationship, sending to the first system change records from said second system that reflect creation of the second object; and the first system determining said second particular point in time based on said change records.
- 13. 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.
- 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 2.
- 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 3.
- 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 4.
- 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 5.
- 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 6.
- 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 7.
- 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 8.
- 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 9.
- 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 10.
- 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 11.
- 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 12.
RELATED APPLICATIONS
[0001] This application is a continuation-in-part of and claims priority from the following applications, the content of each of which is incorporated herein in its entirety, for all purposes:
[0002] U.S. patent application Ser. No. 10/308,924, entitled “ASYNCHRONOUS INFORMATION SHARING SYSTEM”, by inventors BENNY SOUDER, DIETER GAWLICK, JIM STAMOS AND ALAN DOWNING, filed Dec. 2, 2002, which claims priority to U.S. Provisional Patent Application No. 60/400,532, filed on Aug. 1, 2002, entitled UTILIZING RULES IN DISTRIBUTED INFORMATION SHARING; and to U.S. Provisional Patent Application No. 60/410,883, filed Sep. 13, 2002, entitled ORACLE STREAMS;
[0003] U.S. patent application Ser. No. 10/308,879, entitled “IN MEMORY STREAMING WITH DISK BACKUP AND RECOVERY OF MESSAGES CAPTURED FROM A DATABASE REDO STREAM”, by inventors NIMAR SINGH ARORA and JIM STAMOS, filed Dec. 2, 2002, which claims priority to U.S. Provisional Patent Application No. 60/400,532, filed on Aug. 1, 2002, entitled UTILIZING RULES IN DISTRIBUTED INFORMATION SHARING; and to U.S. Provisional Patent Application No. 60/410,883, filed Sep. 13, 2002, entitled ORACLE STREAMS; and
[0004] U.S. patent application Ser. No. 10/308,851, entitled “REPLICATING DDL CHANGES USING STREAMS”, by inventors MAHESH SUBRAMANIAM, filed Dec. 2, 2002, which claims priority to U.S. Provisional Patent Application No. 60/400,532, filed on Aug. 1, 2002, entitled UTILIZING RULES IN DISTRIBUTED INFORMATION SHARING; and to U.S. Provisional Patent Application No. 60/410,883, filed Sep. 13, 2002, entitled ORACLE STREAMS.
[0005] This application also incorporates by reference the content in its entirety of each of the following applications:
[0006] U.S. Provisional Patent Application No. 60/400,532, filed on Aug. 1, 2002, entitled UTILIZING RULES IN DISTRIBUTED INFORMATION SHARING; and
[0007] U.S. Provisional Patent Application No. 60/410,883, filed Sep. 13, 2002, entitled ORACLE STREAMS.
Provisional Applications (6)
|
Number |
Date |
Country |
|
60400532 |
Aug 2002 |
US |
|
60410883 |
Sep 2002 |
US |
|
60400532 |
Aug 2002 |
US |
|
60410883 |
Sep 2002 |
US |
|
60400532 |
Aug 2002 |
US |
|
60410883 |
Sep 2002 |
US |
Continuation in Parts (3)
|
Number |
Date |
Country |
Parent |
10308924 |
Dec 2002 |
US |
Child |
10400225 |
Mar 2003 |
US |
Parent |
10308879 |
Dec 2002 |
US |
Child |
10400225 |
Mar 2003 |
US |
Parent |
10308851 |
Dec 2002 |
US |
Child |
10400225 |
Mar 2003 |
US |