Referenzdokument zur Oracle_rman-Sicherungskonfiguration unter Linux

Heute habe ich unter Linux ein Konfigurationsdokument für die Oracle-Datenbank-Rman-Sicherung als Referenz veröffentlicht. Derzeit verwende ich dieses Dokument in vielen Umgebungen für die Sicherung. Wenn etwas nicht stimmt, korrigieren Sie mich bitte. Ich werde Korrekturen in der Produktionsumgebung vornehmen.

1. Verzeichniseinstellungen

1.1 Anweisungen zur Rman-Sicherung

 Beschreibung der
Sicherungsstufe 1. Die vollständige Sicherung der Stufe 0 ist die Grundlage jeder inkrementellen Sicherung.
2. Die inkrementelle Sicherung ist in zwei Situationen unterteilt: inkrementelle und kumulative Sicherung. Die erstere wird auf derselben Ebene oder niedriger als Sie selbst gesichert, die letztere nur niedriger als ihre Stufe;
3, mit der inkrementellen Sicherung Beschreibung: eine Änderung der Sicherung der Ebene 1 seit Stufe 1 oder Stufe 0, sobald die Sicherung der Stufe 2 oder Stufe 1 die Sicherung der Stufe 2 oder seit der Stufe 0 ändert;
4, kumulative Sicherungsanweisungen: eine Änderung der Sicherung der Stufe 1 seit der Stufe 0 , Level2 sichert die Änderungen seit dem letzten Level1 oder Level0.
 Relevante Hinweise:
1. Wenn die Datenmenge relativ gering oder die Leistung des Datenbankservers sehr hoch ist, können Sie einmal täglich eine vollständige Sicherung durchführen.
2. Wenn Sie die Sicherungsdatei aufgrund der OSS-Speicherung nach der Sicherung im OSS-Speicher von Alibaba Cloud speichern müssen Es gibt eine Größenbeschränkung von 4 GB. Sie müssen die folgenden drei Rman-Konfigurationen ändern, um die Größe des RMAN-Sicherungsstücks zu begrenzen

1、level0_backup.rman文件
allocate channel C2 type disk ;                        --修改前
allocate channel C2 type disk maxpiecesize = 3500M ;  --修改后
2、level1_backup.rman文件
allocate channel C3 type disk ;                        --修改前
allocate channel C3 type disk maxpiecesize = 3500M ;  --修改后
3、level2_backup.rman文件
allocate channel C4 type disk ;                        --修改前
allocate channel C4 type disk maxpiecesize = 3500M ;  --修改后

3. Konfigurieren Sie Crontab-Timing-Aufgaben und vermeiden Sie geschäftige Geschäftszeiten.
4. Verwenden Sie Oracle-Benutzer zum Konfigurieren von Timing-Aufgaben. Wenn Sie Root-Benutzer zum Konfigurieren von Timing-Aufgaben verwenden müssen, achten Sie darauf, Umgebungsvariablen zu ändern und Skripts im Skriptabschnitt geplanter Aufgaben auszuführen. Der Pfad verfügt über Lese- und Schreibausführungsberechtigungen.

1.2. Verzeichnisbeschreibung

Skriptpfad für die Sicherung der Daemon-Bibliothek: / backup / rman / scripts /
Sicherung der Archivdatei nach Datum: / backup / arch / date +% Y% m% d
Sicherung der Steuerdatei: / backup / rman / controlfile
Sicherung der Datenbankdatei nach Datum: / backup / rman / data / date +% Y% m% d
Generieren Sie Sicherungsprotokolle nach Datum: / backup / rman / logs / date +% Y% m% d
RMAN-Sicherungsskript: / backup / rman / scripts
Bitte füllen Sie alle oben genannten Verzeichnisse aus Remote-Backup.

2. rman backup

2.1. Sicherungsstrategie

 Bewahren Sie die letzten 5 Sicherungsdaten auf:
 Löschen Sie redundante und ungültige Sicherungen jeden Tag um 04:45 Uhr.
 Sichern Sie die Archivprotokolle
jeden Tag um 12 und 20 Uhr.  Führen Sie die vollständige Sicherung der Datenbank der Stufe 0 jeden Tag um 03:20 Uhr durch.

2.2 Sicherungsplan

Die hier verwendete tägliche Ausrüstung kann von Montag bis Samstag je nach Bedarf hinzugefügt und am Sonntag vollständig vorbereitet werden.
Zeit Montag bis Sonntag
12:00 Protokollsicherung
20:00 Protokollsicherung
03:20 Vollständige Sicherung
Fügen Sie das Skript zur Crontab des Oracle-Benutzers hinzu, lassen Sie es automatisch gemäß der Strategie ausführen und passen Sie die geplanten Aufgaben an die tatsächlichen Anforderungen an.

$ crontab -e
20 03 * * * /backup/rman/scripts/level0_backup.sh
45 04 * * * /backup/rman/scripts/delobsolete.sh
00 12 * * * /backup/rman/scripts/arch.sh
00 20 * * * /backup/rman/scripts/arch.sh

2.3 Vorbereitung

Stellen Sie die Oracle-Datenbank in das "Installationsmodul", um den Protokollarchivierungsmodus zu aktivieren, und die archivierten Protokolle werden im Bereich für die schnelle Wiederherstellung gespeichert

mkdir -p /backup/arch
mkdir -p /backup/rman/controlfile
mkdir /backup/rman/data
mkdir /backup/rman/logs
mkdir /backup/rman/scripts
chown -R oracle:oinstall /backup

Stellen Sie die Verbindungs-SID vor der folgenden Datenbankverbindung ein

$ export ORACLE_SID=daemon
$ sqlplus / as sysdba
SQL> SELECT log_mode from v$database;


Das Ausgabeergebnis ist ARCHIVELOG, was bedeutet, dass das Archiv aktiviert wurde. Das
Ausgabeergebnis ist NOARCHIVELOG, was bedeutet, dass das Archiv nicht aktiviert ist.

(1) Der Vorgang öffnet das Archivprotokoll.

$ sqlplus / as sysdba
SQL> shutdown immediate;
startup mount;
alter database archivelog;
alter database open;

(2) Aktivieren Sie die Änderungsverfolgungsfunktion, um den Speicherort von Datenblöcken aufzuzeichnen, die sich seit der letzten Sicherung geändert haben, um die Leistung inkrementeller Sicherungen zu verbessern. Die Änderungsverfolgungsdatei wird standardmäßig im Bereich für die schnelle Wiederherstellung gespeichert (die Blockänderungsverfolgung wird aktiviert, wenn die inkrementelle RMAN-Sicherung verwendet wird, um die Zeit der RMAN-Sicherung zu verkürzen).

$ sqlplus / as sysdba
SQL> shutdown immediate;
startup mount
alter system set db_create_file_dest='/u01/oracle/fast_recovery_area';
alter database enable block change tracking;
alter database open;

(3) Anzeigen und Ändern der Größe des Flashback-Bereichs (die Größe wird entsprechend der tatsächlichen Situation geändert).

SQL> show parameter db_recovery_file_dest;
alter system set db_recovery_file_dest_size=40G scope=both;
shutdown immediate;
startup;

2.4. Rman-Konfiguration

$ rman target /
CONFIGURE RETENTION POLICY TO REDUNDANCY 5;
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 5 DAYS;

Die obigen zwei Sätze können nur eine Bedingung verwenden. Speichern Sie 5 Kopien oder 5 Tage Wiederherstellungsfenster (Empfehlung zur Verwendung des Wiederherstellungsfensters). Passen Sie diese bitte nach Bedarf an

CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/rman/controlfile/%F';
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/backup/rman/controlfile/snapcf_daemon.f';

2.5. Rman-Skript

1) delobsolete.rman

cd /backup/rman/scripts
$ vi delobsolete.rman
run {
  crosscheck backup;
  delete noprompt obsolete;
  delete noprompt expired backup;
}
exit

2) arch.rman

$ vi arch.rman
sql 'alter system archive log current' ;
run {
allocate channel C1 type disk FORMAT '/backup/arch/' ;
backup 
skip inaccessible
tag arch_daemon
filesperset 10 format '/backup/arch/%T/arch_%T_%d_%t_%s_%p' archivelog all delete input;
release channel C1;
}
exit

3) level0_backup.rman

$ vi level0_backup.rman
sql 'PURGE DBA_RECYCLEBIN';
sql 'alter system archive log current' ;
run {
allocate channel C2 type disk ;
backup 
incremental level 0 
skip inaccessible 
tag full0_daemon
DATABASE 
filesperset 5 format '/backup/rman/data/%T/db_0_%T_%d_%t_%s_%p';
release channel C2;
}
exit

4) level1_backup.rman

$ vi level1_backup.rman
sql 'PURGE RECYCLEBIN';
sql 'alter system archive log current' ;
run {
allocate channel C3 type disk ;
backup 
incremental level 1
skip inaccessible 
tag level1_daemon
DATABASE 
filesperset 5 format '/backup/rman/data/%T/db_1_%T_%d_%t_%s_%p_inc' ;
release channel C3;
}
exit

5) level2_backup.rman

$ vi level2_backup.rman
sql 'PURGE RECYCLEBIN';
sql 'alter system archive log current' ;
run {
allocate channel C4 type disk ;
backup 
incremental level 2
skip inaccessible 
tag level2_daemon
DATABASE 
filesperset 5 format '/backup/rman/data/%T/db_2_%T_%d_%t_%s_%p_inc' ;
release channel C4;
}
exit

2.6 Geplantes Aufgabenskript

1) delobsolete.sh

$ vi delobsolete.sh
#!/bin/sh
#export LANG=en_US
source /home/oracle/.bash_profile
export ORACLE_SID=daemon
mkdir /backup/rman/logs/`date +%Y%m%d`
rman target / cmdfile=/backup/rman/scripts/delobsolete.rman msglog=/backup/rman/logs/`date +%Y%m%d`/`date +%Y%m%d_%H%M_obsolete.log`
exit

2) arch.sh.

$ vi arch.sh
#!/bin/sh
#export LANG=en_US
source /home/oracle/.bash_profile
export ORACLE_SID=daemon
mkdir /backup/arch/`date +%Y%m%d`
mkdir /backup/rman/logs/`date +%Y%m%d`
rman target / cmdfile=/backup/rman/scripts/arch.rman msglog=/backup/rman/logs/`date +%Y%m%d`/`date +%Y%m%d_%H%M_arch.log`
exit

3) level0_backup.sh

$ vi level0_backup.sh
#!/bin/sh
#export LANG=en_US
source /home/oracle/.bash_profile
export ORACLE_SID=daemon
mkdir /backup/rman/data/`date +%Y%m%d`
mkdir /backup/rman/logs/`date +%Y%m%d`
rman target / cmdfile=/backup/rman/scripts/level0_backup.rman msglog=/backup/rman/logs/`date +%Y%m%d`/`date +%Y%m%d_%H%M_0.log`
exit

4) level1_backup.sh

$ vi level1_backup.sh
#!/bin/sh
#export LANG=en_US
source /home/oracle/.bash_profile
export ORACLE_SID=daemon
mkdir /backup/rman/data/`date +%Y%m%d`
mkdir /backup/rman/logs/`date +%Y%m%d`
rman target / cmdfile=/backup/rman/scripts/level1_backup.rman msglog=/backup/rman/logs/`date +%Y%m%d`/`date +%Y%m%d_%H%M_1.log`
exit

5) level2_backup.sh

$ vi level2_backup.sh
#!/bin/sh
#export LANG=en_US
source /home/oracle/.bash_profile
export ORACLE_SID=daemon
mkdir /backup/rman/data/`date +%Y%m%d`
mkdir /backup/rman/logs/`date +%Y%m%d`
rman target / cmdfile=/backup/rman/scripts/level2_backup.rman msglog=/backup/rman/logs/`date +%Y%m%d`/`date +%Y%m%d_%H%M_2.log`
exit

3. Beenden

Ich denke du magst

Origin blog.51cto.com/8355320/2590393
Empfohlen
Rangfolge