Κοινή χρήση τεχνολογίας

Ποιες διεργασίες παρασκηνίου στο Oracle δεν μπορούν να σκοτωθούν;

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Η Oracle έχει πολλές διεργασίες στο παρασκήνιο Όταν αντιμετωπίζετε ειδικές καταστάσεις, όπως το κλείδωμα των πινάκων, εάν περιμένετε μια διαδικασία παρασκηνίου, τότε πρέπει να σκεφτείτε εάν μπορείτε να σκοτώσετε τη διαδικασία παρασκηνίου; Η εξάλειψη αυτής της διαδικασίας παρασκηνίου θα προκαλέσει τη συντριβή της παρουσίας; Στο πνεύμα της πρακτικής, η αληθινή γνώση προέρχεται από την εξάσκηση Αυτό το άρθρο εστιάζει στις τρεις εκδόσεις των Oracle 11g, Oracle 19c και Oracle 23ai σύγκρουση.

1. Παράδειγμα βάσης δεδομένων

1.1 Το δοκιμαστικό σενάριο ολοκληρώνει τη διαδικασία παρασκηνίου

Ο καθένας είναι ήδη εξοικειωμένος με τις έξι βασικές διεργασίες των pmon, smon, dbwr, lgwr, ckpt και mman Η θανάτωση αυτών των έξι βασικών διεργασιών σίγουρα θα προκαλέσει την κατάρρευση της παρουσίας, επομένως αυτές οι έξι θα εξαλειφθούν από το σενάριο.

#!/bin/shfunction startup(){    sqlplus / as sysdba<<EOF    startup    exitEOF}started=`ps -ef | grep pmon | grep -v grep | awk '{print $2}'`test -z "$started" && startup >> /dev/nullsleep 5# List of Oracle background processes to exclude from killingexclude_processes="pmon|smon|dbw0|dbw1|lgwr|ckpt|mman"# Get list of Oracle processesprolist=`ps -ef | grep ora | egrep -v "bash|su|h|ps|grep|more|sleep|awk|LOCAL|sy                                                                             sdba|log|$exclude_processes" | awk '{print $NF}'`for i in $prolistdo    proc_key=`echo $i | awk -F _ '{print $2}'`    pid=`ps -ef | grep $proc_key | grep -v grep | awk '{print $2}'`    test -z $pid && echo "$proc_key does not exist" || {        echo "Killing process $proc_key with PID $pid"        kill -9 $pid        sleep 20        # Check if PMON process exists        pc=`ps -ef | grep pmon | grep -v grep | wc -l`        echo "Number of PMON processes: $pc"        if [ $pc -eq 0 ]; then            echo "Killed process $proc_key has caused instance crash!"            startup >> /dev/null            sleep 5        else            echo "Killed process $proc_key has not caused instance crash."        fi    }done


Εδώ είναι τα αποτελέσματα των δοκιμών τριών εκδόσεων
μαντείο 11 γρ

Killed process vktm has caused instance crash!Killed process gen0 has caused instance crash!Killed process dbrm has caused instance crash!

χρησμός 19γ

Killed process clmn has caused instance crash!Killed process vktm has caused instance crash!Killed process gen0 has caused instance crash!Killed process lg00 has caused instance crash!Killed process lg01 has caused instance crash!Killed process lreg has caused instance crash!Killed process dbrm has caused instance crash!Killed process pman has caused instance crash!

χρησμός 23ai

Killed process clmn has caused instance crash!Killed process vktm has caused instance crash!Killed process gen0 has caused instance crash!Killed process lg00 has caused instance crash!Killed process lg01 has caused instance crash!Killed process lreg has caused instance crash!Killed process dbrm has caused instance crash!Killed process pman has caused instance crash!Killed process bg02 has caused instance crash!

1.2 Συνοψίστε ποιες διεργασίες παρασκηνίου βάσης δεδομένων δεν μπορούν να σκοτωθούν

oracle11g (9)

χρησμός 19c (9+4=13)
 

Δεν υπάρχει εισαγωγή στο bgnn στα επίσημα έγγραφα;

  • PMON (Παρακολούθηση διαδικασίας):

    • Υπεύθυνος για την παρακολούθηση της κατάστασης των διεργασιών παρασκηνίου και των διαδικασιών χρήστη. Όταν εντοπίζεται μια ανωμαλία στη διαδικασία χρήστη ή μια αποσύνδεση, το PMON είναι υπεύθυνο για τον καθαρισμό των σχετικών πόρων και την απελευθέρωση κλειδαριών.

  • SMON (Οθόνη συστήματος):

    • Χειρίζεται συναλλαγές σε επίπεδο συστήματος και ανάκτηση παρουσιών βάσης δεδομένων. Η SMON είναι υπεύθυνη για τη διατήρηση της συνέπειας της βάσης δεδομένων, συμπεριλαμβανομένης της επαναφοράς των ημιτελών συναλλαγών και του καθαρισμού των προσωρινών τμημάτων.

  • DBWR (Συγγραφέας βάσης δεδομένων):

    • Υπεύθυνος για την εγγραφή των δεδομένων στο buffer πίσω στο δίσκο. Το DBWR εκτελεί σημεία ελέγχου όπως απαιτείται για να εξασφαλίσει τη συνέπεια και την ανθεκτικότητα της βάσης δεδομένων.

  • LGWR (Log Writer):

    • Γράψτε τις εγγραφές καταγραφής στο buffer καταγραφής επανάληψης στο αρχείο καταγραφής επανάληψης. Η LGWR διασφαλίζει την ανθεκτικότητα των συναλλαγών, επιτρέποντας στη βάση δεδομένων να ανακτήσει μετά από ένα crash.

  • CKPT (Διαδικασία σημείου ελέγχου):

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

  • MMAN (Διαχείριση μνήμης):

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

  • VKTM (Virtual Keeper of Time):

    • Παρέχετε υπηρεσίες χρόνου σε περιπτώσεις βάσεων δεδομένων. Το VKTM διαχειρίζεται όλες τις λειτουργίες που σχετίζονται με το χρόνο στη βάση δεδομένων, συμπεριλαμβανομένης της αναμονής για συμβάντα και των χρονικών σημάνσεων συναλλαγών.

    • Μια νέα διαδικασία φόντου εισήχθη στο Oracle 11g.

  • DBRM (Διαχειριστής πόρων βάσης δεδομένων):

    • Διαχειριστείτε την κατανομή και τη χρήση των πόρων της βάσης δεδομένων, συμπεριλαμβανομένων των CPU, I/O και του αριθμού των συνδέσεων. Το DBRM διασφαλίζει δίκαιη και αποτελεσματική κατανομή πόρων μεταξύ διαφορετικών χρηστών και εφαρμογών.

    • Νέα διαδικασία φόντου εισήχθη στο oracle 11g

  • GEN0 (Διαδικασία γενικού φόντου):

    • Μια διαδικασία παρασκηνίου γενικής χρήσης που χρησιμοποιείται για το χειρισμό διαφόρων εργασιών συστήματος και λειτουργιών διαχείρισης σε μια παρουσία βάσης δεδομένων.

    • Διαδικασία φόντου που εισήγαγε η Oracle 10g

    23ai (13+1=14)

    Νέοςbgnn Διαδικασία, το 23ai έχει πολλαπλές διεργασίες bgnn, το παράδειγμα θα διακοπεί, αλλά δεν υπάρχει επίσημη αναφορά. πολύ παράξενο! Όποιος γνωρίζει ας αφήσει ένα μήνυμα και να μου δώσει μια συμβουλή!

    • CLMN (Κύρια διαδικασία καθαρισμού)

      • Λειτουργία: Υπεύθυνος για την εκτέλεση εργασιών καθαρισμού στην παρουσία Oracle.

      • Ευθύνες: Διαχειριστείτε την εκκαθάριση νεκρών διεργασιών, τερματισμένων περιόδων σύνδεσης, συναλλαγών, συνδέσεων δικτύου, περιόδων αδράνειας, αποκομμένων συναλλαγών και συνδέσεων δικτύου που υπερβαίνουν το χρονικό όριο αδράνειας.
        Το Oracle 12c παρουσιάζει και clnn για να βοηθήσει το pmon στο χειρισμό ορισμένων εργασιών καθαρισμού

    • LGnn (Log Writer Worker)

      • Λειτουργία: lgwr βοηθητική διεργασία.

      • Ευθύνες: Σε συστήματα πολλαπλών επεξεργαστών, η LGWR δημιουργεί εργαζόμενους για να βελτιώσει την απόδοση εγγραφής διεργασιών

      • Το Oracle19c παρουσιάζεται για να βοηθήσει τη διαδικασία lgwr στο χειρισμό της ταυτόχρονης λειτουργίας για τη βελτίωση της απόδοσης εγγραφής αρχείων καταγραφής

    • LREG (Διαδικασία εγγραφής ακροατών)

      • Λειτουργία: Καταχωρίστε την παρουσία Oracle στον ακροατή.

      • Ευθύνες : Ειδοποιεί τους ακροατές για παρουσίες, υπηρεσίες, χειριστές και τελικά σημεία. Βεβαιωθείτε ότι ο ακροατής γνωρίζει σε ποια υπηρεσία βάσης δεδομένων μπορεί να συνδεθεί.

      • μαντείο 12c εισήχθη

    • PMAN (Διαχειριστής Διαδικασιών)

      • Λειτουργία: Διαχειριστείτε διάφορες διεργασίες παρασκηνίου στη βάση δεδομένων Oracle.

      • Ευθύνες: Παρακολούθηση, έναρξη και διακοπή διαδικασιών διανομέα και κοινόχρηστων διακομιστών, διαμεσολαβητών σύνδεσης, ομαδοποιημένων διαδικασιών διακομιστή για ομαδοποίηση σύνδεσης με βάση τη βάση δεδομένων, διεργασιών ουράς εργασιών και επανεκκίνησης διεργασιών παρασκηνίου, όπως απαιτείται.

      • μαντείο 12c εισήχθη

2.Παράδειγμα ASM

Εκτός από τα παραπάνω, υπάρχουν επίσης διεργασίες παρασκηνίου που σχετίζονται με παρουσίες ASM σε περιβάλλον συμπλέγματος.

  • ASMB (Διαδικασία παρασκηνίου ASM)

    • Λειτουργία : Το ASMB είναι η διαδικασία παρασκηνίου της Automatic Storage Management (ASM). Χρησιμοποιείται κυρίως για τη διατήρηση της επικοινωνίας μεταξύ παρουσιών ASM και παρουσιών Oracle. Το ASMB διαχειρίζεται συνδέσεις με στιγμιότυπα της Oracle, χειρίζεται αιτήματα λειτουργίας μεταδεδομένων μεταξύ παρουσιών ASM και πελατών και συντονίζει λειτουργίες εξισορρόπησης δεδομένων.

  • RBAL (Κύρια διαδικασία επανεξισορρόπησης ASM)

    • Λειτουργία : Το RBAL είναι μια άλλη διαδικασία που σχετίζεται με το ASM. Είναι υπεύθυνο για τη διανομή εργασιών επανεξισορρόπησης σε υποτελείς διαδικασίες ARBx σε άλλες περιπτώσεις ASM. Οι λειτουργίες επανεξισορρόπησης εκτελούνται κατά την προσθήκη ή την αφαίρεση δίσκων ASM για να διασφαλιστεί η ομοιόμορφη κατανομή των δεδομένων σε όλη την ομάδα δίσκων.

  • PSP0 (Διαδικασία Spawner Process)

    • Λειτουργία : Το PSP0 είναι η διαδικασία Spawner Process, υπεύθυνη για τη δημιουργία και τη διαχείριση άλλων διεργασιών παρασκηνίου στην παρουσία της Oracle. Εξασφαλίζει ότι οι απαιτούμενες διεργασίες παρασκηνίου ξεκινούν όταν ξεκινά η παρουσία και δημιουργούνται νέες διεργασίες όταν χρειάζεται.

  • GMON (Διαδικασία παρακολούθησης ομάδας δίσκων ASM)

    • Λειτουργία : Το GMON είναι η διαδικασία παρακολούθησης ομάδας δίσκων ASM. Χρησιμοποιείται κυρίως για την παρακολούθηση και τη διαχείριση της κατάστασης και της υγείας των ομάδων δίσκων ASM. Το GMON διασφαλίζει τη συνοχή της ομάδας δίσκων και λαμβάνει διορθωτικά μέτρα όταν εντοπίζει σφάλματα ή ασυνέπειες σε μια ομάδα δίσκων.

ps :oracle 23aiΥπάρχει μια άλλη αλλαγή: το όνομα της διαδικασίας παρασκηνίου έχει αλλάξει από ora_xxxx σε db_xxxx, εγκαταλείποντας τον κανόνα που χρησιμοποιείται εδώ και δεκαετίες.

19γ

23ai (δεν είμαι σίγουρος αν η επίσημη έκδοση EE χρησιμοποιεί ora_ ή db_)