Tutorial zum Einrichten geplanter Aufgaben zum Sichern der Oracle-Datenbank unter Linux

Tutorial zum Einrichten geplanter Aufgaben zum Sichern der Oracle-Datenbank unter Linux

1. Überprüfen Sie den Zeichensatz der Datenbank

Der Zeichensatz der Datenbank muss mit den unter Linux festgelegten Umgebungsvariablen übereinstimmen, da es sonst zu verstümmelten Zeichen kommt.

Es sind die folgenden beiden SQL-Anweisungen zu finden:

Wählen Sie * aus nls_database_parameters t, wobei t.parameter='NLS_CHARACTERSET';
Wählen Sie * aus v$nls_parameters, wobei Parameter = "NLS_CHARACTERSET" ist.

Das Abfrageergebnis lautet: NLS_CHARACTERSET AL32UTF8

2. Melden Sie sich als Oracle-Benutzer beim Oracle-Server an und erstellen Sie zugehörige Verzeichnisse

Erstellen Sie ein Verzeichnis für Sicherungsdaten: mkdir -p /home/oracle/dbbak/data

Erstellen Sie ein Backup-Skriptverzeichnis mkdir -p /home/oracle/dbbak/shell

Erstellen Sie das Exportdatenprotokollverzeichnis mkdir /home/oracle/dbbak/log

3. Erstellen Sie eine Skriptdatei im Skriptverzeichnis

vi /home/oracle/dbbak/shell/dbbak.sh

Inhalt des Skripts:

#[plain]einfache Kopie anzeigen
#!/bin/sh
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export DATA_DIR=/home/oracle/dbbak/data
export LOGS_DIR=/home/oracle/dbbak/log
export DELTIME=`date -d "vor 30 Tagen" +%Y%m%d`
export BAKUPTIME=`Datum +%Y%m%d%H%M%S`
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
mkdir -p $DATA_DIR
mkdir -p $LOGS_DIR
echo "Sicherung wird gestartet …"
echo "Bakup-Dateipfad$DATA_DIR/$BAKUPTIME.dmp"
exp Benutzer/Pwd@orcl Datei=$DATA_DIR/orcl$BAKUPTIME.dmp log=$LOGS_DIR/orcl$BAKUPTIME.log
echo "Löschen Sie die Dateisicherung vor Ablauf von 30 Tagen ... Dateipfad: $DATA_DIR/orcl$DELTIME*.dmp"
rm -rf $DATA_DIR/orcl$DELTIME*.dmp
rm -rf $LOGS_DIR/orcl$DELTIME*.log
echo "Die Dateisicherung wurde erfolgreich gelöscht."
echo "Backup abgeschlossen."

Passen Sie die entsprechenden Inhalte Ihren Bedürfnissen an:

export DELTIME=`date -d "30 days ago" +%Y%m%d` konfiguriert die Zeit, für die Daten gespeichert werden. Hier sind es 30 Tage. Sie können es Ihren Bedürfnissen und dem Speicherplatz des Servers entsprechend ändern;
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8-Zeichenkodierungsformat, das mit dem Ergebnis im ersten Schritt übereinstimmen muss;
exp DISPLAY/DISPLAY@orcl Datei=$DATA_DIR/orcl$BAKUPTIME.dmp log=$LOGS_DIR/orcl$BAKUPTIME.log

Exportanweisung, exportiert die gesamte Tabelle, die nach Bedarf geändert werden kann, exp Benutzername/Passwort@SID Datei=vollständiger Pfad der DMP-Datei log=vollständiger Pfad der Protokolldatei

4. Ändern Sie die Ausführungsberechtigungen der Skriptdatei

chmod 777 dbbak.sh

Testen Sie, ob es ausgeführt werden kann: ./dbbak.sh

Der Export wurde erfolgreich und ohne Warnungen beendet. Das bedeutet, dass beim Export keine Probleme aufgetreten sind. Falls Probleme auftreten, lösen Sie diese.

5. Geplante Aufgaben hinzufügen

Unter Oracle-Benutzer

crontab –e

Einfügen: 59 23 * * * /home/oracle/dbbak/shell/dbbak.sh

Gibt an, dass das Skript jeden Tag um 23:59 Uhr ausgeführt wird

Crond neu starten:

service crond restart

6. DMP-Datei importieren

Vor dem Importieren müssen Sie alle Tabellen unter dem entsprechenden Benutzer löschen, um Probleme mit den Tabellendaten nach dem Importieren zu vermeiden:

sqlplus user/pwd // Benutzername und Passwort zum Anmelden bei der Datenbank SQL> SELECT 'drop table ' || table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME;

Führen Sie dann die Abfrageergebnisse aus

Führen Sie diese Zeile aus, um verstümmelte Tabellenfeldkommentare zu vermeiden:

    exportiere NLS_LANG=AMERICAN_AMERICA.AL32UTF8;
Daten importieren:
imp DISPLAY/DISPLAY Datei=/home/oracle/dbbak/data/orcl20191121113703.dmp von Benutzer=DISPLAY zu Benutzer=DISPLAY ignorieren=y;
// ignore=y Fehler ignorieren und Ausführung fortsetzen

Zusammenfassen

Oben habe ich Ihnen das Einrichten geplanter Aufgaben zum Sichern der Datenbank für Oracle unter Linux vorgestellt. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung zum Anlegen von Oracle-Datenbankbenutzern unter LINUX
  • Methoden zur Optimierung von Oracle-Datenbanken mit großen Speicherseiten unter Linux
  • Lösung für das ora12505-Problem in der Oracle-Datenbank des Linux-Systems
  • Detaillierte Erklärung zur automatischen Sicherung einer Oracle-Datenbank unter Linux
  • Detaillierter Prozess zum Erstellen einer Oracle-Datenbank unter Linux

<<:  Einführung in die MySQL-Ansicht und Tutorial zur grundlegenden Bedienung

>>:  vue.js lädt Bilder entsprechend der Bild-URL herunter

Artikel empfehlen

Vollständige Analyse der Webseitenelemente

Relative Längeneinheiten em Beschreibung: Relative...

CSS+HTML zur Realisierung der Funktion der oberen Navigationsleiste

Implementierungseffektdiagramm für die Navigation...

Detaillierte Erklärung der MySQL-Vorkompilierungsfunktion

In diesem Artikel wird die MySQL-Vorkompilierungs...

Erläuterung des Prinzips des MySQL-Replikationsmechanismus

Hintergrund Bei der Replikation handelt es sich u...

Beispielanalyse für MySQL-Transaktionen, Isolationsebenen und Sperrenverwendung

Dieser Artikel beschreibt anhand von Beispielen M...

JavaScript zur Implementierung der Webversion des Schlangenspiels

In diesem Artikel wird der spezifische Code für J...

Javascript Frontend Optimierungscode

Inhaltsverzeichnis Optimierung der if-Beurteilung...

So teilen und führen Sie mehrere Werte in einem einzigen Feld in MySQL zusammen

Mehrere Werte kombiniert anzeigen Nun haben wir d...

Detailanalyse der MySQL-Berechtigungskontrolle

Inhaltsverzeichnis 1. Globale Ebene 2. Datenbanke...

Lösung für „Spezialisierter Schlüssel war zu lang“ in MySQL

Inhaltsverzeichnis Lösung 1 Lösung 2 Beim Erstell...

Lösung für mehrere 302-Antworten im Nginx-Proxy (Nginx Follow 302)

Proxying mehrerer 302er mit proxy_intercept_error...

So installieren Sie vncserver in Ubuntu 20.04

Ubuntu 20.04 wurde im April 2020 offiziell veröff...