A database management system ensures consistency between primary and
mirrored backup copies of a database, despite occurrence of a suspending
condition interrupting the normal process of mirroring the primary
database. One or more primary controllers are provided, each having a data
storage unit with multiple primary data storage devices. Multiple
secondary controllers each have multiple associated secondary data storage
devices, each secondary controller being coupled to one primary
controller. One or more primary databases reside on the primary devices,
with a corresponding number of secondary databases residing on the
secondary devices. Each secondary database mirrors a corresponding primary
database. Either a host, attached to a primary controller, or one of the
primary controllers itself, maintains a map cross-referencing each primary
and secondary database with the primary and secondary devices containing
portions thereof. If a predefined "suspending condition" affecting data
mirroring occurs, the host or primary controller consults its map to
identify all primary and secondary devices affected by the condition.
Then, each primary controller stops all ongoing and future read/writes
with each of its affected primary devices. Each primary controller also
directs each secondary controller having an affected secondary device to
stop mirroring the primary databases stored on that device. Then, the
primary controller starts intermediate change recording and resumes
read/writes with its primary devices. When the suspending condition ends,
each primary controller applies the appropriate logged changes to its
secondary database(s) and then reactivates each secondary database.
Ένα σύστημα διαχείρισης βάσεων δεδομένων εξασφαλίζει συνέπεια μεταξύ των αρχικών και αντανακλημένων εφεδρικών αντιγράφων μιας βάσης δεδομένων, παρά το περιστατικό ενός όρου αναστολής διακόπτοντας την κανονική διαδικασία την αρχική βάση δεδομένων. Σε έναν ή περισσότερους αρχικούς ελεγκτές παρέχονται, κάθε ένας που έχει μια μονάδα αποθήκευσης στοιχείων οι πολλαπλάσιες αρχικές συσκευές αποθήκευσης στοιχείων. Οι πολλαπλάσιοι δευτεροβάθμιοι ελεγκτές κάθε ένας έχουν τις πολλαπλάσιες σχετικές δευτεροβάθμιες συσκευές αποθήκευσης στοιχείων, κάθε δευτεροβάθμιος ελεγκτής που συνδέεται με έναν αρχικό ελεγκτή. Μια ή περισσότερες αρχικές βάσεις δεδομένων κατοικούν στις αρχικές συσκευές, με έναν αντίστοιχο αριθμό δευτεροβάθμιων βάσεων δεδομένων που κατοικεί στις δευτεροβάθμιες συσκευές. Κάθε δευτεροβάθμια βάση δεδομένων αντανακλά μια αντίστοιχη αρχική βάση δεδομένων. Είτε ένας οικοδεσπότης, που συνδέεται με έναν αρχικό ελεγκτή, είτε ένας από οι ίδιοι τους αρχικούς ελεγκτές, διατηρεί έναν χάρτη παραπέμποντας κάθε αρχική και δευτεροβάθμια βάση δεδομένων με τις αρχικές και δευτεροβάθμιες συσκευές που περιέχουν τις μερίδες επ' αυτού. Εάν προκαθορισμένος "αναστέλλοντας τον όρο" που έχει επιπτώσεις να αντανακλάσει στοιχείων εμφανίζεται, ο οικοδεσπότης ή ο αρχικός ελεγκτής συμβουλεύεται το χάρτη του για να προσδιορίσει όλες τις αρχικές και δευτεροβάθμιες συσκευές που επηρεάζονται από τον όρο. Κατόπιν, κάθε αρχικός ελεγκτής σταματά όλους τρέχοντα και το μέλλον που διαβάζεται/γράφει με κάθε μια από τις επηρεασθείσες αρχικές συσκευές του. Κάθε αρχικός ελεγκτής κατευθύνει επίσης κάθε δευτεροβάθμιο ελεγκτή που έχει μια επηρεασθείσα δευτεροβάθμια συσκευή για να σταματήσει τις αρχικές βάσεις δεδομένων που αποθηκεύονται σε εκείνη την συσκευή. Κατόπιν, ο αρχικός ελεγκτής αρχίζει την ενδιάμεση καταγραφή αλλαγής και επαναλαμβάνει διαβασμένος/γράφει με τις αρχικές συσκευές του. Όταν ο όρος αναστολής τελειώνει, κάθε αρχικός ελεγκτής εφαρμόζει τις κατάλληλες καταγραμμένες αλλαγές στη δευτεροβάθμια βάση δεδομένων του (σ) και επανενεργοποιεί έπειτα κάθε δευτεροβάθμια βάση δεδομένων.