Das bibliothekarische Datenbanksystem "Allegro-C"

Informationen für Administratoren

Allgemeines

"Allegro-C" wurde seit 1980 von Herrn Berhard Eversberg an der TU Braunschweig entwickelt.

Es dient vorwiegend der Verwaltung bibliothekarischer Daten und ist für diesem Zweck optimiert, ist aber auch zur Erfassung beliebiger anderer strukturierbarer Daten geeignet.
Die Datenbank besteht aus Daten-und Hilfsdateien, ähnlich wie bei dBase oder FoxPro.

Es gibt zur Zeit zwei Programmversionen, die mit Allegro-Datenbanken arbeiten:

 

 

Allegro-C der TU Braunschweig;

Das Hauptprogramm heißt hier "a99.exe" oder auch "allegro.exe" und nutzt eine Anzahl weiterer Hilfsprogramme wie "index.exe", import.exe und "acon.exe" über einen nachgeladenen Kommandointerpreter (cmd.exe)
Bis auf den Uninstall-Eintrag wird die Registry nicht genutzt, so dass die Allegro-C-Anwendungen direkt von einem beliebigen Server aus gestartet werden können.

 

 

Allegro-OEB der Bücherizentrale Niedersachsen

Diese Version wurde auf dem Stand der Allegro-C-Datenbankversion 13.1 abgespalten und seitdem von der Büchereizentrale selbständig für öffentliche Bibliotheken in einer eigenständigen Frontend-Variante weiterentwickelt..
Hiier wird über eine Microsoft-Hypertext-Application ein Menü aufgebaut, aus dem heraus die Anwendungsprogramme als .exe-Dateien oder als OCX-Controls gestartet werden.
Auch hier wird der Kommandointerpreter zur Ausführung weiterer Hilfsprogramme genutzt.
Die Anwendungsprogramme werden windows-typisch lokal installiert, können aber eine auf einem Netzwerkserver liegende Datenbank nutzen: Diese sollte immer unter {LW}:\allegro\katalog erreichbar sein.

 

 

 

Datenbank-Dateien

Die Namen der Datenbank-Dateien sind nach einem bestimmten Schema aufgebaut, aus dem die Konfigurationsvariante ablesbar ist. Großbuchstaben stehen hier für feste, Kleinbuchstaben für variable Zeichen aus duieser Tabelle:

 

 

 

xxx  Kürzel, auch "Datenbankname", 1 - 4 alpha-Zeichen
_ Trennzeichen (Tiefstrich, Underscore)
nnn Zählnummer der Dadtenbankdatei (1 ... 255)
c Kennung für das "Schema" oder die "Konfiguration"
i Kennung der Indexdatei: 'd' für Hauptindexdatei (In der ÖB-Version gibt es nur eine Indexdatei mit der Kennung d)

 

 

Datei Name.Typ Inhalt und Funktion : Wozu ist sie gut, was steht drin?
Datendateien xxx_nnn.cLD Enthalten die eingegebenen Daten. Es kann mehrere solche Dateien geben. Diese haben dann Nummern von 1 bis 255.  Diese Dateien muß man unbedingt sichern, die anderen sind reparabel.

Beispiel für A-Schema (TU Braunschweig): cat_1.ald ... cat_255.ald
für O-Schema (BZ Niedersachsen): kat_1.old ... kat_255.old
 
Indexdatei xxx.ciX beinhaltet die alphabetischen Register (Index-Dateien)
 
Kurztiteldatei xxx.STL Die Kurzzeilen, die man sieht, wenn man eine Ergebnismenge betrachtet
Adressentabelle xxx.TBL Die Adressen (= Positionen) der Datensätze in den Datendateien
*Restriktionendatei xxx.RES Hilfsdatei zur Einschränkung von Erg.Mengen (nicht bei jeder Datenbank, auch nicht in der ÖB-Version)
*LOG-Datei xxx.LOG Zur Datensicherung: Kopien der neuen und veränderten Datensätze
Diese Dateien sollten von Zeit zu Zeit archiviert und dann gelöscht werden. Im Brandenburger Menü für Allegro-OEB passiert das beim Reorganisieren (Neuaufbau der Hilfsdateien) automatisch.
Im Fall eines GAUs läßt sich im schlimmsten Fall nur aus den Log-Dateien die gesamte Datenbank wiederherstellen.
Konfiguration $c.CFG Darin steht, welche Datenfelder es geben kann und andere Einstellungen
Indexparameter xxx.cPI Vorschriften für die Bildung der Index-Einträge aus den Daten
Exportparameter *.cPR, *.cPT Vorschriften für den Aufbau der Anzeige oder des Exportes eines Datensatzes
*INI-Datei xxx.INI Einstellungen für die Benutzung der Datenbank unter a99 (nur TU Braunschweig)

(Tabelle entnommen und erweitert aus http://www.allegro-c.de/dateien.htm)

 

 

 

Netzwerkfähigkeit

Die Datenbank ist netzwerkfähig und nutzt die Adresstabellen.-Datei als Semaphore.Mit dem Setzen des ersten Bytes der *.tbl-Datei wird die gesamte Datenbank als
exklusiv genutzt markiert. Nach Ende kritischer, exklusiver Schreiboperationen wird dieses Byte wieder auf 00 gesetzt um anzuzeigen, dass die Datenbankdateien wieder durch mehrere Instanzen gleichzeitig genutzt (gelesen) werden können.

 

 

 

 

Windows-Netzwerk

Im Windows-Netzwerk (gilt auch für Linux-Server, die das SMB-Protokoll bereitstellen) sind zwei Randbedingungen zu beachten:

 

 

 

  • lokale Dateipuffer müssen abgeschaltet sein, ansonsten sind Beschädigungen an der Datenbank äußerst warscheinlich. Das liegt daran, dass der Lock-Mechanismus über die Adresstabellendatei dann nicht richtig funktioniert
  • Oplock-Mechanismen sind kontraproduktiv, da die Dateien immer gemeinsam (shared) genutzt werden und sollten abgeschaltet werden.

Ein Hilfsprogramm zur Einstellung der diesbezüglichen Registry-Schlüssel finden Sie hier:

 

 

Netware-Netzwerk

Hier gilt sinngemäß das gleiche wie für Windows-Netzwerke:

 

 

  • lokale Dateipuffer müssen abgeschaltet sein (Netware-Client: "File Cache = Aus" oder "File Caching=OFF")
  • "True Commit" oder einfach "Commit" sollte ausgeschaltet bleiben (über Netware-Client-Einstellungen), da es zu zu großen Verzögerungen führt.
  • Oplocks sollten ebefalls auf "Aus" gestellt werden:
  • Auf Serverseite sollte, wenn für die anderen Anwendungen akzeptabel,
    SET CLIENT FILE CACHING ENABLED=OFF
    SET LEVEL 2 OPLOCKS ENABLED=OFF
    in der NCF stehen
  • Shared-Mode: Da das Netware-Filesystem keine gleichzeitigen Zugriffe merherer Prozesse auf die gleiche Datei kennt, wird dies für die DOS oder Windows-Clienten simuliert und MUSS über das Datei-Flag "Sh" (Shared) explizit eingestellt werden. Problematisch dabei ist, dass durch DOS- oder Windows-Clients neu angelegte Dateien dieses Attribut standardmäßig nicht gesetzt haben, so dass Programme dies selbst setzen müssen. Unter Allegro wird dazu das Netware-Dienstprogramm "flag" genutzt, das dazu per Kommandozeile startbar sein muss. (passiert im Brandenburger Menü für Allegro-OEB nach der Datenbank-Reorganisation)
  • Die Erfahrung zeigt auch, dass die Protokolle IP und IPX nicht gleichzeitig aktiv sein sollten: Für alle Allegro-Clients sollte entwder für alle IP oder für alle IPX einheitlich genutzt werden.

Anando Eger, 28.04.2011