Patent US6405212B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6405212B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Database system event triggers

Assignee: Oracle International Corp
•
Filing: 1999-09-27
•
Granted: 2002-06-11
•
Expires: 2019-09-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A technique for database management includes receiving an indication of a selected scope of a trigger. The scope is selected from a plurality of scopes of database management. The scope can be on the level of an individual table, or a schema associated with a user, or the database itself, or a system of databases, among others. The technique also includes receiving an indication of a selected event that belongs to the set of one or more events associated with the selected scope. Trigger metadata is stored that identifies both the selected scope and the selected event. A technique is also described for executing a process in this database management system. Flags indicative of one or more applicable events of the selectable events are loaded into a private cache of the process and checked when a new event occurs.

Inventors

  • 👤 Sriram Samu
  • 👤 Namit Jain
  • 👤 Wei Wang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 10:44
CPC Classifications
G; G06; G06F; G06F21/00; G06F21/60; G06F21/62; G06F21/6218; G06F21/6227; G06F16/00; G06F16/20; G06F16/21; G06F16/24; G06F16/245; G06F16/2455; G06F16/24564; G06F16/24565; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99939; Y10S707/99941; Y10S707/99944

Claims Analysis

Total Claims: 49
Claim 1
Independent Claim 134 words
A method for creating triggers, the method comprising: receiving data that indicates a selected scope for a trigger, wherein the selected scope for the trigger is selected from a plurality of scopes of database management, wherein a first scope of the plurality of scopes consists of a single database object of a particular type and a second scope of the plurality of scopes includes a plurality of database objects of the particular type, and wherein each scope of said plurality of scopes is associated with a set of one or more events; receiving data that indicates a selected event that belongs to the set of one or more events associated with the selected scope; and storing trigger metadata for said trigger, said trigger metadata including data identifying the selected scope and the selected event.
Claim 2
Independent Claim 134 words
A method for creating triggers, the method comprising: receiving data that indicates a selected scope for a trigger, wherein the selected scope for the trigger is selected from a plurality of scopes of database management, wherein a first scope of the plurality of scopes consists of a single database object of a particular type and a second scope of the plurality of scopes includes a plurality of database objects of the particular type, and wherein each scope of said plurality of scopes is associated with a set of one or more events; receiving data that indicates a selected event that belongs to the set of one or more events associated with the selected scope; and storing trigger metadata for said trigger, said trigger metadata including data identifying the selected scope and the selected event.
Claim 3
Dependent Claim 23 words
The method of claim 1 , wherein the selected event is an event that is not associated with a data manipulation language operation.
Claim 4
Dependent Claim 34 words
The method of claim 1 , wherein: the plurality of scopes includes a table scope and one or more other scopes; and the selected scope is one of the one or more other scopes.
Claim 5
Dependent Claim 47 words
The method of claim 1 , further comprising storing metadata about the selected scope, wherein the metadata about the selected scope includes flags that indicate which events in the set of one or more events associated with the selected scope are associated with at least one trigger.
Claim 6
Dependent Claim 50 words
The method of claim 4 , further comprising: starting a process within the selected scope; loading the flags into a private cache of the process; and checking the flags when a new event of the set of one or more events associated with the selected scope occurs in the process.
Claim 7
Dependent Claim 25 words
The method of claim 5 , further comprising: in response to checking the flags, firing the trigger if the new event is the selected event.
Claim 8
Dependent Claim 79 words
The method of claim 6 , wherein the step of firing the trigger comprises the steps of: determining whether applicable trigger condition is in a shared cache; and if the applicable trigger condition is in the shared cache, then evaluating the applicable trigger condition; and if the applicable trigger condition is not in the shared cache, then loading the applicable trigger condition from the metadata about the selected scope into the shared cache, and evaluating the applicable trigger condition.
Claim 9
Dependent Claim 38 words
The method of claim 2 wherein the selected event is a member of a group consisting of database startup, database shutdown, database server error, user logon, user logoff, create database object, alter database object and drop database object.
Claim 10
Dependent Claim 15 words
The method of claim 2 wherein the selected event is invocation of a stored procedure.
Claim 11
Dependent Claim 16 words
The method of claim 2 wherein the selected event is a call to a database server.
Claim 12
Dependent Claim 19 words
The method of claim 2 wherein the at least one non-DML event is a call to an enterprise manager.
Claim 13
Dependent Claim 34 words
The method of claim 1 wherein the trigger data is stored in a database managed by a database server and the selected event is a change in database statistics maintained by said database server.
Claim 14
Independent Claim 135 words
A method for executing triggers in response to events caused by a process in a database management system, the method comprising: maintaining metadata about a particular scope, wherein said particular scope determines which one or more database objects may be associated with a single trigger, and wherein said particular scope is associated with a set of one or more events, said metadata including one or more triggers associated with the particular scope; when the process causes a new event in the set of one or more events associated with said particular scope to occur, checking flags that indicate which events in the set of events associated with said particular scope are associated with at least one trigger; and if the flags indicate that the new event is associated with a trigger, then firing the trigger.
Claim 15
Independent Claim 135 words
A method for executing triggers in response to events caused by a process in a database management system, the method comprising: maintaining metadata about a particular scope, wherein said particular scope determines which one or more database objects may be associated with a single trigger, and wherein said particular scope is associated with a set of one or more events, said metadata including one or more triggers associated with the particular scope; when the process causes a new event in the set of one or more events associated with said particular scope to occur, checking flags that indicate which events in the set of events associated with said particular scope are associated with at least one trigger; and if the flags indicate that the new event is associated with a trigger, then firing the trigger.
Claim 16
Dependent Claim 55 words
The method of claim 13 , wherein: the particular scope is one of a plurality of scopes of database management, wherein each scope of said plurality of scopes is associated with a set of one or more events; and the method includes the step of maintaining metadata for each scope of said plurality of scopes.
Claim 17
Dependent Claim 42 words
The method of claim 13 , further comprising the step of loading into a private cache of the process the flags that indicate which events in the set of events associated with said particular scope are associated with at least one trigger.
Claim 18
Dependent Claim 69 words
The method of claim 13 , wherein the step of firing further comprises: determining whether a condition of the trigger is in a shared cache; if the condition is in the shared cache, then evaluating the condition; and if the condition of the trigger is not in the shared cache, then loading the condition from the metadata about the particular scope into the shared cache, and evaluating the condition.
Claim 19
Dependent Claim 51 words
The method of claim 13 , wherein: the new event has one or more event attributes; the step of firing the trigger includes providing a corresponding value for each of the one or more event attributes, and evaluating a condition of the trigger in response to at least one corresponding value.
Claim 20
Dependent Claim 23 words
The method of claim 17 , wherein: the new event is an error event; and an error attribute is a type of error.
Claim 21
Dependent Claim 26 words
The method of claim 13 , wherein: the particular scope is a schema-actor scope associated with events performed by any process initiated by a certain user.
Claim 22
Dependent Claim 27 words
The method of claim 13 , wherein: the particular scope is a schema-owner scope associated with events performed on any database object owned by a certain user.
Claim 23
Dependent Claim 55 words
The method of claim 14 , wherein: a schema-actor scope of the plurality of scopes is associated with events performed by any process initiated by a certain user; and a schema-owner scope of the plurality of scopes is associated with events performed on any database object owned by the certain user associated with the schema.
Claim 24
Dependent Claim 29 words
The method of claim 14 , wherein: a statistics scope of the plurality of scopes is associated with events performed relating to the statistical information maintained by a database.
Claim 25
Dependent Claim 73 words
The method of claim 22 , wherein: the particular scope is the statistics scope; the flags associated with the statistics scope indicate that an update event is associated with a threshold trigger; and the step of firing the trigger includes evaluating a threshold trigger condition which is satisfied if a value of a certain statistic exceeds a set threshold, and if the threshold trigger condition is satisfied, then updating a one row table.
Claim 26
Dependent Claim 69 words
The method of claim 23 , wherein: a one-row table scope of the plurality of scopes is associated with events performed relating to the one-row table; the flags associated with the one-row table scope indicate that an update event is associated with a cascaded trigger; and the method further comprises performing an action associated with the cascaded trigger, if the value of the certain statistic exceeds the set threshold.
Claim 27
Dependent Claim 23 words
The method of claim 17 , wherein: the particular scope is a database scope associated with events performed relating to a certain database.
Claim 28
Dependent Claim 63 words
The method of claim 25 , wherein: the flags associated with the database scope indicate that a log on event is associated with a context trigger; the new event is a logon event; an event attribute is a user identification; and the step of firing the trigger includes executing a context trigger action which sets an initial context responsive to the user identification.
Claim 29
Dependent Claim 19 words
The method of claim 26 , wherein: access to a row in a table depends on the initial context.
Claim 30
Independent Claim 217 words
A method for executing triggers in response to events caused by a process in a database management system, the method comprising: maintaining metadata about a plurality of scopes, wherein each scope determines which one or more database objects may be associated with a single trigger, each scope associated with a set of one or more events, wherein a hierarchical relationship exists among the plurality of scopes, said metadata about the plurality of scopes including a hierarchy indicating the hierarchical relationship among the plurality of scopes; maintaining metadata about each particular scope of the plurality of scopes, the metadata about each particular scope including the set of one or more events associated with the particular scope, one or more triggers associated with the particular scope, and flags that indicate which events in the set of one or more events associated with the particular scope are associated with at least one trigger; associating the process with a first scope of the plurality of scopes; loading into a private cache for the process the flags for the first scope; and loading into the private cache the flags for a second scope of the plurality of scopes, wherein the second scope occurs at a higher level in the hierarchy than a level in the hierarchy at which the first scope occurs.
Claim 31
Independent Claim 217 words
A method for executing triggers in response to events caused by a process in a database management system, the method comprising: maintaining metadata about a plurality of scopes, wherein each scope determines which one or more database objects may be associated with a single trigger, each scope associated with a set of one or more events, wherein a hierarchical relationship exists among the plurality of scopes, said metadata about the plurality of scopes including a hierarchy indicating the hierarchical relationship among the plurality of scopes; maintaining metadata about each particular scope of the plurality of scopes, the metadata about each particular scope including the set of one or more events associated with the particular scope, one or more triggers associated with the particular scope, and flags that indicate which events in the set of one or more events associated with the particular scope are associated with at least one trigger; associating the process with a first scope of the plurality of scopes; loading into a private cache for the process the flags for the first scope; and loading into the private cache the flags for a second scope of the plurality of scopes, wherein the second scope occurs at a higher level in the hierarchy than a level in the hierarchy at which the first scope occurs.
Claim 32
Dependent Claim 17 words
The method of claim 28 , wherein the first scope and the second scope form a branch.
Claim 33
Dependent Claim 55 words
The method of claim 28 , wherein: a schema-actor scope of the plurality of scopes is associated with events performed by any process initiated by a certain user; and a schema-owner scope of the plurality of scopes is associated with events performed on any database object owned by the certain user associated with the schema.
Claim 34
Dependent Claim 140 words
A computer-readable medium bearing instructions arranged to cause one or more processors to perform: receiving data that indicates a selected scope for a trigger, wherein the selected scope for the trigger is selected from a plurality of scopes of database management, wherein a first scope of the plurality of scopes consists of a single database object of a particular type and a second scope of the plurality of scopes includes a plurality of database objects of the particular type, and wherein each scope of said plurality of scopes is associated with a set of one or more events; receiving data that indicates a selected event that belongs to the set of one or more events associated with the selected scope; and storing trigger metadata for said trigger, said trigger metadata including data identifying the selected scope and the selected event.
Claim 35
Dependent Claim 140 words
A computer-readable medium bearing instructions arranged to cause one or more processors to perform: receiving data that indicates a selected scope for a trigger, wherein the selected scope for the trigger is selected from a plurality of scopes of database management, wherein a first scope of the plurality of scopes consists of a single database object of a particular type and a second scope of the plurality of scopes includes a plurality of database objects of the particular type, and wherein each scope of said plurality of scopes is associated with a set of one or more events; receiving data that indicates a selected event that belongs to the set of one or more events associated with the selected scope; and storing trigger metadata for said trigger, said trigger metadata including data identifying the selected scope and the selected event.
Claim 36
Dependent Claim 56 words
The computer-readable medium of claim 31 bearing instructions to cause one or more processors to further perform storing metadata about the selected scope, wherein the metadata about the selected scope includes flags that indicate which events in the set of one or more events associated with the selected scope are associated with at least one trigger.
Claim 37
Dependent Claim 128 words
A computer-readable medium bearing instructions arranged to cause one or more processors to perform: maintaining metadata about a particular scope, wherein said particular scope determines which one or more database objects may be associated with a single trigger, and wherein said particular scope is associated with a set of one or more events, said metadata including one or more triggers associated with the particular scope; when the process causes a new event in the set of one or more events associated with said particular scope to occur, checking flags that indicate which events in the set of events associated with said particular scope are associated with at least one trigger; and if the flags indicate that the new event is associated with a trigger, then firing the trigger.
Claim 38
Dependent Claim 128 words
A computer-readable medium bearing instructions arranged to cause one or more processors to perform: maintaining metadata about a particular scope, wherein said particular scope determines which one or more database objects may be associated with a single trigger, and wherein said particular scope is associated with a set of one or more events, said metadata including one or more triggers associated with the particular scope; when the process causes a new event in the set of one or more events associated with said particular scope to occur, checking flags that indicate which events in the set of events associated with said particular scope are associated with at least one trigger; and if the flags indicate that the new event is associated with a trigger, then firing the trigger.
Claim 39
Dependent Claim 73 words
The computer-readable medium of claim 33 bearing instructions to cause one or more processors to further perform: determining whether a condition of the trigger is in a shared cache; if the condition is in the shared cache, then evaluating the condition; and if the condition of the trigger is not in the shared cache, then loading the condition from the metadata about the particular scope into the shared cache, and evaluating the condition.
Claim 40
Dependent Claim 210 words
A computer-readable medium bearing instructions arranged to cause one or more processors to perform: maintaining metadata about a plurality of scopes, wherein each scope determines which one or more database objects may be associated with a single trigger, each scope associated with a set of one or more events, wherein a hierarchical relationship exists among the plurality of scopes, said metadata about the plurality of scopes including a hierarchy indicating the hierarchical relationship among the plurality of scopes; maintaining metadata about each particular scope of the plurality of scopes, the metadata about each particular scope including the set of one or more events associated with the particular scope, one or more triggers associated with the particular scope, and flags that indicate which events in the set of one or more events associated with the particular scope are associated with at least one trigger; associating the process with a first scope of the plurality of scopes; loading into a private cache for the process the flags for the first scope; and loading into the private cache the flags for a second scope of the plurality of scopes, wherein the second scope occurs at a higher level in the hierarchy than a level in the hierarchy at which the first scope occurs.
Claim 41
Dependent Claim 210 words
A computer-readable medium bearing instructions arranged to cause one or more processors to perform: maintaining metadata about a plurality of scopes, wherein each scope determines which one or more database objects may be associated with a single trigger, each scope associated with a set of one or more events, wherein a hierarchical relationship exists among the plurality of scopes, said metadata about the plurality of scopes including a hierarchy indicating the hierarchical relationship among the plurality of scopes; maintaining metadata about each particular scope of the plurality of scopes, the metadata about each particular scope including the set of one or more events associated with the particular scope, one or more triggers associated with the particular scope, and flags that indicate which events in the set of one or more events associated with the particular scope are associated with at least one trigger; associating the process with a first scope of the plurality of scopes; loading into a private cache for the process the flags for the first scope; and loading into the private cache the flags for a second scope of the plurality of scopes, wherein the second scope occurs at a higher level in the hierarchy than a level in the hierarchy at which the first scope occurs.
Claim 42
Dependent Claim 94 words
A computer-readable medium bearing information for use by one or more processors that are executing one or more processes participating in database management on a certain scope, wherein the certain scope determines which one or more database objects may be associated with a single trigger, the information comprising a trigger map for the certain scope, the trigger map including a plurality of flags, each flag corresponding to a respective event of a plurality of selectable events for the certain scope, wherein a flag is on if a trigger is defined for the respective event.
Claim 43
Dependent Claim 94 words
A computer-readable medium bearing information for use by one or more processors that are executing one or more processes participating in database management on a certain scope, wherein the certain scope determines which one or more database objects may be associated with a single trigger, the information comprising a trigger map for the certain scope, the trigger map including a plurality of flags, each flag corresponding to a respective event of a plurality of selectable events for the certain scope, wherein a flag is on if a trigger is defined for the respective event.
Claim 44
Dependent Claim 93 words
A computer-readable medium bearing information for use by one or more processors executing one or more processes that are participating in database management on a certain scope, wherein the certain scope determines which one or more database objects may be associated with a single trigger, the information comprising: a field indicating a number of triggers in a cache; and one or more trigger specification areas, each trigger specification area including data that indicates an event of a plurality of selectable events associated with the certain scope upon which event a trigger is fired.
Claim 45
Dependent Claim 93 words
A computer-readable medium bearing information for use by one or more processors executing one or more processes that are participating in database management on a certain scope, wherein the certain scope determines which one or more database objects may be associated with a single trigger, the information comprising: a field indicating a number of triggers in a cache; and one or more trigger specification areas, each trigger specification area including data that indicates an event of a plurality of selectable events associated with the certain scope upon which event a trigger is fired.
Claim 46
Dependent Claim 25 words
The computer-readable medium of claim 37 , wherein the trigger specification area further includes data that indicates conditions under which a trigger action is executed.
Claim 47
Dependent Claim 27 words
The computer-readable medium of claim 37 , wherein the trigger specification area further includes data that indicates actions performed by the trigger if trigger conditions are satisfied.
Claim 48
Independent Claim 149 words
A method for creating triggers, the method comprising: receiving data that indicates a selected scope for a trigger; wherein the selected scope for the trigger is selected from a plurality of scopes of database management; wherein each scope of the plurality of scopes is associated with a set of one or more events; wherein a first scope of the plurality of scopes is associated with a first set of events; wherein a second scope of the plurality of scopes is associated with a second set of events; wherein at least one event in said first set of events is not included in the second set of events; receiving data that indicates a selected event that belongs to the set of one or more events associated with the selected scope; and storing trigger metadata for said trigger, said trigger metadata including data identifying the selected scope and the selected event.
Claim 49
Independent Claim 149 words
A method for creating triggers, the method comprising: receiving data that indicates a selected scope for a trigger; wherein the selected scope for the trigger is selected from a plurality of scopes of database management; wherein each scope of the plurality of scopes is associated with a set of one or more events; wherein a first scope of the plurality of scopes is associated with a first set of events; wherein a second scope of the plurality of scopes is associated with a second set of events; wherein at least one event in said first set of events is not included in the second set of events; receiving data that indicates a selected event that belongs to the set of one or more events associated with the selected scope; and storing trigger metadata for said trigger, said trigger metadata including data identifying the selected scope and the selected event.

References Cited (Backward Citations)

US5862325A Cited
US6088717A Cited
US6108664A Cited
US6253203B1 Cited
US6275824B1 Cited
US6317790B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-06-10 2005-12-10 2006-06-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-06-10 2009-12-10 2010-06-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-06-10 2013-12-10 2014-06-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag