DE112012004169T5 - Überwachen der Ausführung von gespeicherten Prozeduren - Google Patents
Überwachen der Ausführung von gespeicherten Prozeduren Download PDFInfo
- Publication number
- DE112012004169T5 DE112012004169T5 DE112012004169.0T DE112012004169T DE112012004169T5 DE 112012004169 T5 DE112012004169 T5 DE 112012004169T5 DE 112012004169 T DE112012004169 T DE 112012004169T DE 112012004169 T5 DE112012004169 T5 DE 112012004169T5
- Authority
- DE
- Germany
- Prior art keywords
- stored procedure
- stored
- sql statement
- database
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 244
- 238000012544 monitoring process Methods 0.000 claims abstract description 89
- 238000012545 processing Methods 0.000 claims description 14
- 230000001186 cumulative effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 4
- 230000002596 correlated effect Effects 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 65
- 238000010586 diagram Methods 0.000 description 12
- 230000015654 memory Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2443—Stored procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24524—Access plan code generation and invalidation; Reuse of access plans
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
Abstract
Description
- Gebiet der Erfindung
- Die Erfindung betrifft allgemein ein Verfahren zum Überwachen von gespeicherten Prozeduren, die in einem Datenbankverwaltungssystem ausgeführt werden, sowie ein System zum Überwachen der Leistung von gespeicherten Prozeduren (Stored Procedures).
- Die Erfindung betrifft ferner ein Datenbanksystem, ein Computersystem, ein Datenverarbeitungsprogramm und ein Computerprogrammprodukt.
- Hintergrund der Erfindung
- Gegenwärtig nimmt die Menge von Daten in immer schnellerem Ausmaß zu, die durch Datenbanksysteme, insbesondere durch relationale Datenbanksysteme, gespeichert und verarbeitet werden. Aufgrund des immer weiter zunehmenden Datenvolumens nehmen auch die Zugriffszeiten auf Daten immer weiter zu, die in der Datenbank gespeichert sind. Dies übt einen enormen Druck auf Datenbankadministratoren aus, die Funktionalität und die Leistung von Datenbanksystemen zu optimieren.
- Heutzutage sind viele Datenbankverwaltungssysteme mit entsprechenden Hilfsmitteln zur Optimierung und Überwachung ausgestattet. Der Zweck von Datenbankverwaltungssystemen besteht darin, Daten zu organisieren und einen schnellen und bequemen Zugriff zu ermöglichen, um gespeicherte Daten abzurufen. Es gibt verschiedene Arten von Datenbankverwaltungssystemen, zum Beispiel relationale Datenbankverwaltungssysteme, hierarchische Datenbankverwaltungssysteme und Netzwerk-Datenbankverwaltungssysteme. Zu typischen Datenzugriffsanweisungen können Lese-, Schreib-, Aktualisierungs- und Löschanweisungen gehören.
- Das Überwachen und Verfolgen der internen Funktionalität einer Datenbank erfordert jedoch zusätzliche Rechenleistung, die sich auf die Gesamtleistung des Datenbankverwaltungssystems auswirken kann. Eine allgemein bekannte Technik zum Messen der Leistung eines Datenbankverwaltungssystems betrifft Momentaufnahmedaten (Snapshot Data). Momentaufnahmedaten liefern ununterbrochene Informationen über die interne Funktionalität einer Datenbank. Beispielsweise werden Zeiten zum Speichern von Daten, erforderliche Zeiten zum Auffinden und Lesen von Daten und/oder Zeiten zum Löschen von Daten ununterbrochen gemessen. Normalerweise stellt ein Momentaufnahmedatensatz eine große Menge von Daten über die interne Funktionalität und den tatsächlichen Status eines Datenbankverwaltungssystems dar. Andere Daten stehen im Zusammenhang mit Ereignissen in der Datenbank, z. B. mit Benachrichtigungen über begonnene und beendete SQL-Anweisungen oder mit anderen Ereignissen ähnlicher Art. Das Warnen kann ebenfalls mit bestimmten Ereignissen zusammenhängen.
- Anderseits wurden gespeicherte Prozeduren sehr beliebt, um logische Operationen aus Anwendungsprogrammen auszulagern. In der Zwischenzeit kann derartige Anwendungslogik nun als Teil der Datenbank – in viel größerer Nähe zu den Daten – in gespeicherten Prozeduren ausgeführt werden. Oftmals werden Schleifen in gespeicherten Prozeduren ausgeführt. Und normalerweise können nur Ausführungszeiten für ganze gespeicherte Prozeduren als Teil globaler Momentaufnahme- und Ereignisdaten gemessen werden. Um die Funktionalität und Leistung einer Datenbank zu optimieren, kann es erforderlich sein, viel feinkörnigere Informationen über die Ausführung von SQL-Anweisungen innerhalb einer gespeicherten Prozedur zur Verfügung zu haben. Andererseits ist eine derartige nahe Überwachung gleichbedeutend mit zusätzlichem Aufwand für eine konstante Messung von Leistungsdaten einer Datenbank.
- Normalerweise wird eine Abfragesprache verwendet, um auf die Daten und das Datenbankverwaltungssystem zuzugreifen. Unter Verwendung der Abfragesprache können Datenanwendungsprogramme geschrieben werden, um auf die in der Datenbank gespeicherten Daten zuzugreifen. Beispielsweise ist SQL (SQL = Structured Query Language) eine allgemein bekannte Abfragesprache. Das Datenbankanwendungsprogramm kann unter Verwendung von SQL in Kombination mit anderen Programmiersprachen wie zum Beispiel COBOL, PL/1, JAVA und C geschrieben sein, um auf die in der Datenbank gespeicherten Daten zuzugreifen.
- Ein Modul, das als „gespeicherte Prozedur” (Stored Procedure, SP) bezeichnet wird, kann verwendet werden, um auf die Daten in einem oder mehreren Datenbankverwaltungssystemen zuzugreifen. Bei der gespeicherten Prozedur kann es sich um eine Programm- oder Scriptdatei handeln, die physisch in einem Datenbankverwaltungssystem gespeichert ist, normalerweise in dem Datenbankverwaltungssystem, in dem auf die gespeicherte Prozedur zugegriffen werden kann. Das Datenbankanwendungsprogramm kann eine oder mehrere gespeicherte Prozeduren starten bzw. aufrufen. Die gespeicherte Prozedur kann normalerweise eine oder mehrere Datenzugriffsanweisungen (SQL-Anweisungen) oder Aufrufe anderer gespeicherter Prozeduren aufweisen, um Datenanforderungen in Bezug auf Daten aus einer oder mehreren Datenbanken auszugeben (verschachtelte gespeicherte Prozeduren). Zum Beispiel kann die gespeicherte Prozedur eine oder mehrere SQL-Anweisungen aufweisen, um Daten aus dem Datenbankverwaltungssystem abzurufen. Gespeicherte Prozeduren können von mehreren Datenbankanwendungsprogrammen gemeinsam genutzt werden. Das Dokument
US 2007/0282837 A1 - Ein weiteres Dokument,
US 7 809 694 B2 , offenbart das Analysieren von Leistungsdaten von einer relationalen Datenbank aus, um schlecht funktionierende SQL-Anweisungen zu erkennen, einschließlich des Erzeugers von Ereignisdatensätzen von Leistungsdaten für Abfrageanweisungen, die in einem relationalen Datenbankverwaltungssystem ausgeführt werden, und des Komprimierens der Leistungsdaten in einem Ereignisdatensatz. Zu jedem komprimierten Ereignisdatensatz kann eine Leistungsübersicht erzeugt werden. Anschließend kann die Leistungsübersicht auf der Grundlage von Eigenschaften zur Erkennung schlecht funktionierender SQL-Anweisungen analysiert werden. - Die gegenwärtige Unterstützung zur Überwachung gespeicherter Prozeduren hat unter Umständen mit zwei Hauptproblembereichen zu tun. Erstens ist die gespeicherte Prozedur aus der Überwachungsperspektive betrachtet für die meisten Datenbankadministratoren unter Umständen eine „Blackbox”. Möglicherweise wissen sie nicht, was „innerhalb” einer gespeicherten Prozedur geschieht. Zweitens muss ein Datenbankadministrator gegenwärtig unter Umständen eine „sehr aufwendige” Ablaufverfolgung mit erheblichem CPU-Aufwand vornehmen, um in einem bestimmten Ausmaß Detailinformationen zu erhalten. Als weiterer Schritt muss unter Umständen ein manueller Abgleich der erfassten Detailinformationen durchgeführt werden, zum Beispiel über Anweisungen, die in der gespeicherten Prozedur ausgeführt wurden. Dies kann ein sehr aufwendiger, zeitraubender und fehleranfälliger Prozess sein. Des Weiteren berücksichtigt die Erfassung von Ereignis- und Momentaufnahmedaten unter Umständen nicht die in der Anwendungslogik der gespeicherten Prozedur verbrachte Zeit.
- Daher besteht möglicherweise ein Bedarf an einem verbesserten Verfahren zum Leistungsmanagement bei gespeicherten Prozeduren in einem Datenbankverwaltungssystem ohne eine zusätzliche Belastung der Leistung, die durch das Erfassen zusätzlicher Leistungsdaten innerhalb einer gespeicherten Prozedur verursacht wird.
- Kurzdarstellung der Erfindung
- Dieser Bedarf kann möglicherweise durch ein Verfahren zum Überwachen gespeicherter Prozeduren in einem Datenbankverwaltungssystem, einem System zur Überwachung der Leistung gespeicherter Prozeduren, einem Datenbanksystem, einem Computersystem, einem Datenverarbeitungsprogramm und einem Computerprogrammprodukt gemäß den Hauptansprüchen angesprochen werden.
- Bei einer Ausführungsform kann ein Verfahren zum Überwachen von gespeicherten Prozeduren bereitgestellt werden, die in einem relationalen Datenbankverwaltungssystem ausgeführt werden. Das Verfahren kann für eine der gespeicherten Prozeduren das Bereitstellen der folgenden Ereignisdaten zusammen mit einer Kennzeichnung der gespeicherten Prozedur aufweisen: einen ersten Zeitpunkt, der einen Beginn einer Ausführung der gespeicherten Prozedur anzeigt; einen zweiten Zeitpunkt, der ein Ende einer Ausführung der gespeicherten Prozedur anzeigt; mindestens eine SQL-Anweisungskennung, die einer SQL-Anweisung zugewiesen ist, die als Teil der gespeicherten Prozedur ausgeführt wird; und für jede SQL-Anweisungskennung einen Zähler, der die Anzahl von Ausführungen anzeigt, die angibt, wie oft die zugehörige SQL-Anweisung zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt wurde. Darüber hinaus kann das Verfahren das Bereitstellen regelmäßiger Datenbanküberwachungsinformationen, insbesondere von globalen Momentaufnahmedaten, durch das Datenbankverwaltungssystem aufweisen, wobei die regelmäßigen Datenbanküberwachungsinformationen Werte von Parametern ausgeführter SQL-Anweisungen aufweisen, die anhand der SQL-Anweisungskennung erkennbar sind. Des Weiteren kann das Verfahren das Korrelieren von Werten von Parametern ausgeführter SQL-Anweisungen, die anhand der SQL-Anweisungskennung erkennbar sind, mit einem Zähler der Anzahl von Ausführungen aufweisen, der angibt, wie oft die zugehörige SQL-Anweisung zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt worden sein kann. Dies kann zu Überwachungsdaten für die gespeicherte Prozedur führen, die anhand der Kennzeichnung der gespeicherten Prozedur erkennbar ist.
- Bei einer weiteren Ausführungsform kann ein Überwachungssystem zum Überwachen von gespeicherten Prozeduren bereitgestellt werden, die in einem Datenbankverwaltungssystem, insbesondere in einem relationalen Datenbankverwaltungssystem, ausgeführt werden. Das Überwachungssystem kann eine erste Bereitstellungseinheit aufweisen, die so gestaltet ist, dass zu einer der gespeicherten Prozeduren die folgenden Ereignisdaten zusammen mit einer Kennzeichnung der gespeicherten Prozedur bereitgestellt werden: einen ersten Zeitpunkt, der einen Beginn einer Ausführung der gespeicherten Prozedur anzeigt; einen zweiten Zeitpunkt, der ein Ende einer Ausführung der gespeicherten Prozedur anzeigt; mindestens eine SQL-Anweisungskennung, die einer SQL-Anweisung zugewiesen ist, die als Teil der gespeicherten Prozedur ausgeführt wird; und für jede SQL-Anweisungskennung einen Zähler, der die Anzahl von Ausführungen anzeigt, die angibt, wie oft die zugehörige SQL-Anweisung zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt worden sein kann. Das Überwachungssystem kann eine zweite Bereitstellungseinheit aufweisen, die so gestaltet ist, dass durch das Datenbankverwaltungssystem regelmäßige Datenbanküberwachungsinformationen bereitgestellt werden, wobei die regelmäßigen Datenbanküberwachungsinformationen Werte von Parametern ausgeführter SQL-Anweisungen aufweisen, die anhand der SQL-Anweisungskennung erkennbar sind. Des Weiteren kann das Überwachungssystem eine Korrelationseinheit aufweisen, die so gestaltet ist, dass Werte von Parametern für ausgeführte SQL-Anweisungen, die anhand der SQL-Anweisungskennung erkennbar sind, mit dem Zähler der Anzahl von Ausführungen der zugehörigen SQL-Anweisung korreliert werden, die zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt wurden, was zu Überwachungsdaten für die gespeicherte Prozedur führt, die anhand der Kennzeichnung der gespeicherten Prozedur erkennbar ist.
- Anzumerken ist, dass die regelmäßigen Datenbanküberwachungsinformationen, die auch unter der Bezeichnung „Momentaufnahmedaten” und/oder „Ereignisdaten” bekannt sind, alle Anweisungen betreffen können, die innerhalb und außerhalb der gespeicherten Prozeduren ausgeführt worden sind, die eine identische SQL-Anweisungskennung aufweisen. Ebenso ist anzumerken, dass der Begriff „Korrelieren von Werten” insbesondere das Bilden von Durchschnittswerten der verfügbaren Werte bedeuten kann.
- Ausführliche Beschreibung
- Im Kontext dieser Anmeldung gelten die folgenden Konventionen:
Datenbankverwaltungssystem – ein Datenbankverwaltungssystem kann ein beliebiges Datenbankverwaltungssystem bezeichnen, das zum Speichern von und Zugreifen auf Daten geeignet ist. Es kann ein relationales Datenbankverwaltungssystem sein, bei dem die Daten in Zeilen und Spalten organisiert sind, ein hierarchisches Datenbankverwaltungssystem oder ein Netzwerk-Datenbankverwaltungssystem. - Gespeicherte Prozedur – eine gespeicherte Prozedur kann ein von einem Benutzer geschriebenes Programm bezeichnen, das eine Geschäftslogik realisieren und das durch ein Anwendungsprogramm unter Verwendung von z. B. einer „CALL”-Anweisung aufgerufen werden kann. Normalerweise können gespeicherte Prozeduren kompiliert und als Teil eines Datenbankverwaltungssystems oder Datenbankmoduls gespeichert werden. Neben der Verbesserung einer Anwendungsentwicklung durch die Verwendung der Modularität können gespeicherte Prozeduren auch Vorteile in Bezug auf eine verbesserte Anwendungssicherheit haben, da die Anwendungslogik unter der Steuerung des Datenbankservers ausgeführt werden und Lösungen zur Integration von Anwendungen unterstützen kann. Des Weiteren können sie verwendet werden, um Geschäftslogik durchzusetzen. – Anders ausgedrückt kann der Begriff „gespeicherte Prozedur” eine Unterroutine bezeichnen, die Softwareanwendungen zur Verfügung steht, die auf ein Datenbanksystem, insbesondere auf ein relationales Datenbanksystem zugreifen. Gespeicherte Prozeduren können tatsächlich in einem Datenbankdatenwörterbuch gespeichert sein, das zu dem Datenbankverwaltungssystem gehört. Gespeicherte Prozeduren können zur Konsolidierung und Zentralisierung von Anwendungslogik verwendet werden, die ursprünglich in Softwareanwendungen realisiert wurde. Eine aufwendige oder komplexe Verarbeitung, die unter Umständen die Ausführung mehrerer SQL-Anweisungen erfordert, kann in gespeicherte Prozeduren verlagert werden, und alle Softwareanwendungen können die Prozeduren aufrufen. Man kann verschachtelte gespeicherte Prozeduren verwenden, indem eine gespeicherte Prozedur aus einer anderen heraus ausgeführt wird.
- Kennzeichnung einer gespeicherten Prozedur – bestimmte gespeicherte Prozeduren in einem bestimmten Datenbankverwaltungssystem können eine eindeutige Kennung aufweisen, die zu den betreffenden gespeicherten Prozeduren gehört. Alle Aktivitäten im Zusammenhang mit den betreffenden gespeicherten Prozeduren können somit unter Verwendung der Kennzeichnung der gespeicherten Prozedur überwacht werden. Sie kann eine eindeutige Nummer sein.
- Erster Zeitpunkt – der Begriff „erster Zeitpunkt” kann eine erste Zeitinstanz mit einem bestimmten Zeitstempel bezeichnen. Ein erster Zeitpunkt kann einen Start einer gespeicherten Prozedur bezeichnen. Jedes Mal, wenn möglicherweise eine gespeicherte Prozedur aufgerufen wird, kann unter Umständen ein erster Zeitpunkt zum Zweck der späteren Analyse aufgezeichnet werden.
- Zweiter Zeitpunkt – der Begriff „zweiter Zeitpunkt” kann eine zweite Zeitinstanz mit einem weiteren bestimmten Zeitstempel bezeichnen. Ein zweiter Zeitpunkt kann ein Ende einer gespeicherten Prozedur bezeichnen. Jedes Mal, wenn möglicherweise eine gespeicherte Prozedur beendet wird, kann unter Umständen ein zweiter Zeitpunkt zum Zweck der späteren Analyse aufgezeichnet werden.
- Regelmäßige Datenbanküberwachungsinformationen – normalerweise speichern Datenbankverwaltungssysteme regelmäßig statistische Daten über ihre interne Funktionalität. Ausführungszeiten von Anweisungen sind nur ein Beispiel hierfür. Zu weiteren Daten können das Verfehlen von Seiten und viele weitere statistische Daten gehören, wie nachfolgend erwähnt wird. Regelmäßige Datenbanküberwachungsinformationen können zudem synchron erfasste Momentaufnahmedaten und/oder asynchron erfasste Ereignisdaten aufweisen.
- Parameter – der Begriff „Parameter” kann ein bestimmtes Maß für eine statistische Information über die Datenbankleistung bezeichnen. Jeder Parameter kann bestimmte Werte enthalten. Die Werte können sich im Laufe der Zeit ändern.
- SQL-Anweisung – der Begriff „SQL-Anweisung” kann eine Anweisung für ein Datenbankverwaltungssystem bezeichnen. Sie kann als „Strukturierte Abfragesprache”-Standardanweisung zum Verwalten von Daten in einem relationalen Datenbankverwaltungssystem verstanden werden. Gegenwärtig sind mehrere Dialekte bekannt: SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003 bzw. SQL:2008. Die SQL-Sprache kann eine vordefinierte Menge von Sprachkonstrukten aufweisen, die einem Fachmann wohlbekannt sind.
- SQL-Anweisungskennung – bestimmte SQL-Anweisungen in einem bestimmten Datenbankverwaltungssystem können eine eindeutige Kennung aufweisen, die zu den bestimmten SQL-Anweisungen gehört. Alle Aktivitäten im Zusammenhang mit den bestimmten SQL-Anweisungen können somit unter Verwendung der Kennzeichnung der SQL-Anweisungen überwacht werden. Sie kann eine eindeutige Nummer sein.
- Das oben beschriebene Verfahren zum Überwachen von gespeicherten Prozeduren, die in einem Datenbankverwaltungssystem ausgeführt werden, kann eine Reihe von Vorteilen bieten.
- Das erfindungsgemäße Verfahren und das Überwachungssystem können im Vergleich zu bekannten Techniken eine viel elegantere Überwachung gespeicherter Prozeduren und somit eine bessere Leistungsabstimmung von Datenbankverwaltungssystemen ermöglichen. Dies lässt sich ohne die Belastung durch das enge Überwachen ausgeführter Anweisungen innerhalb einer gespeicherten Prozedur erreichen, das dem gegenwärtigen Stand der Technik entspricht. Unter Umständen müssen nicht bei jeder ausgeführten Anweisung regelmäßige Datenbanküberwachungsinformationen erfasst werden, die auch als Momentaufnahmedaten bezeichnet werden. Stattdessen wird zum Zweck des Überwachens von „Operationen im Inneren” einer gespeicherten Prozedur unter Umständen nur eine sehr begrenzte Menge von Daten erfasst. Anstelle des Erfassens globaler Momentaufnahmedaten zu jeder innerhalb einer gespeicherten Prozedur ausgeführten Anweisung, können Informationen, die ohnehin im Datenbankverwaltungssystem zur Verfügung stehen – Ausführungszeit bestimmter SQL-Anweisungen – zum Überwachen gespeicherter Prozeduren verwendet werden.
- Bei einer Ausführungsform des Verfahrens kann das Verfahren zusätzlich das Berechnen durchschnittlicher Parameterwerte für zumindest einen Parameter aufweisen, wobei die Werte des mindestens einen Parameters verwendet werden. Wie oben erläutert ist somit unter Umständen ein Überwachen gespeicherter Prozeduren möglich, ohne Momentaufnahmedaten zu jeder SQL-Anweisung zu erfassen, die als Teil einer gespeicherten Prozedur ausgeführt wird. Einer der Parameter kann eine Ausführungszeit einer bestimmten SQL-Anweisung sein. In abstrakter Form kann eine derartige SQL-Anweisung „KONTOSALDO VON PERSON_A LESEN” lauten. Alle diese Leseanweisungen innerhalb und außerhalb der gespeicherten Prozedur können verwendet werden, um eine durchschnittliche Ausführungszeit der Anweisung zu bilden. Die Anweisung kann gekennzeichnet sein, z. B. durch die Kennnummer „129”. Anzumerken ist, dass derartige Leistungsdaten zu jeder SQL-Anweisung ohnehin aus dem DBMS erfasst werden können. Daher wird unter Umständen keine zusätzliche Datenerfassung durchgeführt, um den Durchschnittswert des Parameters zu erzeugen.
- Bei einer weiteren Ausführungsform kann das Korrelieren einem Multiplizieren des durchschnittlichen Parameterwertes des mindestens einen Parameters mit der Anzahl von Ausführungen der gekennzeichneten SQL-Anweisung entsprechen, wobei die SQL-Anweisungskennung, die die SQL-Anweisung mit dem durchschnittlichen Parameterwert darstellt, gleich der SQL-Anweisungskennung ist, die im Zusammenhang mit der Anzahl von Ausführungen steht. Auf diese Weise steht ein wenig rechenintensives Verfahren zur Verfügung, um die Leistung innerhalb gespeicherter Prozeduren zu messen. Diese Multiplikation kann bei jeder Art von SQL-Anweisung mit bestimmten Kennungen von SQL Anweisungen durchgeführt werden, die als Teil der gespeicherten Prozedur ausgeführt werden, sowie bei allen verfügbaren Parametern, die eine Berechnung eines Durchschnitts zulassen, d. h. zum Beispiel nicht bei Zeichenkettenvariablen. Durch Aufsummieren all dieser multiplizierten Daten zwischen dem Beginn und dem Ende der gespeicherten Prozedur können sehr gute detaillierte Leistungsdaten von internen Operationen gespeicherter Prozeduren bereitgestellt werden.
- Bei noch einer weiteren Ausführungsform des Verfahrens können die regelmäßigen Datenbanküberwachungsinformationen nur Werte von Parametern im Zusammenhang mit ausgeführten SQL-Anweisungen aufweisen, die durch die SQL-Anweisungskennung bei denjenigen SQL-Anweisungen erkennbar sind, die als Teil der gespeicherten Prozedur ausgeführt wurden. Diese Ausführungsform kann als „exaktes Verfahren” bezeichnet werden. Gefilterte Momentaufnahmedaten können verwendet werden, wobei die Filterung nur Parameterwerte für innerhalb der gespeicherten Prozedur ausgeführte SQL-Anweisungen liefert. Andere Parameter, die die Mehrheit globaler Momentaufnahmedaten darstellen, werden unter Umständen nicht erfasst. Dadurch wird für Operationen zur Leistungsverwaltung innerhalb gespeicherter Prozeduren möglicherweise kein Systemaufwand durch große globale Momentaufnahmedateien erzeugt.
- Bei noch einer weiteren Ausführungsform des Verfahrens ist jeder der Parameter von ausgeführten SQL-Anweisungen mindestens einer ist aus der Gruppe, ausgewählt aus einer Anzahl von Ausführungen, einer Anzahl überprüfter Zeilen, einer Anzahl verarbeiteter Zeilen, einer Anzahl von Indexdurchsuchungen, einer Anzahl von Tabellenbereichsdurchsuchungen, einer Anzahl von Pufferschreibvorgängen, einer kumulierten Datenbankzeit, einer kumulierten Prozessorzeit (CPU-Zeit), einer kumulierten Zeit für Sperrungen und einer kumulierten Wartezeit auf einen synchronen E/A oder auf einen synchronen Ausführungseinheitenschalter (synchronous execution unit switch) oder auf globale Sperrungen oder auf Leseaktivitäten, die durch einen anderen Thread vorgenommen werden, oder auf Schreibaktivitäten, die durch einen anderen Thread vorgenommen werden, oder auf eine Verriegelung oder auf eine Seitenverriegelung oder auf DRAIN-Sperren oder auf DRAIN-Sperren bei freizugebenden CLAIM-Operationen oder kumulierte Wartezeiten auf ein Protokollausgabeprogramm (log writer). Andere Optionen können eine Anzahl von Getpage-Operationen, eine Anzahl von synchronen Puffer-Leseoperationen, eine Anzahl von Datenbank-Sortieroperationen, eine Anzahl erzeugter paralleler Gruppen, eine Anzahl von Zeiten, zu denen ein Datensatz wegen überschrittener Grenzwerte nicht verwendet wurde, oder eine Anzahl von Zeiten aufweisen, zu denen eine Datensatzkennung nicht verwendet wurde, weil nicht genügend Speicher vorhanden war, um die Liste aufzunehmen.
- Bei noch einer weiteren Ausführungsform des Verfahrens werden ein erster Puffer zum Speichern der regelmäßigen Datenbanküberwachungsinformationen und ein zweiter Puffer zum Speichern der Ereignisdaten unabhängig voneinander betrieben. Das bedeutet, dass insbesondere zwei unterschiedliche Puffer-/Speicherbereiche für die Momentaufnahmedaten und die Ereignisdaten verwendet werden können. Aus der Sicht der Realisierung bedeutet dies, dass die Datenbanklogik im Zusammenhang mit Momentaufnahmedaten unverändert belassen werden kann und dass unter Umständen nur die Erfassung der Ereignisdaten zur internen Logik des Datenbankverwaltungssystems hinzugefügt werden muss, um das erfindungsgemäße Verfahren durchzuführen.
- Bei noch einer weiteren Ausführungsform des Verfahrens kann ein kombinierter Puffer zum Speichern der regelmäßigen Datenbanküberwachungsinformationen und der Ereignisdaten verwendet werden. Eine derartige Realisierung hat unter Umständen den Vorteil, dass Momentaufnahmedaten und Ereignisdaten in einem Datenbankverwaltungspuffer gespeichert werden können, was den Zugriff auf diese Daten beschleunigen kann.
- Bei einer weiteren bevorzugten Ausführungsform des Verfahrens kann das Verfahren zusätzlich das Bereitstellen einer ersten Schnittstelle aufweisen, um die Überwachungsdaten der gespeicherten Prozedur einem System außerhalb eines Datenbankservers zugänglich zu machen, auf dem das Datenbankverwaltungssystem ausgeführt wird. Insbesondere kann dies bedeuten, dass Berechnungen zum Erzeugen der Leistungsverwaltungsdaten auf dem Server durchgeführt werden können und nur eine Visualisierung der Leistungsdaten der gespeicherten Prozeduren auf einem Client-System durchgeführt werden kann, das eine grafische Benutzeroberfläche aufweist.
- Bei einer weiteren bevorzugten Ausführungsform des Verfahrens kann das Verfahren zusätzlich das Bereitstellen einer zweiten Schnittstelle aufweisen, um die Ereignisdaten und die regelmäßigen Datenbanküberwachungsinformationen einem System außerhalb eines Datenbankservers zugänglich zu machen, auf dem das Datenbankverwaltungssystem ausgeführt wird. Insbesondere kann dies bedeuten, dass alle Berechnungen auf einem Client-System durchgeführt werden können, das von dem System getrennt sein kann, auf dem das Datenbankverwaltungssystem ausgeführt wird. In diesem Fall können alle Berechnungen im Bezug auf Leistungsdaten der gespeicherten Prozedur als Teil einer grafischen Benutzerumgebung durchgeführt werden.
- Des Weiteren kann ein Computer oder ein Computersystem das Überwachungssystem zum Überwachen von gespeicherten Prozeduren aufweisen, die in einem Datenbankverwaltungssystem ausgeführt werden. Das Überwachungssystem kann außerdem als Komponente eines Datenbanksystems realisiert sein, das Teil eines Computersystems sein kann.
- Es sollte beachtet werden, dass Ausführungsformen die Form einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform oder einer Ausführungsform annehmen kann, die sowohl Hardware- als auch Softwareelemente enthält. Bei einer bevorzugten Ausführungsform ist die Erfindung als Software realisiert, wozu beispielsweise, ohne darauf beschränkt zu sein, Firmware, residente Software, Mikrocode usw. gehören.
- Bei einer weiteren Ausführungsform wird ein Datenverarbeitungsprogramm zur Ausführung in einem Datenverarbeitungssystem bereitgestellt, das Softwarecodeteile zum Durchführen des Verfahrens wie oben beschrieben aufweist, wenn das Programm auf einem Datenverarbeitungssystem ausgeführt wird. Das Datenverarbeitungssystem kann ein Computer oder ein Computersystem sein.
- Des Weiteren können Ausführungsformen die Form eines Computerprogrammprodukts annehmen, das von einem computernutzbaren oder computerlesbaren Medium aus zugänglich ist, das Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder einem beliebigen System zur Ausführung von Anweisungen bereitstellt. Zum Zweck der vorliegenden Beschreibung kann ein computernutzbares oder computerlesbares Medium eine beliebige Vorrichtung sein, die Mittel zum Speichern, Weitergeben, Verbreiten oder Transportieren des Programms enthalten kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zur Ausführung von Anweisungen genutzt werden kann.
- Das Medium kann ein elektrisches, magnetisches, optisches, elektromagnetisches System, ein Infrarot- oder ein Halbleitersystem eines Verbreitungsmediums sein. Zu Beispielen eines computerlesbaren Mediums können ein Halbleiter- oder Festkörperspeicher, ein Magnetband, eine austauschbare Computerdiskette, ein Direktzugriffspeicher (RAM), ein Nur-Lese-Speicher (ROM), eine magnetische Festplatte und eine optische Platte gehören. Zu aktuellen Beispielen optischer Platten gehören Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), einer wiederbeschreibbaren Compact Disc (CR-R/W), einer DVD und einer Blue-ray-Disc.
- Es sollte zudem beachtet werden, dass Ausführungsformen der Erfindung unter Bezugnahme auf unterschiedliche Patentschriftgegenstände beschrieben wurden. Insbesondere wurden einige Ausführungsformen unter Bezugnahme auf Ansprüche zur Art des Verfahrens beschrieben, während andere Ausführungsformen unter Bezugnahme auf Ansprüche zur Art der Vorrichtung beschrieben wurden. Ein Fachmann kann jedoch aus der obigen und der folgenden Beschreibung entnehmen, dass, sofern nicht anderweitig angegeben, außer beliebigen Kombinationen von Merkmalen, die zu einer Art von Patentgegenstand gehören, auch beliebige Kombinationen zwischen Merkmalen, die zu anderen Patentgegenständen gehören, insbesondere zwischen Merkmalen der Ansprüche zur Art des Verfahrens und Merkmalen der Ansprüche zur Art der Vorrichtung, als im vorliegenden Dokument offenbart anzusehen sind.
- Die oben definierten Aspekte und weitere Aspekte der vorliegenden Erfindung werden aus den hierin nachfolgend zu beschreibenden Beispielen deutlich und unter Bezugnahme auf die Beispiele von Ausführungsformen erläutert, auf die die Erfindung jedoch nicht beschränkt ist.
- Kurzbeschreibung der Zeichnungen
- Bevorzugte Ausführungsformen der Erfindung werden nun lediglich beispielhaft und unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
-
1 zeigt ein Blockschema einer Ausführungsform des Verfahrens zum Überwachen gespeicherter Prozeduren. -
2 zeigt ein Blockschema von Komponenten, die bei einer Ausführungsform des Verfahrens zum Überwachen gespeicherter Prozeduren erforderlich sind. -
3 zeigt ein Blockschema eines Ablaufplans einer Ausführungsform des „exakten Verfahrens”. -
4 zeigt ein Blockschema eines Ablaufplans für eine Ausführungsform eines Verfahrensteils, der im Back-End-System eines Datenbankverwaltungssystems durchzuführen ist. -
5 zeigt ein Beispiel eines Blockschemas eines Ablaufplans, der an einem Verarbeitungsende eines Datenbankverwaltungssystems ausgeführt werden muss, um das Verfahren zum Überwachen gespeicherter Prozeduren durchzuführen. -
6 zeigt ein Blockschema einer Ausführungsform des Überwachungssystems zum Überwachen gespeicherter Prozeduren. -
7 zeigt ein Blockschema eines Computersystems, das das Überwachungssystem gemäß einer Ausführungsform aufweist. - Ausführliche Beschreibung beispielhafter Ausführungsformen
- Im Folgenden wird eine ausführliche Beschreibung der Figuren gegeben. Alle Darstellungen in den Figuren sind schematisch. Zunächst wird ein Blockschema einer Ausführungsform des Verfahrens zum Überwachen gespeicherter Prozeduren beschrieben. Danach werden Ausführungsformen des Verfahrens und ein Überwachungssystem für gespeicherte Prozeduren beschrieben.
-
1 zeigt ein Blockschema100 einer Ausführungsform des Verfahrens zum Überwachen gespeicherter Prozeduren. Das Verfahren kann für eine der gespeicherten Prozeduren das Bereitstellen102 der folgenden Ereignisdaten zusammen mit einer Kennzeichnung der gespeicherten Prozedur aufweisen: eine ersten Zeitpunkt, der einen Beginn einer Ausführung der gespeicherten Prozedur anzeigt; einen zweiten Zeitpunkt, der ein Ende einer Ausführung der gespeicherten Prozedur anzeigt; mindestens eine SQL-Anweisungskennung, die einer SQL-Anweisung zugewiesen ist, die als Teil der gespeicherten Prozedur ausgeführt wird; und für jede SQL-Anweisungskennung einen Zähler, der die Anzahl von Ausführungen anzeigt, die angibt, wie oft zugehörige SQL-Anweisungen zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt wurden. Des Weiteren kann das Verfahren das Bereitstellen104 regelmäßiger Datenbanküberwachungsinformationen, insbesondere von globalen Momentaufnahmedaten, durch das Datenbankverwaltungssystem aufweisen, wobei die regelmäßigen Datenbanküberwachungsinformationen Werte von Parametern ausgeführter SQL-Anweisungen aufweisen können, die anhand der SQL-Anweisungskennung erkennbar sind. Anzumerken ist, dass insbesondere alle Anweisungen einer bestimmten Art, z. B. eine bestimmte Leseanweisung, die unter Umständen innerhalb und außerhalb der gespeicherten Prozedur ausgeführt worden sein kann, anhand einer eindeutigen SQL-Anweisungskennung erkennbar sein kann. - Des Weiteren kann das Verfahren das Korrelieren
106 von Werten, insbesondere von Durchschnittswerten, von Parametern ausgeführter SQL-Anweisungen, die anhand der SQL-Anweisungskennung erkennbar sind, mit dem Zähler der Anzahl von Ausführungen aufweisen, der angibt, wie oft die zugehörige SQL-Anweisung zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt worden sein kann. Dies kann zu Überwachungsdaten für die gespeicherte Prozedur führen, die anhand der Kennzeichnung der gespeicherten Prozedur erkennbar ist. Das bedeutet, dass Überwachungsdaten für die gespeicherte Prozedur aus den Informationen mit der durchschnittlichen Ausführungszeit der betreffenden SQL-Anweisungen abgeleitet werden können. -
2 zeigt ein Blockschema200 von Komponenten, die bei einer Ausführungsform des Verfahrens zum Überwachen gespeicherter Prozeduren erforderlich sind. In einem Datenbankverwaltungssystem202 können gespeicherte Prozeduren208 ausgeführt werden. Die gespeicherten Prozeduren208 können in einer Bibliothek210 gespeicherter Prozeduren gespeichert und verwaltet werden. Ein Überwachungsdaten-Erfassungssystem einer Datenbankverwaltung kann durch die Bezugsziffer204 dargestellt werden. Eine Benutzeroberfläche oder ein Benutzersystem206 können zur Verfügung stehen, um einem Datenbankadministrator Überwachungsagenten bereitzustellen. Anzumerken ist, dass2 horizontal in zwei Hälften unterteilt ist. Die obere Hälfte230 kann ein Verarbeitungsende darstellen, während die untere Hälfte232 von2 ein Back-End darstellen kann. Das Back-End steht mehr im Zusammenhang mit der physischen Speicherung von Daten, während das Verarbeitungsende unter Umständen mehr mit der Steuerung von Informationsflüssen bezüglich des Überwachungssystems im Zusammenhang steht. Das Erfassungssystem204 der Datenbankverwaltung kann Momentaufnahmedaten – d. h. regelmäßige Datenbankoberwachungsinformationen – von der Datenbank202 anfordern218 . Eine derartige Momentaufnahme kann in einen Momentaufnahmedaten-Puffer214 geschrieben212 werden. Der Datenflusspfeil216 kann einen Lesevorgang von Momentaufnahmedaten aus dem Momentaufnahmedaten-Puffer214 in das Überwachungsdaten-Erfassungssystem204 der Datenbankverwaltung darstellen. Andererseits kann das Überwachungsdaten-Erfassungssystem204 der Datenbankverwaltung wie oben angegeben Ereignisdaten anfordern226 . Diese Ereignisdaten können in einen Ereignisdatenpuffer222 geschrieben werden220 . Der Datenflusspfeil224 kann einen Lesevorgang von Ereignisdaten aus dem Datenpuffer222 in das Überwachungsdaten-Erfassungssystem204 der Datenbankverwaltung darstellen. - Beispielsweise können die Momentaufnahmedaten aus dem Momentaufnahmedaten-Puffer
214 Ausführungszeiten für eine bestimmte SQL-Anweisung aufweisen, die anhand einer bestimmten SQL-Anweisungskennung erkennbar ist. Eine derartige bestimmte SQL-Anweisung kann für bestimmte Daten aus der Datenbank gelesen werden, z. B. alle Transaktionen innerhalb eines Kontos zwischen bestimmten Datumsangaben. Die Ereignisdaten andererseits, die im Ereignisdatenpuffer222 gespeichert sind, können insbesondere einen Startzeitpunkt einer gespeicherten Prozedur, einen Endzeitpunkt einer gespeicherten Prozedur und mindestens einen Zähler zum Zählen der Anzahl von Ausführungen der betreffenden SQL-Anweisung als Teil der gespeicherten Prozedur aufweisen. - Die Überwachungsdaten-Erfassungseinheit
204 der Datenbankverwaltung kann außerdem die Momentaufnahmedaten des Momentaufnahmedaten-Puffers mit den Ereignisdaten aus dem Ereignisdatenpuffer kombinieren und/oder korrelieren, um die erforderlichen Berechnungen, insbesondere die Multiplikation der Zeiten und Anzahl von Ausführungen vorzunehmen. Die Ergebnisse können an eine Benutzeroberfläche, insbesondere an eine grafische Benutzeroberfläche, gesendet228 werden, auf der die Überwachungsdaten einem Datenbankadministrator angezeigt werden können. -
3 kann ein Blockschema eines Ablaufplans einer Ausführungsform des „exakten Verfahrens” zeigen. Falls eine Überwachung gespeicherter Prozeduren aktiviert ist, können die folgenden Anweisungen gemäß dem Ablaufplan300 ausgeführt werden. Bei302 kann aus dem Datenbankverwaltungssystem heraus ein „Ereignisdaten anfordern” für gespeicherte Prozeduren ausgelöst werden. Als Nächstes304 können die durch das Datenbankverwaltungssystem bereitgestellten Ereignisdaten gelesen werden. Bei306 kann geprüft werden, ob neue Ereignisdaten zu dieser bestimmten gespeicherten Prozedur verfügbar sein können. Falls die Antwort „Nein” lautet, kann die Prüfung in einer Schleife wiederholt werden. Falls die Antwort „Ja” lauten kann, kann geprüft werden308 , ob Ereignisdaten vorliegen können. Falls es sich um einen Aufruf „SP beginnen” (SP = Stored Procedure, gespeicherte Prozedur) handelt, kann aus dem Datenbankverwaltungssystem heraus eine Anforderung gefilterter „Globale Momentaufnahmedaten starten” ausgegeben werden310 . Danach kann die Ausführung zur Schleifenprüfung auf neue Ereignisdaten zu dieser gespeicherten Prozedur zurückkehren. Falls es sich bei dem Ereignis um einen Aufruf „SP beenden” handeln kann, können aus dem Datenbankverwaltungssystem heraus gefilterte globale Momentaufnahmedaten ausgelöst werden312 . Danach,316 , können Ereignisdaten über überwachte SQL-Anweisungen aus dem Datenbankverwaltungssystem gelesen werden316 . Schließlich können die Ereignisdaten der betreffenden gespeicherten Prozedur und Momentaufnahmedaten verarbeitet werden318 . Die Art und Weise der Verarbeitung wurde bereits oben erörtert. - Falls während der Prüfung darauf, welche Art von Ereignis vorliegt
308 , das Ergebnis darin bestehen kann, dass eine SQL-Anweisung überwacht werden muss, können die überwachten Informationen gespeichert werden314 . Danach kehrt die Ausführung zur Schleifenprüfung zurück, um zu prüfen, ob neue Ereignisdaten zu der betreffenden gespeicherten Prozedur verfügbar sein können. - Im Vergleich zum „exakten Verfahren” aus
3 , betreffen4 und5 ein „kostengünstiges Verfahren”.4 kann die Schritte400 betreffen, die im Back-End ausgeführt werden können (2 ,232 ). Falls eine Überwachung gespeicherter Prozeduren eingeschaltet ist, können Ereignisdaten, die durch das Datenbankverwaltungssystem bereitgestellt werden, kontinuierlich überwacht werden402 . Danach kann eine Prüfung vorgenommen werden, welche Art von Ereignisdaten vorliegen können404 . Falls es sich um einen „Beginn-Aufruf” zu einer gespeicherten Prozedur handelt, kann „Daten der gespeicherten Prozedur starten” ausgeführt werden406 . Danach kann die Ausführung zu Schritt402 zurückkehren. Falls die Prüfung404 zu der Tatsache führen kann, dass ein SP-beenden-Aufruf vorliegen kann, kann eine Prüfung vorgenommen werden, ob der SP-beenden-Aufruf von einer „übergeordneten” gespeicherten Prozedur stammt412 . Falls Aufrufe gespeicherter Prozeduren innerhalb einer gespeicherten Prozedur als „normale” SQL-Anweisung verarbeitet werden können, kann das erörterte Verfahren auch bei verschachtelten gespeicherten Prozeduren funktionieren. Dies sollte bei einer Ausführungsform der Fall sein. Dann kann außerdem eine SP-Kennung anstelle der SQL-Anweisungskennung erforderlich sein. Nach dem Schritt412 können die Ereignisdaten der gespeicherten Prozeduren verarbeitet und gespeichert werden414 . Falls in Schritt404 das Ergebnis darin besteht, dass SQL-Anweisungen überwacht werden müssen, kann Schritt410 durchgeführt werden. Hier können Daten überwachter gespeicherter Prozeduren verarbeitet werden, insbesondere kann bei SQL-Anweisungen gezählt werden, wie oft sie ausgeführt wurden. Nach dem Schritt410 kann die Ausführung mit dem Schritt402 ab dem Beginn fortgesetzt werden. -
5 – die eine Fortsetzung des Ablaufplans400 aus4 darstellen kann – zeigt ein Beispiel eines Blockschemas eines Ablaufplans, der an einem Verarbeitungsende eines Datenbankverwaltungssystems ausgeführt werden muss, um das Verfahren zum Überwachen gespeicherter Prozeduren durchzuführen. Die in5 gezeigten Ausführungsschritte können das Verarbeitungsende (2 ,230 ) betreffen. Als Erstes kann geprüft werden, ob Überwachungsdaten gespeicherter Prozeduren angezeigt werden können502 . Falls die Antwort „Ja” lautet, können globale Überwachungsdaten angefordert werden, Schritt504 . Außerdem, können gespeicherte Ereignisdaten der betreffenden gespeicherten Prozedur abgerufen werden,506 . Des Weiteren können in Schritt508 die abgerufenen Ereignisdaten unter Verwendung statistischer Daten überwachter SQL-Anweisungen mit globalen Momentaufnahmedaten korreliert werden. Die Art und Weise der Korrelierung wurde bereits oben erörtert. Anschließend können in Schritt510 die Überwachungsdaten dieser bestimmten gespeicherten Prozedur in einer Benutzeroberfläche angezeigt werden. Danach kann eine Prüfung, Schritt512 , durchgeführt werden, ob eine weitere gespeicherte Prozedur analysiert werden kann. Falls die Antwort „Ja” lautet, kann die Ausführung mit Schritt506 fortgesetzt werden, um gespeicherte Ereignisdaten zu dieser weiteren gespeicherten Prozedur abzurufen. Falls keine nächste gespeicherte Prozedur analysiert werden kann, kann die Ausführung dieser Schritte enden, Schritt514 . -
6 kann ein Blockschema einer Ausführungsform des Überwachungssystems zum Überwachen gespeicherter Prozeduren zeigen. Das Überwachungssystem600 kann eine erste Überwachungseinheit602 aufweisen, die so gestaltet ist, dass zu einer der gespeicherten Prozeduren die folgenden Ereignisdaten zusammen mit einer Kennzeichnung der gespeicherten Prozedur bereitgestellt werden: ein erster Zeitpunkt, der einen Beginn einer Ausführung der gespeicherten Prozedur anzeigt; ein zweiter Zeitpunkt, der ein Ende einer Ausführung der gespeicherten Prozedur anzeigt; mindestens eine SQL-Anweisungskennung, die einer SQL-Anweisung zugewiesen ist, die als Teil der gespeicherten Prozedur ausgeführt wird; und für jede SQL-Anweisungskennung einen Zähler, der die Anzahl von Ausführungen anzeigt, die angibt, wie oft die zugehörige SQL-Anweisung zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt wurde. - Zusätzlich kann das Überwachungssystem
600 eine zweite Bereitstellungseinheit604 aufweisen, die so gestaltet ist, dass durch das Datenbankverwaltungssystem regelmäßige Datenbanküberwachungsinformationen, insbesondere Momentaufnahmedaten, bereitgestellt werden. Dadurch können die regelmäßigen Datenbanküberwachungsinformationen Werte von Parametern ausgeführter SQL-Anweisungen aufweisen, die anhand der SQL-Anweisungskennung erkennbar sind. - Des Weiteren kann das Überwachungssystem
600 eine Korrelierungseinheit606 aufweisen, die so gestaltet ist, dass Werte von Parametern ausgeführter SQL-Anweisungen, die anhand der SQL-Anweisungskennung erkennbar sind, mit einem Zähler der Anzahl von Ausführungen korreliert werden, der angibt, wie oft die zugehörige SQL-Anweisung zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt wurde. Dies kann zu Überwachungsdaten für die gespeicherte Prozedur führen, die anhand der Kennzeichnung der gespeicherten Prozedur erkennbar ist. - Ausführungsformen der Erfindung können unabhängig von der verwendeten Plattform auf praktisch jeder Art von Computer realisiert werden, die zum Speichern und/oder Ausführen von Programmcode geeignet ist. Beispielsweise kann, wie in
7 gezeigt, ein Computersystem700 einen oder mehrere Prozessoren702 mit einem oder mehreren Kernen je Prozessor, zugehörige Speicherelemente704 , eine interne Speichereinheit706 (z. B. eine Festplatte, ein optisches Laufwerk wie zum Beispiel ein Compact-Disc-Laufwerk oder ein DVD-Laufwerk (DVD = Digital Video Disc), einen Flash-Speicherstick usw.) und verschiedene andere Elemente und Funktionalitäten aufweisen, die typisch für heutige Computer sind (nicht gezeigt). Zu den Speicherelementen704 können ein Hauptspeicher, z. B. ein Direktzugriffsspeicher (RAM), der während der eigentlichen Ausführung des Programmcodes genutzt wird, und ein Cache-Speicher gehören, der eine zeitweilige Speicherung für mindestens einen Teil des Programmcodes und/oder der Daten bereitstellt, um die zur Ausführung nötige Anzahl der Code- und/oder Datenabrufe von einem Langzeitspeichermedium oder externen Massenspeicher zu verringern. Elemente innerhalb des Computers700 können mithilfe eines Bussystems718 mit entsprechenden Adaptern miteinander verknüpft sein. Außerdem kann ein Datenbankverwaltungssystem720 , das das Überwachungssystem600 (siehe auch6 ,600 ) aufweist, an den Systembus718 angeschlossen sein. Die Datenbankverwaltungssysteme können darüber hinaus direkt mit der einen oder den mehreren Festplatten706 verknüpft sein, wie durch den Doppelpfeil in7 angezeigt. - Das Computersystem
700 kann außerdem Eingabemittel wie zum Beispiel eine Tastatur708 , eine Maus710 oder ein Mikrofon (nicht gezeigt) aufweisen. Darüber hinaus kann der Computer700 Ausgabemittel wie zum Beispiel einen Monitor712 [z. B. einen Monitor mit einer Flüssigkristallanzeige (LCD), einer Plasmaanzeige, einer Leuchtdiodenanzeige (LED) oder einer Kathodenstrahlröhre (Cathode Ray Tube, CRT)] aufweisen. Das Computersystem700 kann über eine Netzwerkschnittstellenverbindung714 mit einem Netzwerk verbunden sein, z. B. mit einem lokalen Netzwerk (LAN), mit einem Weitverkehrsnetzwerk (WAN) wie zum Beispiel dem Internet oder einer beliebigen weiteren ähnlichen Art von Netzwerk einschließlich drahtloser Netzwerke. Dies kann eine Verbindung mit anderen Computersystemen oder mit einem Speichernetzwerk oder einem Bandlaufwerk ermöglichen. Für den Fachmann wird klar sein, dass viele andere Arten von Computersystemen bestehen und die oben genannten Eingabe- und Ausgabemittel andere Formen annehmen können. Allgemein ausgedrückt kann das Computersystem700 zumindest die minimalen Verarbeitungs-, Eingabe- und/oder Ausgabemittel aufweisen, die zur praktischen Umsetzung der Erfindung nötig sind. - Ferner wird dem Fachmann klar sein, dass sich ein oder mehrere Elemente des oben erwähnten Computersystems
700 an einem entfernt angeordneten Standort befinden und über ein Netzwerk mit den anderen Elementen verbunden sein können. Ferner können Ausführungsformen der Erfindung auf einem verteilten System realisiert sein, das eine Vielzahl von Knoten aufweist, wobei sich jeder Teil der Erfindung auf einem anderen Knoten innerhalb des verteilten Systems befinden kann. Bei einer Ausführungsform der Erfindung entspricht der Knoten einem Computersystem. Alternativ kann der Knoten einem Prozessor mit einem zugehörigen physischen Speicher entsprechen. Der Knoten kann alternativ einem Prozessor mit gemeinsam genutztem Speicher und/oder gemeinsam genutzten Ressourcen oder einem Smartphone entsprechen. - Ferner können Softwareanweisungen zur Durchführung von Ausführungsformen der Erfindung auf einem computerlesbaren Medium wie zum Beispiel auf einer Compact Disc (CD), auf einer Diskette, auf einem Band oder auf einer beliebigen anderen computerlesbaren Speichereinheit gespeichert sein.
- Obwohl die Erfindung unter Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, wird dem Fachmann, der von der Offenbarung profitiert, klar sein, dass andere Ausführungsformen vorgesehen werden können, die nicht vom hierin offenbarten Schutzbereich der Erfindung abweichen. Dementsprechend sollte der Schutzbereich der Erfindung nur durch die beigefügten Ansprüche begrenzt sein.
- Zudem sollte beachtet werden, dass der Begriff „aufweisen/aufweisend” andere Elemente oder Schritte nicht ausschließt und „ein” oder „eine” eine Vielzahl nicht ausschließt. Andererseits kann der Begriff „aufweisen/aufweisend” auch den Fall „bestehen aus/bestehend aus” einschließen. Außerdem können Elemente, die in Verbindung mit unterschiedlichen Ausführungsformen beschrieben sind, kombiniert werden. Außerdem sollte beachtet werden, dass Bezugszeichen in den Ansprüchen nicht als einschränkende Elemente ausgelegt werden sollten.
Claims (14)
- Verfahren (
100 ) zum Überwachen gespeicherter Prozeduren, die in einem Datenbankverwaltungssystem ausgeführt werden, wobei das Verfahren aufweist: – für eine der gespeicherten Prozeduren Bereitstellen (102 ) der folgenden Ereignisdaten zusammen mit einer Kennzeichnung der gespeicherten Prozedur: – einen ersten Zeitpunkt, der einen Beginn einer Ausführung der gespeicherten Prozedur anzeigt, – einen zweiten Zeitpunkt, der ein Ende einer Ausführung der gespeicherten Prozedur anzeigt, – mindestens eine SQL-Anweisungskennung, die einer SQL-Anweisung zugewiesen ist, die als Teil der gespeicherten Prozedur ausgeführt wird, und – für jede SQL-Anweisungskennung einen Zähler, der die Anzahl von Ausführungen anzeigt, die angibt, wie oft die zugehörige SQL-Anweisung zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt wurde, – Bereitstellen (104 ) regelmäßiger Datenbanküberwachungsinformationen durch das Datenbankverwaltungssystem, wobei die regelmäßigen Datenbanküberwachungsinformationen Werte von Parametern ausgeführter SQL-Anweisungen aufweisen, die anhand der SQL-Anweisungskennung erkennbar sind, – Korrelieren von Werten von Parametern für ausgeführte SQL-Anweisungen, die anhand der SQL-Anweisungskennung erkennbar sind, mit dem Zähler der Anzahl von Ausführungen der zugehörigen SQL-Anweisung, die zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt wurden, was zu Überwachungsdaten für die gespeicherte Prozedur führt, die anhand der Kennzeichnung der gespeicherten Prozedur erkennbar ist. - Verfahren nach Anspruch 1, wobei das Verfahren zusätzlich ein Berechnen durchschnittlicher Parameterwerte für zumindest einen Parameter aufweist, wobei die Werte des mindestens einen Parameters verwendet werden.
- Verfahren nach Anspruch 2, wobei das Korrelieren (
106 ) einem Multiplizieren des durchschnittlichen Parameterwertes des mindestens einen Parameters mit der Anzahl von Ausführungen der gekennzeichneten SQL-Anweisung entspricht, wobei die SQL-Anweisungskennung, die die SQL-Anweisung mit dem durchschnittlichen Parameterwert darstellt, gleich der SQL-Anweisungskennung ist, die im Zusammenhang mit der Anzahl von Ausführungen steht. - Verfahren nach Anspruch 1, wobei die regelmäßigen Datenbanküberwachungsinformationen nur Werte von Parametern im Zusammenhang mit ausgeführten SQL-Anweisungen aufweisen, die durch die SQL-Anweisungskennung bei denjenigen SQL-Anweisungen erkennbar sind, die als Teil der gespeicherten Prozedur ausgeführt wurden.
- Verfahren nach einem beliebigen der vorhergehenden Ansprüche, wobei jeder der Parameter von ausgeführten SQL-Anweisungen mindestens einer ist aus der Gruppe, ausgewählt aus einer Anzahl von Ausführungen, einer Anzahl überprüfter Zeilen, einer Anzahl verarbeiteter Zeilen, einer Anzahl von Indexdurchsuchungen, einer Anzahl von Tabellenbereichsdurchsuchungen, einer Anzahl von Pufferschreibvorgängen, einer kumulierten Datenbankzeit, einer kumulierten Prozessorzeit, einer kumulierten Zeit für Sperrungen und einer kumulierten Wartezeit.
- Verfahren nach einem beliebigen der vorhergehenden Ansprüche, wobei ein erster Puffer (
214 ) zum Speichern der regelmäßigen Datenbanküberwachungsinformationen und ein zweiter Puffer (222 ) zum Speichern der Ereignisdaten unabhängig voneinander betrieben werden. - Verfahren nach einem beliebigen der Ansprüche 1 bis 4, wobei ein kombinierter Puffer zum Speichern der regelmäßigen Datenbanküberwachungsinformationen und der Ereignisdaten verwendet wird.
- Verfahren nach einem beliebigen der vorhergehenden Ansprüche, wobei das Verfahren zusätzlich ein Bereitstellen einer ersten Schnittstelle aufweist, um die Überwachungsdaten der gespeicherten Prozedur einem System (
206 ) außerhalb eines Datenbankservers zugänglich zu machen, auf dem das Datenbankverwaltungssystem ausgeführt wird. - Verfahren nach einem beliebigen der vorhergehenden Ansprüche, wobei zusätzlich eine zweite Schnittstelle bereitgestellt wird, um die Ereignisdaten und die regelmäßigen Datenbanküberwachungsinformationen einem System außerhalb eines Datenbankservers zugänglich zu machen, auf dem das Datenbankverwaltungssystem ausgeführt wird.
- Überwachungssystem (
600 ) zum Überwachen gespeicherter Prozeduren, die in einem Datenbankverwaltungssystem (202 ,720 ) ausgeführt werden, wobei das Überwachungssystem aufweist: – eine erste Bereitstellungseinheit (602 ), die so gestaltet ist, dass zu einer der gespeicherten Prozeduren die folgenden Ereignisdaten zusammen mit einer Kennzeichnung der gespeicherten Prozedur bereitgestellt werden: – ein erster Zeitpunkt, der einen Beginn einer Ausführung der gespeicherten Prozedur anzeigt, – ein zweiter Zeitpunkt, der ein Ende einer Ausführung der gespeicherten Prozedur anzeigt, – mindestens eine SQL-Anweisungskennung, die einer SQL-Anweisung zugewiesen ist, die als Teil der gespeicherten Prozedur ausgeführt wird, und – für jede SQL-Anweisungskennung einen Zähler, der die Anzahl von Ausführungen anzeigt, die angibt, wie oft die zugehörige SQL-Anweisung zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt wurde, – eine zweite Bereitstellungseinheit (604 ), die so gestaltet ist, dass regelmäßige Datenbanküberwachungsinformationen durch das Datenbankverwaltungssystem bereitgestellt werden, wobei die regelmäßigen Datenbanküberwachungsinformationen Werte von Parametern ausgeführter SQL-Anweisungen aufweisen, die anhand der SQL-Anweisungskennung erkennbar sind, – eine Korrelierungseinheit (606 ), die so gestaltet ist, dass Werte von Parametern für ausgeführte SQL-Anweisungen, die anhand der SQL-Anweisungskennung erkennbar sind, mit dem Zähler der Anzahl von Ausführungen der zugehörigen SQL-Anweisung korreliert werden, die zwischen dem ersten Zeitpunkt und dem zweiten Zeitpunkt als Teil der gespeicherten Prozedur ausgeführt wurden, was zu Überwachungsdaten für die gespeicherte Prozedur führt, die anhand der Kennzeichnung der gespeicherten Prozedur erkennbar ist. - Datenbanksystem (
202 ,720 ), das das Überwachungssystem (600 ) gemäß Anspruch 10 aufweist. - Computersystem (
700 ), das das Überwachungssystem (600 ) gemäß Anspruch 10 aufweist. - Datenverarbeitungsprogramm zur Ausführung in einem Datenverarbeitungssystem (
700 ), das Softwarecodeteile zum Durchführen eines Verfahrens (100 ) nach einem beliebigen der vorhergehenden Ansprüche 1 bis 9 aufweist, wobei das Programm auf einem Datenverarbeitungssystem (700 ) ausgeführt wird. - Auf einem computernutzbaren Medium gespeichertes Computerprogrammprodukt, das computerlesbare Programmmittel aufweist, um einen Computer (
700 ) zu veranlassen, das Verfahren (100 ) nach einem beliebigen der Ansprüche 1 bis 9 durchzuführen, wenn das Programm auf dem Computer (700 ) ausgeführt wird.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11183909 | 2011-10-05 | ||
EP11183909.8 | 2011-10-05 | ||
PCT/IB2012/055152 WO2013050909A1 (en) | 2011-10-05 | 2012-09-27 | Monitoring stored procedure execution |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112012004169T5 true DE112012004169T5 (de) | 2014-06-26 |
Family
ID=48042803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112012004169.0T Pending DE112012004169T5 (de) | 2011-10-05 | 2012-09-27 | Überwachen der Ausführung von gespeicherten Prozeduren |
Country Status (5)
Country | Link |
---|---|
US (1) | US8984023B2 (de) |
CN (1) | CN103842973B (de) |
DE (1) | DE112012004169T5 (de) |
GB (1) | GB2509263B (de) |
WO (1) | WO2013050909A1 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682005A (zh) | 2015-11-05 | 2017-05-17 | 华为技术有限公司 | 一种确定数据库热页面的方法及装置 |
CN105550206B (zh) * | 2015-12-01 | 2019-10-29 | 珠海多玩信息技术有限公司 | 结构化查询语句的版本控制方法及装置 |
CN108628909B (zh) * | 2017-03-24 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 信息推送方法和装置 |
US10686867B2 (en) * | 2017-05-12 | 2020-06-16 | Guavus, Inc. | Scaled in-order record input ingestion for file-based streams in multi-threaded environments |
CN107368283B (zh) * | 2017-07-21 | 2020-07-03 | 郑州大学 | 一种真随机数生成方法 |
CN113760872A (zh) * | 2020-09-02 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 数据库监控方法及装置、计算机可读存储介质 |
CN112632183B (zh) * | 2020-12-11 | 2023-07-11 | 广东电力通信科技有限公司 | 一种基于电网网络分区数据表准实时同步方法及系统 |
US12105726B2 (en) * | 2022-04-11 | 2024-10-01 | United Parcel Service Of America, Inc. | Asynchronous document charts |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020016814A1 (en) * | 2000-08-07 | 2002-02-07 | International Business Machines Corporation | Method, system, and program for invoking stored procedures and accessing stored procedure data |
US6845392B2 (en) * | 2000-12-07 | 2005-01-18 | International Business Machines Corporation | Remote systems management via DBMS stored procedures and one communication line |
US7340650B2 (en) | 2002-10-30 | 2008-03-04 | Jp Morgan Chase & Co. | Method to measure stored procedure execution statistics |
US7447676B2 (en) * | 2003-04-21 | 2008-11-04 | Oracle International Corporation | Method and system of collecting execution statistics of query statements |
TWI240860B (en) * | 2004-01-16 | 2005-10-01 | Chunghwa Telecom Co Ltd | Database monitoring and automatic problems reporting system |
US7809694B2 (en) * | 2005-03-15 | 2010-10-05 | International Business Machines Corporation | Analysis of performance data from a relational database system for applications using stored procedures or SQL |
US7853585B2 (en) * | 2005-03-17 | 2010-12-14 | International Business Machines Corporation | Monitoring performance of a data processing system |
US20070282837A1 (en) * | 2006-05-31 | 2007-12-06 | International Business Machines Corporation | Measuring the Performance of Database Stored Procedures in a Multi-Tasking Execution Environment |
US8260761B2 (en) * | 2006-10-20 | 2012-09-04 | Ianywhere Solutions, Inc. | Detecting performance degrading design and algorithm issues in database applications |
US8015454B1 (en) * | 2008-06-02 | 2011-09-06 | Quest Software, Inc. | Computer systems and methods for predictive performance management of data transactions |
WO2012011915A1 (en) * | 2010-07-22 | 2012-01-26 | Hewlett-Packard Development Company, L.P. | Sql enumerator |
-
2012
- 2012-09-27 GB GB1404251.9A patent/GB2509263B/en active Active
- 2012-09-27 CN CN201280048469.1A patent/CN103842973B/zh not_active Expired - Fee Related
- 2012-09-27 WO PCT/IB2012/055152 patent/WO2013050909A1/en active Application Filing
- 2012-09-27 DE DE112012004169.0T patent/DE112012004169T5/de active Pending
- 2012-10-05 US US13/645,657 patent/US8984023B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103842973B (zh) | 2016-05-18 |
GB2509263B (en) | 2014-07-30 |
GB201404251D0 (en) | 2014-04-23 |
US8984023B2 (en) | 2015-03-17 |
WO2013050909A1 (en) | 2013-04-11 |
CN103842973A (zh) | 2014-06-04 |
US20130091181A1 (en) | 2013-04-11 |
GB2509263A (en) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012004169T5 (de) | Überwachen der Ausführung von gespeicherten Prozeduren | |
DE202015009777U1 (de) | Transparente Entdeckung eines semistrukturierten Datenschemas | |
DE112017006806T5 (de) | Datenflussverzögerungen in einer daten-streaming-anwendung verringern | |
DE112016005350T5 (de) | Speichern und abrufen von daten eines datenwürfels | |
DE202016005239U1 (de) | Graph-basierte Abfragen | |
DE202012013427U1 (de) | Verknüpfung von Tabellen in einem MapReduce-Verfahren | |
DE202011110124U1 (de) | Hybridabfrageausführungsplan | |
DE112010004284T5 (de) | Verfahren und System zum Verwalten von Sicherheitsobjekten | |
DE112017006106T5 (de) | Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten | |
DE10300545B4 (de) | Vorrichtung, Verfahren, Speichermedium und Datenstruktur zur Kennzeichnung und Speicherung von Daten | |
DE112010004014T5 (de) | Kompensation unausgeglichener Hierarchien beim Erzeugen von Olap-Abfragen aus Berichtsspezifikationen | |
DE202012013462U1 (de) | Datenverarbeitung in einem Mapreduce-Framework | |
DE102014204827A1 (de) | Auflösen ähnlicher Entitäten aus einer Transaktionsdatenbank | |
DE102013215530A1 (de) | Detecting Multi-Column Composite Key Column Sets | |
DE102013200159A1 (de) | Management von Sicherheitsrichtlinien unter Verwendung einer Störungsanalyse | |
DE112019001480T5 (de) | Automatisches Optimieren der Ressourcennutzung in einemZieldatenbankverwaltungssystem zum Erhöhen der Arbeitslastleistung | |
DE112012004331T5 (de) | Verwenden der Stärke von Rückverfolgbarkeitsverknüpfungen zum Überwachen der Software-Entwicklungsintegrität | |
DE112020000227T5 (de) | Maschinelles lernen eines computermodells auf grundlage von korrelationenvon trainingsdaten mit leistungstrends | |
DE112021000338B4 (de) | Auslagern der statistikerfassung | |
DE102014116367A1 (de) | Verwaltung von leistungsstufen von informationstechnologiesystemen | |
DE202017107393U1 (de) | Vorhersagen eines Suchmaschinen-Einordnungssignalwerts | |
DE112013000713T5 (de) | Verfolgen von Änderungen in Zusammenhang mit einer Sammlung von Dokumenten | |
DE112012000280T5 (de) | Organisation von Tabellen mit reduzierten Indizes | |
DE112021002883T5 (de) | Automatisierte rückmeldung und kontinuierliches lernen zur abfrageoptimierung | |
DE112018001290T5 (de) | Verfahren zum Schätzen der Löschbarkeit von Datenobjekten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: LIFETECH IP SPIES DANNER & PARTNER, PATENTANWA, DE Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0012000000 Ipc: G06F0017300000 |
|
R082 | Change of representative |
Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE |
|
R082 | Change of representative |
Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE |
|
R082 | Change of representative |
Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0017300000 Ipc: G06F0016000000 |
|
R002 | Refusal decision in examination/registration proceedings |