oracle yedekleme ve kurtarma --- RMAN düzenli tam yedeklemeyi paylaşın ve yedekleme komut dosyaları ekleyin (0 + 1)

Genel Bakış

Daha önce yazdığınız iki rman yedekleme ve kurtarma komut dosyasını paylaşın. Kendiniz test edebilir, bazı özel parametreleri değiştirebilir, oluşturma dizinini mevcut duruma göre değiştirebilir ve tam yedekleme ve artımlı yedekleme tarihini gerektiği gibi ayarlayabilirsiniz.

Komut dosyasının içeriğini aşağıda paylaşın.

RMAN zamanlama tam komut dosyası

1. Karşılık gelen bir dizin oluşturun

mkdir -p / rmanbackup / rmanlog mkdir -p / rmanbackup / dbbak mkdir -p / rmanbackup / komut dosyaları mkdir -p / rmanbackup / hafta mkdir -p / rmanbackup / gün chown -R oracle: oinstall / rmanbackup chmod -R 755 / rmanbackup

2. Komut dosyası içeriği (oracle yürütme)

vi /rmanbackup/scripts/rmanbackup.sh

# / bin / bash ORACLE_BASE = / u01 / app / oracle dışa aktar ORACLE_HOME = ORACLE_BASE / ürün / 11.2.0 / db_1 $ dışa aktar ORACLE_OWNER = oracle dışa aktar ORACLE_SID = nwppdb_1 dışa aktar ORACLE_UNQNAME = nwppdb'yi dışa aktar dışa aktarma PATH = / u01 / app / oracle / product / 11.2.0 / db_1 / bin: /u01/app/oracle/product/11.2.0/db_1/OPatch: /usr/lib64/qt-3.3/bin: / usr / local / bin: / bin: / usr / bin: / usr / local / sbin: / usr / sbin: / sbin: / home / oracle / bin dışa aktar LD_LIBRARY_PATH = $ ORACLE_HOME / lib: $ ORACLE_HOME / rdbms / lib: / lib: / usr / lib dışa aktar CLASSPATH = $ ORACLE_HOME / JRE: $ ORACLE_HOME / jlib: $ ORACLE_HOME / rdbms / jlib: $ ORACLE_HOME / ağ / jlib dışa aktar NLS_LANG = AMERICAN_AMERICA.ZHS16GBK dışa aktar NLS_DATE_FORMAT = "yyyy-aa-gg HH24: MI: SS" ORACLE_PATH = / home / oracle dışa aktar bugün = `tarih +% Y-% m-% d` #Delete 7 günün süresi doldu find / rmanbackup / dbbak / -name "* tam *" -mtime +7 -exec rm {} \; find / rmanbackup / dbbak / -name "* arşiv günlüğü *" -mtime +7 -exec rm {} \; find / rmanbackup / dbbak / -name "kontrol dosyası *" -mtime +7 -exec rm {} \; find / rmanbackup / dbbak / -name "spfile *" -mtime +7 -exec rm {} \; # rman hedef / nocatalog günlüğü /rmanbackup/rmanlog/rmanbk_$today.log ek < < EOF Çalıştırmak { çapraz kontrol yedekleme; noprompt süresi dolmuş yedeklemeyi silin; kanal c1 cihaz tipi diski ayırın; --maxpiecesize = 3500M RMAN yedek parçasının boyutunu sınırlayın kanal c2 cihaz tipi diski ayırın; kanal c3 cihaz tipi diski ayırın; kanal c4 cihaz tipi diski ayırın; sıkıştırılmış yedekleme kümesi biçimi olarak yedekleme '/ rmanbackup / dbbak / nwppdb_full_% T_% d_% s_% p_% u.dbf' veritabanı artı arşiv günlüğü; sql "ALTER SYSTEM anahtar günlük dosyası"; sql "ALTER SYSTEM anahtar günlük dosyası"; sql "ALTER SYSTEM anahtar günlük dosyası"; noprompt arşiv günlüğünü time'sysdate-7'ye kadar sil; geçerli denetim dosyası biçimini yedekle '/ rmanbackup / dbbak / controlfile_% T_% U_% t.crl'; yedekleme spfile biçimi '/ rmanbackup / dbbak / spfile_% T_% U_% t.ora'; yayın kanalı c1; yayın kanalı c2; yayın kanalı c3; yayın kanalı c4; } çıkış EOF

Günlük çıktısı:

Aşağıdaki gibi oluşturulur:

3. Zamanlama görevi (oracle)

Biçim: dakika, saat, gün, ay, haftanın günü komutu

3022 * * * /rmanbackup/scripts/rmanbackup.sh

İki, RMAN ek komut dosyası (0 + 1)

1. Yedek komut dosyası

1.1 Hafta sonu seviye 0 tam ekipman

vi /rmanbackup/scripts/rman_0_level_full.sh

# / bin / bash ORACLE_BASE = / u01 / app / oracle dışa aktar ORACLE_HOME = ORACLE_BASE / ürün / 11.2.0 / db_1 $ dışa aktar ORACLE_OWNER = oracle dışa aktar ORACLE_SID = nwppdb_1 dışa aktar ORACLE_UNQNAME = nwppdb'yi dışa aktar dışa aktarma PATH = / u01 / app / oracle / product / 11.2.0 / db_1 / bin: /u01/app/oracle/product/11.2.0/db_1/OPatch: /usr/lib64/qt-3.3/bin: / usr / local / bin: / bin: / usr / bin: / usr / local / sbin: / usr / sbin: / sbin: / home / oracle / bin dışa aktar LD_LIBRARY_PATH = $ ORACLE_HOME / lib: $ ORACLE_HOME / rdbms / lib: / lib: / usr / lib dışa aktar CLASSPATH = $ ORACLE_HOME / JRE: $ ORACLE_HOME / jlib: $ ORACLE_HOME / rdbms / jlib: $ ORACLE_HOME / ağ / jlib dışa aktar NLS_LANG = AMERICAN_AMERICA.ZHS16GBK dışa aktar NLS_DATE_FORMAT = "yyyy-aa-gg HH24: MI: SS" ORACLE_PATH = / home / oracle dışa aktar bugün = `tarih +% Y-% m-% d` #Delete 7 günün süresi doldu bul / rmanbackup / hafta / -name "* tam *" -mtime +7 -exec rm {} \; bul / rmanbackup / hafta / -isim "* ark *" -mtime +7 -exec rm {} \; bul / rmanbackup / hafta / -name "ctl *" -mtime +7 -exec rm {} \; bul / rmanbackup / hafta / -name "spfile *" -mtime +7 -exec rm {} \; # 0 seviyesinde tam ekipman rman hedef / nocatalog msglog /rmanbackup/rmanlog/fullback0_$today.log < < EOF Çalıştırmak{ çapraz kontrol yedekleme; noprompt süresi dolmuş yedeklemeyi silin; kanal d1 tipi diski ayırın; kanal d2 tipi diski ayırın; kanal d3 tipi diski ayırın; kanal d4 tipi diski ayırın; sıkıştırılmış yedekleme kümesi veritabanı biçimi olarak yedek artımlı düzey 0 '/ rmanbackup / hafta / nwppdbfull0_% d_% T_% t_% s_% p'; sql'alter sistem arşiv günlüğü akımı '; sıkıştırılmış yedekleme kümesi dosyaları olarak yedekleme 10 format '/ rmanbackup / hafta / arch_% d_% T_% t_% s_% p' arşiv günlüğü tümü; geçerli denetim dosyası biçimini yedekle '/ rmanbackup / hafta / ctl_% d_% T_% t_% s_% p'; yedekleme spfile biçimi '/ rmanbackup / hafta / spfile_% T_% U_% t.ora'; yayın kanalı d1; yayın kanalı d2; yayın kanalı d3; yayın kanalı d4;} EOF

1.2 Pazartesiden Cumartesiye, hafta sonları seviye 0 tam yedekleme için her gün seviye 1 farklı artımlı yedekleme gerçekleştirin

vi /rmanbackup/scripts/rman_1_level_incremental.sh

# / bin / bash ORACLE_BASE = / u01 / app / oracle dışa aktar ORACLE_HOME = ORACLE_BASE / ürün / 11.2.0 / db_1 $ dışa aktar ORACLE_OWNER = oracle dışa aktar ORACLE_SID = nwppdb_1 dışa aktar ORACLE_UNQNAME = nwppdb'yi dışa aktar dışa aktarma PATH = / u01 / app / oracle / product / 11.2.0 / db_1 / bin: /u01/app/oracle/product/11.2.0/db_1/OPatch: /usr/lib64/qt-3.3/bin: / usr / local / bin: / bin: / usr / bin: / usr / local / sbin: / usr / sbin: / sbin: / home / oracle / bin dışa aktar LD_LIBRARY_PATH = $ ORACLE_HOME / lib: $ ORACLE_HOME / rdbms / lib: / lib: / usr / lib dışa aktar CLASSPATH = $ ORACLE_HOME / JRE: $ ORACLE_HOME / jlib: $ ORACLE_HOME / rdbms / jlib: $ ORACLE_HOME / ağ / jlib dışa aktar NLS_LANG = AMERICAN_AMERICA.ZHS16GBK dışa aktar NLS_DATE_FORMAT = "yyyy-aa-gg HH24: MI: SS" ORACLE_PATH = / home / oracle dışa aktar bugün = `tarih +% Y-% m-% d` #Delete 7 günün süresi doldu bul / rmanbackup / gün / -name "* tam *" -mtime +7 -exec rm {} \; find / rmanbackup / day / -name "* arch *" -mtime +7 -exec rm {} \; find / rmanbackup / day / -name "ctl *" -mtime +7 -exec rm {} \; find / rmanbackup / day / -name "spfile *" -mtime +7 -exec rm {} \; rman hedef / nocatalog msglog /rmanbackup/rmanlog/incrementback1_$today.log < < EOF Çalıştırmak{ çapraz kontrol yedekleme; noprompt süresi dolmuş yedeklemeyi silin; kanal d1 tipi diski ayırın; kanal d2 tipi diski ayırın; kanal d3 tipi diski ayırın; kanal d4 tipi diski ayırın; sıkıştırılmış yedekleme kümesi veritabanı biçimi olarak yedek artımlı seviye 1 '/ rmanbackup / gün / artış1_% d_% T_% t_% s_% p'; sql'alter sistem arşiv günlüğü akımı '; sıkıştırılmış yedekleme kümesi dosyaları olarak yedekleme 10 format '/ rmanbackup / day / arch_% d_% T_% t_% s_% p' arşiv günlüğü tümü; geçerli denetim dosyası biçimini yedekle '/ rmanbackup / gün / ctl_% d_% T_% t_% s_% p'; yedek spfile biçimi '/ rmanbackup / day / spfile_% T_% U_% t.ora'; yayın kanalı d1; yayın kanalı d2; yayın kanalı d3; yayın kanalı d4; } EOF

2. Yoğun iş saatlerinden kaçınmak için Crontab zamanlanmış görevler

04 * * 0 /rmanbackup/scripts/rman_0_level_full.sh 04 * * 1-6 /rmanbackup/scripts/rman_1_level_incremental.sh

Düzenli yedekleme yapmak aslında yeterli değildir.Ayrıca, yedekleme verilerinin geçerliliğini düzenli olarak kontrol etmeniz gerekir veya yedeklemenin ne zaman başarısız olacağını belirleyebilirsiniz ~

RMAN yedekleme ve kurtarma hakkında daha fazla bilgi daha sonra paylaşılacak ve ilgilenen arkadaşlar buna dikkat edebilir!

"Veri kablosu katili" bir göz atın ve Apple veri kablosunu kimin seçmesi gerektiğini söyleyin
önceki
Jobs: iPhone8'i gördüğüm için hayal kırıklığına uğradım!
Sonraki
Ma Yun Bar açıldı, çevredeki arkadaşlar kutlamaya geldi, Wang Xiaofei'nin büyük S'si köpek maması söyleme fırsatını yakaladı
Apple sonunda itiraf etti! Frekans azaltma kapısı için resmi olarak özür dileriz, kullanıcı iddiaların devam eden temyizini kabul etmez!
Apple sonunda iPhone 8'in bu kusurunu itiraf etti ve en kısa sürede düzelteceğine söz verdi!
PLC'yi nasıl iyi öğrenebilirim? Kendi kendine çalışma veya eğitim sınıfına gitme? Kıdemli elektrik mühendisleri büyüme sürecini sizinle paylaşıyor
Oyuncu Hawick Lau boşanmadan sonra ortaya çıktı, kimliği yeniden tanımlanmış gibiydi, biraz beklenmedik ama çok makul
OPPO Dizinin aylık "ovma" başlıklarını bulun İnsanlar neden bu diziyi bu kadar özlüyor?
Silindir neden hasar görmeden sık sık ileri geri hareket edebiliyor? Dinamik resim size ilkesini gösterir!
Japon medyası Jiang Jinfu olayının sonuçlarını açıkladı, kararın nedeni belirsiz ve kısa dört karakterli açıklama belirsiz.
İPhone'un temizlenmesi gerekiyor mu? Belleği kolayca ikiye katlamak için bu 2 püf noktasını öğrenin
Elektrikçi operasyon tabuları,% 80'den fazla kesinlikle uyabilen iyi bir elektrikçi!
Ayrıntılı oracle log madenciliği-LogMiner (örnek gösteriyle)
Wang Xiaofei, karısını büyük bir güçle şımartıyor, büyük S ile alışveriş yapmak için sabırlı ve bir saatten fazla zaman harcıyor!
To Top