Oracle-Parametersatz und Reset-Einstellungen
Tatsächliche Beispiele für das Setzen und Zurücksetzen in der Oracle-Parametereinstellung
Umgebung: Oracle 10.2.0.5 RAC
Anforderungen: Die aq_tm_processes von Knoten 1 müssen auf die Standardeinstellungen zurückgesetzt werden und die Einstellungen von Knoten 2 müssen unverändert bleiben
- 1. Erstellen Sie eine Testumgebung
- 2. Testplan
- 3. Zusammenfassung
Hintergrundeinführung:
Sie finden den Parameter aq_tm_processes in der offiziellen Datei 10.2. Sie können sehen, dass der Standardwert dieses Parameters 0 ist. Nennen wir ihn Standard 0.
Dann haben wir tatsächlich herausgefunden, dass die Wirkung dieser Standardeinstellung 0 völlig anders ist als die, wenn man SET manuell auf 0 setzt.
Als ich diese Angelegenheit mit Kollegen kommunizierte, erfuhr ich endlich ein technisches Detail:
In Oracle erspart Ihnen die Verwendung von SET zum Festlegen von Parameterwerten tatsächlich viel Arbeit. Wenn Sie den Standardwert von Oracle wiederherstellen möchten, ist es am effektivsten, den Wert zurückzusetzen, damit alles dem Standarddesign von Oracle folgt.
Wenn Sie sich speziell das aktuelle Szenario ansehen, unterscheidet sich der Parameter aq_tm_processes vollständig vom ursprünglichen Standardwert 0, wenn Sie ihn auf 0 setzen.
Wenn es auf 0 gesetzt ist, werden alle q00-Arbeitsprozesse heruntergefahren und nicht neu gestartet. Wenn es standardmäßig 0 ist, kann der q00-Workerprozess gestartet werden.
Der aktuell erzeugte Parameterinhalt ähnelt diesem, mit globalen Einstellungen und Instanz-1-Einstellungen, wie folgt:
*.aq_tm_processes=1 jy1.aq_tm_processes=0
Wir wissen, dass die Einstellungspriorität für Instanzen hoch ist, was bedeutet, dass diese Einstellung bewirkt, dass der Parameter für Instanz 1 0 und der Parameter für Instanz 2 1 ist.
Das heißt: Instanz 1 kann den q00-Workerprozess nicht starten, aber Instanz 2 kann den q00-Workerprozess starten.
Erstellen Sie eine Testumgebung, um die Produktion zu simulieren:
Setzen Sie zunächst aq_tm_processes auf 1:
alter system set aq_tm_processes = 1 scope=both sid='*'; --create pfile='/tmp/pfile11.ora' from spfile;
Zu diesem Zeitpunkt gibt es folgende Einstellungen in der Parameterdatei:
*.aq_tm_processes=1
Setzen Sie aq_tm_processes von Instanz 1 auf 0
alter system set aq_tm_processes = 0 scope=both sid='jy1'; --create pfile='/tmp/pfile12.ora' from spfile;
Zu diesem Zeitpunkt gibt es folgende Einstellungen in der Parameterdatei:
*.aq_tm_processes=1 jy1.aq_tm_processes=0
An dieser Stelle wird die aktuelle Situation der Produktionsumgebung simuliert. Werfen wir einen Blick auf den tatsächlichen Betriebsablauf:
SQL> SQL> alter system set aq_tm_processes = 1 scope=both sid='*'; System altered. SQL> create pfile='/tmp/pfile11.ora' from spfile; File created. SQL> show parameter aq
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 1 SQL> !ps -ef|grep q00 oracle 1462 27385 0 15:27 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00 oracle 1464 1462 0 15:27 pts/1 00:00:00 grep q00 oracle 26534 1 0 15:08 ? 00:00:00 ora_q002_jy1 oracle 31538 1 0 15:21 ? 00:00:00 ora_q000_jy1
SQL> SQL> alter system set aq_tm_processes = 0 scope=both sid='jy1'; System altered. SQL> create pfile='/tmp/pfile12.ora' from spfile; File created. SQL> show parameter aq
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0 SQL> !ps -ef|grep q00 oracle 2044 27385 0 15:28 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00 oracle 2046 2044 0 15:28 pts/1 00:00:00 grep q00
SQL>
Sie können sehen, dass der q00-Prozess verschwindet, nachdem er auf 0 gesetzt wurde. Auch wenn die Instanz neu gestartet wird, wird der q00-Prozess nicht mehr gestartet.
Was wir jetzt tun müssen, ist, die aq_tm_processes von Knoten 1 auf die Standardeinstellungen zurückzusetzen, ohne die Einstellungen von Knoten 2 zu ändern.
alter system reset aq_tm_processes scope=spfile sid='jy1'; create pfile='/tmp/pfile13.ora' from spfile;
Überprüfung von Knoten 1 neu starten? Bestätigen Sie, ob die Anforderungen erreicht werden können?
Die spezifischen tatsächlichen Vorgänge sind wie folgt:
SQL> alter system reset aq_tm_processes scope=spfile sid='jy1'; System altered. SQL> create pfile='/tmp/pfile13.ora' from spfile; File created. SQL> show parameter aq
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0 SQL> !ps -ef|grep q00 oracle 3801 27385 0 15:32 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00 oracle 3803 3801 0 15:32 pts/1 00:00:00 grep q00
SQL> startup force ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 2098112 bytes Variable Size 301993024 bytes Database Buffers 289406976 bytes Redo Buffers 6287360 bytes Database mounted. Database opened. SQL> show parameter aq
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 1 SQL> !ps -ef|grep q00 oracle 4228 1 0 15:33 ? 00:00:00 ora_q000_jy1 oracle 4232 1 0 15:33 ? 00:00:00 ora_q002_jy1 oracle 5021 27385 0 15:35 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00 oracle 5023 5021 0 15:35 pts/1 00:00:00 grep q00
SQL>
Wie Sie sehen, lautet die Antwort offensichtlich: Nein.
Da dadurch nur die Parameter von Instanz 1 zurückgesetzt werden, es aber zuvor einen globalen Parameter *�� gab, werden Sie feststellen, dass der Parameter aq_tm_processes nach dem Neustart von Instanz 1 1 ist.
Mit anderen Worten: Wenn die Einstellungen für Instanz 1 entfernt werden, werden die Gesamteinstellungen natürlich übernommen.
Auf der oben genannten Grundlage haben wir die Idee, die Anforderungen umzusetzen:
Lassen Sie uns darüber nachdenken. Wenn wir die globalen Parameter zurücksetzen, wirkt sich dies auf die vorherigen Einstellungen von Knoten 2 aus. Auf diese Weise können wir den Wert von Knoten 2 nur separat festlegen und dann die globalen Parameter zurücksetzen.
alter system set aq_tm_processes = 1 scope=both sid='jy2'; --create pfile='/tmp/pfile14.ora' from spfile; alter system reset aq_tm_processes scope=spfile sid='*'; --create pfile='/tmp/pfile15.ora' from spfile;
Überprüfung von Knoten 1 neu starten? ? Bestätigen Sie, ob die Anforderungen erreicht werden können?
Die spezifischen tatsächlichen Vorgänge sind wie folgt:
SQL> alter system set aq_tm_processes = 1 scope=both sid='jy2'; System altered. SQL> create pfile='/tmp/pfile14.ora' from spfile; File created. SQL> alter system reset aq_tm_processes scope=spfile sid='*'; System altered. SQL> create pfile='/tmp/pfile15.ora' from spfile; File created. SQL> startup force ORACLE instance started.
Total System Global Area 599785472 bytes Fixed Size 2098112 bytes Variable Size 301993024 bytes Database Buffers 289406976 bytes Redo Buffers 6287360 bytes Database mounted. Database opened.
SQL> show parameter aq NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ aq_tm_processes integer 0 SQL> !ps -ef|grep q00 oracle 7446 1 1 15:40 ? 00:00:00 ora_q000_jy1 oracle 7448 1 0 15:40 ? 00:00:00 ora_q001_jy1 oracle 7450 1 0 15:40 ? 00:00:00 ora_q002_jy1 oracle 7452 1 0 15:40 ? 00:00:00 ora_q003_jy1 oracle 7480 27385 0 15:41 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00 oracle 7482 7480 0 15:41 pts/1 00:00:00 grep q00 SQL>
Es ist ersichtlich, dass die durch den realen Betriebstest verifizierte Antwort mit der Erwartung übereinstimmt: Ja.
Hinweis: Alle Schritte zum Erstellen einer P-Datei können entfernt werden. Damals habe ich diesen Vorgang nach jedem Schritt hinzugefügt, weil ich bestätigen wollte, ob die Theorie richtig war.
Zusammenfassend lässt sich sagen, dass in der tatsächlichen Kundenumgebung die folgenden drei Schritte unternommen werden sollten, um die Anforderungen zu erfüllen:
--保障节点2的设置不变 alter system set aq_tm_processes=1 scope=spfile sid='jy2'; --reset节点1的设置 alter system reset aq_tm_processes scope=spfile sid='jy1'; --reset全局的设置 alter system reset aq_tm_processes scope=spfile sid='*';
Zusammenfassung der Wissenspunkte in diesem Artikel: Tatsächlich müssen Sie nur die folgenden 3 Wissenspunkte verstehen:
Der Reset-Vorgang entfernt eigentlich nur diesen Wert aus der SP-Datei;
Einstellungen für eine bestimmte Instanzebene haben eine höhere Priorität als Gesamteinstellungen;
Beachten Sie, dass Oracle für SET-Parameterwerte tatsächlich viel weniger tut. Ein einfaches Verständnis ist, dass sich der Standardwert 0 von der Einstellung 0 unterscheidet.
Das obige ist der detaillierte Inhalt vonOracle-Parametersatz und Reset-Einstellungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die wichtigsten Unterschiede zwischen CentOS und Ubuntu sind: Ursprung (CentOS stammt von Red Hat, für Unternehmen; Ubuntu stammt aus Debian, für Einzelpersonen), Packungsmanagement (CentOS verwendet yum, konzentriert sich auf Stabilität; Ubuntu verwendet apt, für hohe Aktualisierungsfrequenz), Support Cycle (Centos) (CENTOS bieten 10 Jahre. Tutorials und Dokumente), Verwendungen (CentOS ist auf Server voreingenommen, Ubuntu ist für Server und Desktops geeignet). Weitere Unterschiede sind die Einfachheit der Installation (CentOS ist dünn)

Docker verwendet Linux -Kernel -Funktionen, um eine effiziente und isolierte Anwendungsumgebung zu bieten. Sein Arbeitsprinzip lautet wie folgt: 1. Der Spiegel wird als schreibgeschützte Vorlage verwendet, die alles enthält, was Sie für die Ausführung der Anwendung benötigen. 2. Das Union File System (UnionFS) stapelt mehrere Dateisysteme, speichert nur die Unterschiede, speichert Platz und beschleunigt. 3. Der Daemon verwaltet die Spiegel und Container, und der Kunde verwendet sie für die Interaktion. 4. Namespaces und CGroups implementieren Container -Isolation und Ressourcenbeschränkungen; 5. Mehrere Netzwerkmodi unterstützen die Containerverbindung. Nur wenn Sie diese Kernkonzepte verstehen, können Sie Docker besser nutzen.

CentOS wird 2024 geschlossen, da seine stromaufwärts gelegene Verteilung RHEL 8 geschlossen wurde. Diese Abschaltung wirkt sich auf das CentOS 8 -System aus und verhindert, dass es weiterhin Aktualisierungen erhalten. Benutzer sollten eine Migration planen, und empfohlene Optionen umfassen CentOS Stream, Almalinux und Rocky Linux, um das System sicher und stabil zu halten.

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

CentOS -Installationsschritte: Laden Sie das ISO -Bild herunter und verbrennen Sie bootfähige Medien. Starten und wählen Sie die Installationsquelle; Wählen Sie das Layout der Sprache und Tastatur aus. Konfigurieren Sie das Netzwerk; Partition die Festplatte; Setzen Sie die Systemuhr; Erstellen Sie den Root -Benutzer; Wählen Sie das Softwarepaket aus; Starten Sie die Installation; Starten Sie nach Abschluss der Installation von der Festplatte neu und starten Sie von der Festplatte.

Backup- und Wiederherstellungsrichtlinie von GitLab im Rahmen von CentOS -System Um die Datensicherheit und Wiederherstellung der Daten zu gewährleisten, bietet GitLab on CentOS eine Vielzahl von Sicherungsmethoden. In diesem Artikel werden mehrere gängige Sicherungsmethoden, Konfigurationsparameter und Wiederherstellungsprozesse im Detail eingeführt, um eine vollständige GitLab -Sicherungs- und Wiederherstellungsstrategie aufzubauen. 1. Manuell Backup Verwenden Sie den GitLab-RakegitLab: Backup: Befehl erstellen, um die manuelle Sicherung auszuführen. Dieser Befehl unterstützt wichtige Informationen wie GitLab Repository, Datenbank, Benutzer, Benutzergruppen, Schlüssel und Berechtigungen. Die Standardsicherungsdatei wird im Verzeichnis/var/opt/gitlab/backups gespeichert. Sie können /etc /gitlab ändern

CentOS -Festplattenhalterung ist in die folgenden Schritte unterteilt: Bestimmen Sie den Namen der Festplattengeräte (/dev/sdx); Erstellen Sie einen Mountspunkt (es wird empfohlen, /mnt /newDisk zu verwenden). Führen Sie den Befehl montage (mont /dev /sdx1 /mnt /newdisk) aus; Bearbeiten Sie die Datei /etc /fstab, um eine permanente Konfiguration des Montings hinzuzufügen. Verwenden Sie den Befehl uMount, um das Gerät zu deinstallieren, um sicherzustellen, dass kein Prozess das Gerät verwendet.

Nachdem CentOS gestoppt wurde, können Benutzer die folgenden Maßnahmen ergreifen, um sich damit zu befassen: Wählen Sie eine kompatible Verteilung aus: wie Almalinux, Rocky Linux und CentOS Stream. Migrieren Sie auf kommerzielle Verteilungen: wie Red Hat Enterprise Linux, Oracle Linux. Upgrade auf CentOS 9 Stream: Rolling Distribution und bietet die neueste Technologie. Wählen Sie andere Linux -Verteilungen aus: wie Ubuntu, Debian. Bewerten Sie andere Optionen wie Container, virtuelle Maschinen oder Cloud -Plattformen.
