Claims
- 1. A method used for replicating first changes to data made at a source database, the method comprising the steps of:
an apply process applying to data at a destination database server a message describing a first change of said first changes; wherein the step of applying causes generating a first redo record in a redo log, wherein the redo log contains redo records, including said first redo record, that record changes made to data at said destination database server; wherein said first redo record includes a first value in a first field that specifies that said change was caused by a process applying messages describing changes made at another database server; a capture process scanning said redo log for redo records, including said first redo record, for which to generate messages for changes made to data at said database server; and said capture process foregoing generating a message for said first redo record in response to detecting that said first field in said first redo record holds said first value.
- 2. The method of claim 1, wherein:
said capture process requests an evaluation of a set of rules by a rules engine; and wherein said capture process foregoes generating said message based on the evaluation of said set of rules.
- 3. The method of claim 2, wherein said set of rules contains at least one rule with at least one condition based on said first field.
- 4. The method of claim 3, wherein said at least one rule is associated with an evaluation context that includes attributes that are referenced by said at least one rule, said attributes including at least one attribute that reflects said first value.
- 5. The method of claim 3, wherein:
said apply process is associated with a session on said destination database server; and said first field is set by said destination database server in response to detecting that the attribute associated with said session is set to a particular value.
- 6. The method of claim 2, further including the steps of:
before all values of a set of values that are needed to evaluate all rules in said set of rules are available, making a determination of whether said set of rules necessarily evaluate to a particular result; wherein said set of values include a particular value based on said first value; and wherein said determination is based on said particular value.
- 7. The method of claim 6, the method further including the steps of:
storing in a cache a result value that indicates a result of evaluating the set of rules based on a subset of values that includes less than all values of the set of values; wherein the subset of values includes the particular value; wherein said result value is stored in association with the subset of values.
- 8. 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.
- 9. 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.
- 10. 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.
- 11. 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.
- 12. 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.
- 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 6.
- 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 7.
- 15. A method used for replicating first changes to data made at a source database, the method comprising the steps of:
an apply process applying to data at a destination database server a message describing a first change of said first changes; wherein the step of applying causes generating a first redo record in a redo log, wherein the redo log contains redo records, including said first redo record, that record changes made to data at said destination database server; wherein said first redo record includes a first value in a first field that specifies that said change was caused by a process applying messages describing changes made at another database server; means for scanning said redo log for redo records, including said first redo record, for which to generate messages for changes made to data at said database server; and means for foregoing generating a message for said first redo record in response to detecting that said first field in said first redo record holds said first value.
- 16. The method of claim 15, wherein:
a capture process requests an evaluation of a set of rules by a rules engine; and wherein said capture process foregoes generating said message based on the evaluation of said set of rules.
- 17. The method of claim 16, wherein said set of rules contains at least one rule with at least one condition based on said first field.
- 18. The method of claim 17, wherein said at least one rule is associated with an evaluation context that includes attributes that are referenced by said at least one rule, said attributes including at least one attribute that reflects said first value.
- 19. The method of claim 17, wherein:
said apply process is associated with a session on said destination database server; and said first field is set by said destination database server in response to detecting that the attribute associated with said session is set to a particular value.
- 20. The method of claim 16, further including the steps of:
before all values of a set of values that are needed to evaluate all rules in said set of rules are available, making a determination of whether said set of rules necessarily evaluate to a particular result; wherein said set of values include a particular value based on said first value; and wherein said determination is based on said particular value.
RELATED APPLICATIONS
[0001] This application claims priority to the following applications: this application claims priority to U.S. Provisional Application No. 60/400,532, entitled Utilizing Rules in Distributed Information Sharing, filed on Aug. 1, 2002 by Edwina Lu, et al., the contents of which are incorporated herein by reference; this application claims priority to U.S. Provisional Application No. 60/410,883, entitled Oracle Streams, filed on Sep. 13, 2002 by Alan Downing, et al., the contents of which are incorporated herein by reference; this application is a continuation-in-part and claims priority to U.S. application Ser. No. 10/308,924, entitled Asynchronous Information Sharing System, filed on Dec. 2, 2002 by Benny Souder, et al., the contents of which are incorporated herein by reference; this application is a continuation-in-part of U.S. application Ser. No. 10/418,882, entitled Extensible Rules Engine in a Database Management System, filed on Apr. 17, 2003 by Sanjay Kaluskar, et al., the contents of which are incorporated herein by reference.
[0002] The present application is related to U.S. patent application Ser. No. 10/424,852, entitled On Demand Multi-version De-normalized Data Dictionary to Support Distributed Log-based Applications, filed on Apr. 29, 2003 by Lik Wong, et al., the contents of which are herein incorporated by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60400532 |
Aug 2002 |
US |
|
60410883 |
Sep 2002 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
10308924 |
Dec 2002 |
US |
Child |
10452761 |
May 2003 |
US |
Parent |
10418882 |
Apr 2003 |
US |
Child |
10452761 |
May 2003 |
US |