Patent ID: 8326816

Claim:
A method of capturing and processing database commands executed against a database by one or more database servers, the method comprising: storing information that identifies: one or more database objects that were modified by a first database command executed by the one or more database servers that executed commands against the database; and one or more database objects that were accessed by a second database command executed by the one or more database servers that executed commands against the database; based at least in part on the stored information, determining that the second database command depends on the first database command by: determining that the second database command accessed a database object that was previously modified by the first database command; based at least in part on determining that the second database command depends on the first database command, storing, in a dependency graph, an entry for the second database command that specifies the first database command; wherein the dependency graph stores a plurality of entries, wherein each entry is for a separate database command, and wherein each entry specifies one or more other database commands from which the separate database command depends; wherein the dependency graph, if used during replay, would prevent the second database command from being executed until after execution of the first database command; wherein the method is performed by one or more special-purpose computing devices.