Τι είναι το Oracle Data Guard

Τι είναι το Oracle Data Guard
Τι είναι το Oracle Data Guard

Tο Data Guard είναι η λύση της Oracle σε βάσεις δεδομένων για υψηλή διαθεσιμότητα και disaster recovery. Στο άρθρο θα αναλύσουμε το πως λειτουργεί και τους τύπους που έχει.

Στη χρήση του ορίζουμε την παραγωγική μας βάση ως primary (σε είτε single instance είτε RAC) και μπορούμε να έχουμε την αντιγραφή της στο ίδιο ή διαφορετικό δίκτυο που την ορίζουμε ως standby (σε είτε single instance είτε RAC).

Μια primary βάση μπορεί να έχει έως 30 standby διαφορετικούς προορισμούς.

Παρακάτω φαίνεται το διάγραμα της υποδομής του Data Guard:

Τι είναι το Oracle Data Guard
01 (docs.oracle.com)

Οι τύποι εφαρμογής Data Guard

Physical standby

Με το physical standby ότι redo logs παράγονται με τις αλλαγές στο primary, μεταφέρονται και γίνονται apply στα standby. Οι standby βάσεις παραμένουν κλειστές καθώς κάνουν apply τα redo logs από το primary.

Μας δίνει την δυνατότητα να κάνουμε switchover μεταξύ primary και standby ώστε να μπορούμε να κάνουμε εύκολα συντήρηση στη βάση.

Καθότι έχουμε πλήρες replica τις βάσεις θα μπορούμε το backup της βάσης να το πραγματοποιούμε στη standby.

Παρέχει την υποκατηγορία του Active Data Guard που μας δίνει τη δυνατότητα να βρίσκεται η standby βάση σε read-only ενώ ταυτόχρονα γίνονται apply τα redo logs. (Ανήκει σε διαφορετικό licensing, που οδηγεί σε διαφορετική χρέωση)

Η ιδανική του χρήση είναι για disaster recovery.

Logical standby

Το logical standby λειτουργεί μετατρέποντας τα redo logs που έρχονται από την primary βάση σε SQL queries, που αυτά εκτελούνται στις standby βάσεις.

Επειδή δεν χρησιμοποιούμε επαναφορά των redo logs αλλά εφαρμογή των SQL statements έχουμε τη δυνατότητα να έχουμε διαφορετική δομή στη βάση. Μπορούμε να κάνουμε read access τη βάση ενώ ταυτόχρονα ενημερώνετε με τα πρόσφατα δεδομένα.

Η ιδανική του χρήση είναι για αναφορές (reporting) χωρίς να επιβαρύνεται το παραγωγικό σύστημα.

Snapshot standby

To snapshot standby λειτουργεί όπως η physical standby με μεταφορά των redo στο standby node. Η διαφορά της είναι έχει τη δυνατότητα να ανοιχτεί προσωρινά σε λειτουργία read/write και να μπορούν να πραγματοποιηθούν αλλαγές σε σχέση με την primary βάση.

Όταν η βάση ανοίγεται δημιουργείται ένα restore point της βάσης με την εικόνα της μέχρι στιγμής. Ταυτόχρονα σταματάνε να γίνονται apply τα redo logs. Σε αυτό το σημείο μπορούμε να πραγματοποιήσουμε ότι αλλαγές θέλουμε στη βάση.

Όταν τελειώσουμε και αποφασίσουμε να την μετατρέψουμε σε physical standby, θα γίνει η επαναφορά από το restore point και θα γίνουν apply όλα τα redo που έχουν κρατηθεί. Αυτό οδηγεί στο να έχουμε την ίδια εικόνα με την primary βάση.

Η ιδανική του χρήση είναι για δοκιμές από τους developers και troubleshooting.

Οι λειτουργίες προστασίας στο Data Guard

Σε κάποιες περιπτώσεις μια επιχείριση δεν έχει την πολυτέλεια να χάσει δεδομένα. Σε άλλες περιπτώσεις η διαθεσιμότητα της βάσης είναι σημαντικότερη από μία πιθανότητα στο να χάσεις δεδομένα. Τέλος κάποιες εφαρμογές απαιτούν την μέγιστη απόδοση της βάσης.

Ας δούμε αναλυτικά την κάθε λειτουργία που υπάρχει διαθέσιμη

Maximum Availability

Η λειτουργία του maximum availability προσφέρει τη μέγιστη προστασία των δεδομένων που είναι δυνατή χωρίς να επηρεάσει την διαθεσιμότητα της βάσης. Οι συναλλαγές που γίνονται στην primary βάση δεν γίνονται commit αν πρώτα δεν έχουν ληφθεί τα redo logs σε τουλάχιστον μία standby βάση.

Εγγυάται zero data loss εκτός αν έχουμε αποτυχία λειτουργίας και στο standby και στο primary ταυτόχρονα.

Maximum Performance

Είναι η προεπιλεγμένη λειτουργία. Το maximum performance προσφέρει τη μέγιστη προστασία των δεδομένων που είναι δυνατή χωρίς να επηρεάσει την απόδοση της βάσης. Οι συναλλαγές που γίνονται στην primary βάση γίνονται commit όταν γραφτούν στο redo. Τα redo logs γίνονται apply στις standby βάσεις αλλά ασύγχρονα αυτή τη φορά.

Αυτή η λειτουργία παρέχει ελάχιστα μικρότερη προστασία από το maximum availability.

Maximum Protection

Η λειτουργία του maximum protection εγγυάται την μηδενική απώλεια των δεδομένων. Για να το πετύχει αυτό οι συναλλαγές που γίνονται στην primary βάση δεν γίνονται commit αν πρώτα έχουν γραφτεί στα redo logs και της primary και τουλάχιστον μίας standby βάσης.

Σε αντίθετη περίπτωση για να διασφαλιστεί η μηδενική απώλεια δεδομένων η primary βάση σταματάει την λειτουργία της.

Πηγες:

Μοιράσου το

Αφήστε μία απάντηση