Mit „Hiperfile“ wird im Folgenden eine Datei bezeichnet, die auf einem PFA-Pubset liegt und das gültige Performance-Attribut HIGH oder VERY-HIGH besitzt, oder die auf einem PFA-Pubset liegt, der das Cache-Attribut CACHED-FILES=*ALL besitzt.
Beim Schließen (CLOSE-Verarbeitung) eines Hiperfiles werden alle von der Anwendung geschriebenen Blöcke der Datei, die noch nicht von einem Cache-Handler bzw. einer Cache-Steuerung vom Cache auf die entsprechenden Platten des Pubsets gesichert worden sind, explizit auf Platte geschrieben.
Tritt bei dieser Sicherungsaktion ein Fehler auf, weil ein angesprochenes Plattengerät einen Defekt hat, so meldet die CLOSE-Verarbeitung den Fehlercode
|
|
Die Daten sind jedoch noch lesbar im Cache vorhanden, der Cache wird in der Folge nicht abgebaut, und die im Cache verbliebenen Daten können nach Behebung des Plattendefekts ohne Einwirkung von außen auf die Platte abfließen. Die Datei kann in der Regel wieder geöffnet und bearbeitet werden, obwohl Daten im Cache nicht zurückgeschrieben werden konnten. Solche Dateien können mit folgendem Kommando angezeigt werden:
SHOW-FILE-ATTRIBUTES ...,STATUS=*PAR(CACHE-NOT-SAVED=*YES).
Dateien, die wegen Nutzung eines Caches noch kein konsistentes Abbild auf Platte haben, kennzeichnet das Betriebssystem als „Datei mit Daten im Cache“; solche Dateien (Hiperfiles) kann man sich mit folgendem Kommando anzeigen lassen:
SHOW-FILE-ATTRIBUTES ..., STATUS=*PAR(CACHED=*YES)
Hierbei werden auch diejenigen Dateien mitaufgelistet, die aktuell gecachet werden (auch mit reinem Lese-Cache) und zurzeit geöffnet sind.
Die Tatsache, dass nicht erfolgreich auf Platte geschriebene Blöcke im Cache noch lesbar sind, kann man sich wie folgt zu Nutze machen:
Ein Wieder-Eröffnen der Datei ist jederzeit möglich. Mit einem COPY-FILE Kommando kann die Datei auf einen anderen Datenträger „gerettet“ werden; hierzu ist es notwendig, vor dem COPY-FILE Kommando die Zieldatei mit einem expliziten CREATE-FILE Kommando anzulegen.
Mit einem DELETE-FILE Kommando kann eine solche Datei logisch gelöscht werden, dabei findet gleichzeitig ein Invalidieren der im Cache verbliebenen Daten dieser Datei statt.
Ist auch nach einem Techniker-Eingriff das Sichern der im Cache verbliebenen Daten auf Platte nicht mehr möglich, so kann der Cache mit dem Kommando FORCE-DESTROY-CACHE ohne Sichern der Daten aufgelöst werden.
Diejenigen Hiperfiles des Pubsets, die als „Datei mit Daten im Cache“ gekennzeichnet sind, werden beim nächsten IMPORT-PUBSET im Katalog so gekennzeichnet, dass sie (wegen möglicher Dateninkonsistenz) nicht mehr geöffnet werden können; Voraussetzung hierfür ist, dass die Datei das Performance-Attribut DISK-WRITE=*IMMEDIATE besitzt.
Die Menge derjenigen Hiperfiles, die wegen möglicher Dateninkonsistenz nicht mehr geöffnet werden können, kann man sich mit folgendem Kommando auflisten lassen:
SHOW-FILE-ATTRIBUTES ...,STATUS=*PAR(OPEN-ALLOWED=*NO)
Solche Dateien sollten gelöscht werden. Ein REPAIR-DISK-FILES-Kommando (nur unter TSOS-Privileg möglich) setzt das Attribut OPEN-ALLOWED=NO zwar zurück und die Datei kann wieder eröffnet werden, eine Aussage über die Datenkonsistenz kann dabei aber nicht gemacht werden! Ist ein Plattendefekt nicht zu beheben, so muss gegebenenfalls das ganze Pubset neu initialisiert werden.