CX_DB_UTILITY
Klassenhierarchie
- CX_CLASS
- CX_DB_UTILITY
Beschreibung:
Dieses Tool-Objekt stellt Funktionen zur Manipulation von Objekten in der Datenbank bereit. Im Abgrenzung zu den Funktionen der Objektmanagers sind die Dienste des Database Utility Objekts als Hilfsmittel zur Fehleranalyse und Reparatur gedacht - nicht als Bestandteil von Anwendungen.
Die Funktionen besitzen alle ein Interface zu InstantView®, d.h. man kann sich mit InstantView® schnell die für ein bestimmtes Problem passenden Werkzeuge zusammenstellen.
Viele Funktionen identifizieren ein bestimmtes Objekt über seine Location in der Datenbank, die bei ObjectStore Version < 6.0 aus dem Tripel { Datenbank, Segment, Offset } und ab ObjectStore 6.0 aus dem Quintupel { Datenbank, Segment, Cluster, Offset, Mapping Granularity } besteht.
Die (physische) Datenbank wird bei ObjectStore durch den vollständigen Pfad (als Zeichenkette) angegeben: lange Form der Location.
Im ClassiX®-System kann die physische Datenbank mit { 0, 1 ... } codiert angegeben werde: Kurzform der Location. Alle Funktionen erkennen Kurzformen und konvertieren sie automatisch in die entsprechende Langform. Beispiele:
ObjectStore < 6.0 | ObjectStore >= 6.0 | |
---|---|---|
lang | /y:/classix/path/to/database.cxd | 72 | b908> | /y:/classix/path/to/database.cxd |72|2c|a08|1000> |
kurz | <0 | 72 | b908> | <0|72|2c|a08|1000> |
Einige Funktionen analysieren den Output von Programmen zur Datenbankwartung:
Programm | Funktionen des CX_DB_UTILITY-Objekts |
---|---|
osverifydb.exe | ImportVerifyDBLog |
cxaosr.exe -A (Datenbankanalyse) | GetCorruptObjectsEx, GetCorruptObjectsSel, GetCorruptObjectsLoc |
cxcosr.exe -1 (Prüfsumme 1) | GetOrphans |
cxcosr.exe -1 (Prüfsumme 2) | GetObjectsWithChecksumDifference |
cxlosr.exe (Laden -> das Gateway-File) | GetObjectInNewDatabase |
Code-Beispiel:
// get CX_DB_UTILITY object Var(dbUtil) GetManager(OBJECT) Call(GetDBUtility) -> dbUtil
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
AffiliateDB | INTEGER, INTEGER | Cross-Databasepointer von einer Datenbank in eine andere erlauben | ||
AnalyzeObject | OBJECT | STRING | Objekt testen | |
BackptrCount | OBJECT | INTEGER | Mit wie vielen Indizes ist dieses Objekt verbunden? | |
CheckSum | OBJECT | VECTOR | Check-Summe berechnen | |
CheckVerificationResults | STRING | STRING | überprüfen eines Verifikations-Resultat | |
CleanseFrame | OBJECT | dynamischen Datenfelder aufgeben | ||
ClearBackptr | OBJECT | Verbindungen von diesem Objekt zu all seinen Indizes kappen | ||
ClearCollection | OBJECT, STRING | alle Elemente aus der Kollektion entfernen | ||
ClearPointer | DATABASE, STRING, STRING, STRING, INTEGER | Einen Pointer auf NULL setzen | ||
CollectionTypeInfo | OBJECT, STRING | VECTOR | Rückgabe: Typnamen aller Elemente der Kollektion | |
DBDumpFile | OBJECT | Rückgabe: CX_DB_DUMP_FILE | ||
DeregisterREPColl | STRING | Meldet eine REP-Collection ab. | ||
DumpCollection 213694 |
COLLECTION, STRING | INTEGER | Schreibt alle persistenten Objekte der Collection eine Datei. (Für MoveFrameBatch, LoadCollectionDump) | |
ErrorMsg | OBJECT | STRING | Fehlermeldung zu Objekt finden | |
Exists | STRING | INTEGER | Prüft, ob an einer Adresse ein persistentes Objekt liegt | |
ExportCollection | COLLECTION, STRING | Adressen von Objekten in einer Collection exportieren | ||
FindAll | INTEGER, INTEGER | COLLECTION | Findet alle Objekte eines Typs | |
FindCorruptObjects | COLLECTION | VECTOR | Nach korrupten Objekte suchen | |
FindFormulaConstants | COLLECTION, INTEGER | COLLECTION | ||
FindObjectsReferencingPosition | STRING, INTEGER, INTEGER, INTEGER | Find alle Objekte, die einen bestimmten Ort in der Datenbank referenzieren | ||
FindObjectsReferencingPosition2 | STRING, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER | Find alle Objekte, die einen bestimmten Ort in der Datenbank referenzieren, mit erweitertem AS-Handling und partieller Suche in einem Segment |
||
FindReferencingObjects | STRING | INTEGER | X-Ref aufbauen | |
FindSlots | VECTOR, COLLECTION, INTEGER | COLLECTION | ||
GetCollectionAddresses 235301 |
COLLECTION | VECTORSTRING | Liefert alle Objektadressen der in der Collection enthaltenen Elemente | |
GetCorruptObjectsEx | STRING, VECTOR, VECTOR | COLLECTION | liefert die Objekte aus einem Fehlerprotokoll | |
GetCorruptObjectsLoc | STRING, VECTOR, VECTOR, INTEGER | VECTOR | wie GetCorruptObjectsEx gibt die Datenbank-Locations zurück | |
GetCorruptObjectsSel | STRING, VECTOR, VECTOR | COLLECTION | liefert die Objekte aus einem Fehlerprotokoll | |
GetLocation | ANY | STRING | liefert die Location eines Objekts | |
GetObjectInNewDatabase | STRING, STRING | OBJECT | Objekt in neu geladener Datenbank mit Location aus alter Datenbank finden | |
GetObjectsWithChecksumDifference | STRING, INTEGER | VECTOR | alle Objekte mit unterschiedlicher Prüfsumme | |
GetOrphans | STRING, INTEGER | VECTOR | die beim Entladen entdeckten nicht erreichbaren Objekte | |
GetOwner | OBJECT X | OBJECT Y | Liefert das Objekt Y, welches als Member das Objekt x enthält | |
GetOwnerOfDSCO | STRING | OBJECT | Liefert das Objekt, in dessen Speicher die DSCO-Adresse fällt | |
GrabObject | STRING | OBJECT | Objekt mittels Location finden | |
GetREPs | DATABASE | VECTOR | Alle REPs einer Datenbank finden | |
GetREPCollByName | DATABASE, STRING | COLLECTION | Eine REP-Collection mit ihrem Namen finden | |
GetREPObjectByName | DATABASE, STRING | OBJECT | Eine REP-Objekt mit Namen finden | |
GetTypeAt | ANY | STRING | Liefert den Typ eines Objekts | |
GetTypeAtDSCO | STRING | STRING | Liefert den Typ eines Objekts an der DSCO-Adresse | |
ImplantList | OBJECT, STRING, COLLECTION | Korrupte "embedded" Collections reparieren | ||
ImplantSet | OBJECT, STRING, COLLECTION | Korrupte "embedded" Collections reparieren | ||
ImportVerifyDBLog | STRING | VECTOR | liefert alle Objekte, für die osverifydb.exe einen Fehler gemeldet hat | |
IndexesOfCollection | COLLECTION | STRING | Indizes einer Collection | |
InsertIntoCollection | COLLECTION, STRING | Objekt per Objekt-ID in die Collection einfügen | ||
KillREPColl | STRING | Meldet eine REP ab und löscht sie. | ||
LoadCollectionDump 220617 |
STRING, INTEGER, INTEGER | Lädt Objekte aus einer Datei, die mit DumpCollection geschrieben wurde. | ||
MoveFrame 213694 |
COLLECTION, INTEGER | Reallokiert die Frames der übergebenen Objekte um Platz im Cluster freizugeben. | ||
MoveFrameBatch 213694 |
STRING, INTEGER, INTEGER | Wie MoveFrame, nur dass der Prozess jederzeit unterbrechbar und fortsetzbar ist. | ||
PartialXRefParams | STRING, COLLECTION | |||
RebuildCollection | COLLECTION, INTEGER | INTEGER | Collection neu aufbauen | |
RemoveAlienObjects | OBJECT, STRING | INTEGER | entfernt typ-fremde Objekte aus einer Collection | |
RemoveFromCollection | COLLECTION, STRING | Objekt aus Collection entfernen | ||
RemoveFromREPCollection | STRING, OBJECT | entfernt Objekt aus einer REP-Collection | ||
RepairCollection | COLLECTION | INTEGER | entfernt alle Pointer auf corrupte Objekte aus einer Collection | |
RepairFrame | OBJECT, INTEGER | INTEGER | Reparatur für dynamischen Datenfelder | |
SetCollAsREP | COLLECTION, DATABASE, STRING | Registriert eine Collection an einem REP | ||
SetObjectAsREP | OBJECT, DATABASE, STRING | Registriert ein Objekt an einem REP | ||
SubstituteObject | OBJECT, INTEGER, INTEGER | OBJECT | Objekt ersetzen | |
SubstituteObjectInCollection | OBJECT, STRING, OBJECT, OBJECT | ein Objekt durch ein anderes in einer vorgegebenen Collection ersetzen | ||
SelectiveCopy | OBJECT, OBJECT, VECTOR | INTEGER | kopiert Datenfelder des Quellen-Objekts in das Zielobjekt | |
UnloadCorruptObject | OBJECT, STRING | INTEGER | entlädt ein Objekt | |
UnloadObject | OBJECT, STRING | entlädt ein Objekt - | ||
UnloadObject2 | OBJECT, OBJECT | wie UnloadObject aber mit CX_ASCII_FILE als Parameter 2 | ||
VerifyDatabase | STRING, INTEGER | verifiziert die Datenbank | ||
VerifySegments | STRING, VECTOR, INTEGER | verifiziert eine Liste an Segmenten |
* MA = Member-Access-Funktion
Modul | Kurzbeschreibung |
---|---|