A method and apparatus are provided for transferring a resource from the
cache of one database server to the cache of another database server
without first writing the resource to disk. When a database server
(Requestor) desires to modify a resource, the Requestor asks for the
current version of the resource. The database server that has the current
version (Holder) directly ships the current version to the Requestor. Upon
shipping the version, the Holder loses permission to modify the resource,
but continues to retain the resource in memory. When the retained version
of the resource, or a later version thereof, is written to disk, the
Holder can discard the retained version of the resource. Otherwise, the
Holder does not discard the retained version. Using this technique,
single-server failures are recovered without having to merge the recovery
logs of the various database servers that had access to the resource.
Eine Methode und ein Apparat werden für das Bringen eines Hilfsmittels vom Pufferspeicher von einem Datenbankbediener auf den Pufferspeicher eines anderen Datenbankbedieners ohne erstes Schreiben das Hilfsmittel auf Scheibe zur Verfügung gestellt. Wenn ein Datenbankbediener (Bittsteller) wünscht, ein Hilfsmittel zu ändern, bittet der Bittsteller um die gegenwärtige Version des Hilfsmittels. Der Datenbankbediener, der die gegenwärtige Version (Halter) direkt hat, versendet die gegenwärtige Version zum Bittsteller. Nach dem Versenden der Version, verliert der Halter Erlaubnis, das Hilfsmittel zu ändern, aber fährt fort, das Hilfsmittel im Gedächtnis zu behalten. Wenn die behaltene Version des Hilfsmittels oder eine neuere Version davon, zur Scheibe geschrieben wird, kann der Halter die behaltene Version des Hilfsmittels wegwerfen. Andernfalls wirft der Halter nicht die behaltene Version weg. Mit dieser Technik werden Einzelnbediener Ausfälle zurückgewonnen, ohne zu müssen, die Wiederaufnahme Maschinenbordbücher der verschiedenen Datenbankbediener zu vermischen, die Zugang zum Hilfsmittel hatten.