Patent ID: 7673291
Filing Date: 2010-03-02
Classification: G06F

Abstract:
1. A method performed by a set of one or more computers associated with a database system for diagnosing performance in a database of the database system, the method comprising: receiving, at at least one computer associated with the database system, information providing a specification of performance problems in a database, the specification of performance problems defining: receiving, at at least one computer associated with the database system, information providing a set of one or more rules for the one or more performance problems that may occur while processing operations in the database, each rule in the set of one or more rules defining one or more conditions for a corresponding performance problem that when met indicate that at least one symptom that may lead to a root performance problem exists; receiving, at at least one computer associated with the database system, information providing a set of one or more recommendation rules for the one or more performance problems that may occur while processing operations in the database, each recommendation rule in the set of one or more recommendation rules defining: generating, at at least one computer associated with the database system, a set of one or more rules trees based on the specification of performance problems, the set of one or more rules, and the set of one or more recommendation rules, the set of one or more rules trees configured to be traversed to determine a root problem in a hierarchy of the one or more performance problems that may occur while processing operations in the database, each rules tree having a set of nodes indicative of the symptoms that may lead to a root performance problem wherein each node in the set of nodes is associated with one or more rules in the set of one or more rules and one or more recommendation rules in the set of one or more recommendation rules; receiving, from an internal process of the database system configured to capture information internally from one or more sessions at a computer associated with the database system, one or more values that quantify an impact for the one or more performance problems based on performance of operations in the database; traversing, within the computer associated with the database system, one or more rules trees in the set of one or more rules trees to determine a first performance problem in the one or more performance problems that may occur while processing operations in the database based on whether the one or more values satisfy the one or more conditions defined for at least one rule of a node in the set of one or more rules trees; determining, within the computer associated with the database system, recommendation information indicative of a solution to the first performance problem in the one or more performance problems based on satisfaction of one or more recommendation rules associated with the node in the set of one or more rules trees whose at least one rule is satisfied by the one or more values; and generating, within the computer system associated with the database system, information indicative of a recommendation for a solution for the first performance problem based on the recommendation information.