İNCREMENTAL BACKUP
ARTIRIMLI YEDEKLEMEME
Nedir ?
Oracle veritabanında artımlı yedekleme (incremental backup), veritabanının tamamını yedeklemek
yerine, son tam yedeklemeden veya son artımlı yedeklemeden sonra değişen verileri yedeklemeyi
sağlayan bir tekniktir. Bu, yedekleme işlemlerinin süresini ve disk alanı kullanımını azaltır.
Özetle, artımlı yedeklemeler Oracle veritabanında veri kaybını en aza indirmek ve yedekleme
işlemlerini optimize etmek için kullanılan önemli bir yöntemdir.
ARTIMLI YEDEKLEME İLE DATAPUMP ARASINDAKİ FARK
ARTIRIMLI YEDEKLEME
- Verimlilik: Sadece değişen verilerin
yedeklenmesi, yedekleme işleminin süresini ve
disk alanı kullanımını azaltır. - Hızlı Kurtarma: Veritabanının tamamını
yedeklemek yerine sadece değişiklikleri
yedeklediği için geri yükleme işlemi daha hızlı
olabilir. - Daha Küçük Yedekleme Dosyaları: Yedekleme
dosyaları daha küçük olacağından disk alanı
tasarrufu sağlar. - Sürekli Koruma: Düzenli aralıklarla artımlı
yedeklemeler alarak veritabanını sürekli olarak
koruma altında tutar.
- Karmaşıklık: Yedekleme ve geri yükleme
işlemleri daha karmaşık olabilir. - RMAN
kullanımı hakkında bilgi sahibi olunması
gerekebilir. - Daha Fazla Yönetim: Artımlı yedeklemelerin
doğru şekilde yönetilmesi ve izlenmesi gerekir. - Geri Yükleme Süresi: Çok sayıda artımlı
yedekleme dosyasının birleştirilmesi
gerektiğinde geri yükleme süresi uzayabilir.
DATA PUMP EXPORT (EXPDP
- Kolay Kullanım: Data Pump Export, veritabanı
nesnelerini (tablolar, şemalar, vs.) yedeklemek
için kullanımı kolay bir araçtır. - Esneklik: Belirli tabloları, şemaları veya
veritabanı nesnelerini seçerek yedekleme
yapılabilir. - Platform Bağımsızlığı: Data Pump Export,
veritabanı nesnelerini ve verilerini başka bir
Oracle veritabanına kolayca aktarmayı sağlar. - Hızlı Yedekleme: Küçük veritabanları veya belirli
nesneler için hızlı yedekleme sağlar.
- Tam Yedekleme Gerektirir: Her yedekleme
işlemi, tam bir yedekleme olduğundan daha
fazla zaman ve disk alanı kullanabilir. - Yavaş Geri Yükleme: Büyük veritabanlarında
geri yükleme işlemi uzun sürebilir. - Daha Fazla Disk Alanı: Tam yedeklemeler daha
fazla disk alanı gerektirir. - Eksik Sürekli Koruma: Sadece belirli zamanlarda
alınan yedekler, veritabanının sürekli koruma
altında olmamasına neden olabilir.
Nasıl Yapılır?
Dikkat: Bu işlemi yapmadan önce kesinlikle deneme database alıştırma yapın ve kesinlikle bir tane
EXPDP full yedek alın. Aşamalar sırasında hata çıkması durumunda system. Dosyalarını bozup
database erişimini kayıt edebilirsiniz.
Yeni kurulmuş bir Oracle veritabanında artımlı yedekleme yapmak için adım adım yapmanız
gerekenleri aşağıda bulabilirsiniz. Bu talimatlar, Oracle Recovery Manager (RMAN) kullanarak artımlı
yedekleme yapılandırmanızı ve yürütmenizi sağlar.
RMAN Yapılandırması ve Yedekleme Hazırlığ
ARCHIVELOG MODUNU ETKİNLEŞTİRME
ARCHIVELOG Modunu Etkinleştirme
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL> ARCHIVE LOG LIST;
Flash Recovery Area (FRA) Ayarlar
SQL> ALTER SYSTEM SET db_recovery_file_dest_size = 10G SCOPE=BOTH;
RMAN Yapılandırma Ayarları
RMAN> SHOW ALL;
-- Yedekleme ayarlarını yapılandırma
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/path/to/backup_dir/%U';
TAM YEDEK ALMA
BACKUP DATABASE PLUS ARCHIVELOG;
backup başlatılıyor; saat 27/06/2024
geçerli günlük arşivlendi
ayrılan kanal: ORA_DISK_1
…….
ORA_DISK_1 kanalı: 1 bitiş parçası 27/06/2024 konumunda
parça kontrol
noktası=E:\APP\ALISAHANCOM\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2024_06_27\O1_MF_
ANNNN_TAG20240627T105840_M7T6XJF4_.BKP etiket=TAG20240627T105840 açıklama=NONE
ORA_DISK_1 kanalı: yedekleme kümesi tamamlandı, geçen süre: 00:00:01
ORA_DISK_1 kanalı: yedekleme kümesi tamamlandı, geçen süre: 00:00:01
backup tamamlandı; saat 27/06/2024
FLASH_RECOVERY_AREA DİZİNİ
Şuana kadar arşiv log aktif edilip bir adet full yedek alındı. Alınan Dosya bilgilerini nereye ettiğini log
içinden takip edebilirsiniz.
Oracle kurulum dizininden yer alan flash_recovery_area dizininde arşiv log ile ilgili dizinleri bula
bilirsiniz.
Anlamlar
![](https://www.alisahan.com/wp-content/uploads/2024/06/Ekran-goruntusu-2024-06-27-110803.png)
Flash Recovery Area (FRA): Oracle’da FRA, veritabanı yedekleri, arşiv
logları, kontrol dosyaları ve diğer kurtarma ile ilgili dosyalar için
merkezi bir depolama alanıdır.
Arşiv Logları: ARCHIVELOG dizini, veritabanının arşiv log dosyalarını
saklar. Arşiv logları, veritabanının geçmiş işlemlerinin bir kopyasıdır ve
genellikle kurtarma işlemleri sırasında kullanılır. Veritabanı
ARCHIVELOG modunda çalıştığında, redo log dosyaları dolduğunda
otomatik olarak arşivlenir ve bu dizine kaydedilir.
Yedekleme Setleri: BACKUPSET dizini, veritabanı yedekleme setlerini
içerir. Oracle Recovery Manager (RMAN) tarafından oluşturulan
yedekleme setleri burada saklanır. Yedekleme setleri, veritabanının
yedeklerini alırken kullanılan mantıksal gruplardır ve tam veya artımlı
yedeklemeler içerebilir.
Online Redo Log Dosyaları: ONLINELOG dizini, veritabanının aktif redo
log dosyalarını içerir. Redo log dosyaları, veritabanındaki her
değişikliği kaydeder ve bu dosyalar sayesinde veritabanı, bir kesinti
sonrası geri yüklenebilir. Her veritabanı en az iki redo log grubu içerir
ve bu gruplar döngüsel olarak kullanılır
GÜNLÜK ARTIMLI YEDEKLEME (DİFFERENTİAL)
SQL> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
backup başlatılıyor; saat 27/06/2024
ORA_DISK_1 kanalı kullanılıyor…
..
.
.
ORA_DISK_1 kanalı: 1 başlangıç parçası 27/06/2024 konumunda
ORA_DISK_1 kanalı: 1 bitiş parçası 27/06/2024 konumunda
parça kontrol
noktası=E:\APP\ALISAHANCOM\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2024_06_27\O1_MF_
NCSN1_TAG20240627T111402_M7T7V1J1_.BKP etiket=TAG20240627T111402 açıklama=YOK
yedekleme kümesi tamamlandı
Windows için Yedekleme Komutu.
Yedek.bat oluşturup içerisine aşağıdaki komutu yazarsanız Windows görev zamanlayıcıdaki şart
altında artırımlı yedek alacaktır
@echo off
rman target / <
Yedekleri Doğrulama ve Test Etme
Yedeklerinizi doğrulamak ve kurtarma işlemlerini test etmek için düzenli olarak aşağıdaki adımları
uygulayın:
RMAN> LIST BACKUP;
-- Mevcut yedekleri listeleyin ve yedek seti numarasını bulun
![](https://www.alisahan.com/wp-content/uploads/2024/06/Resim1.png)
Tek bir yedeği doğrulamak için yedek id değerini yada alınan tüm yedekleri doğrulama için ise aşağıdaki komutu gire bilirsiniz
RMAN> VALIDATE BACKUPSET 5;
-- Yedek seti 5 numarayı doğrular
Eğer tüm veritabanının yedeklerini doğrulamak istiyorsanız:
RMAN> VALIDATE DATABASE;
Kurtarma Testi
Kurtarma Testi” (Recovery Test), yedeklerinizi ve kurtarma prosedürlerinizi doğrulamak için kullanılan bir süreçtir. Bu test, gerçek bir kurtarma işlemi sırasında karşılaşabileceğiniz sorunları önceden tespit etmenize yardımcı olur. Gerçek ortamda veri kaybını veya kesintiyi önlemek için genellikle bir test ortamında veya farklı bir şemada gerçekleştirilir.
Kurtarma Testinin Amacı
- Yedeklerin bütünlüğünü ve kullanılabilirliğini doğrulamak.
- Kurtarma prosedürlerinin doğruluğunu ve etkinliğini test etmek.
- Veri kaybı veya sistem kesintisi durumunda nasıl bir kurtarma süreci izleyeceğinizi önceden görmek.
Kurtarma Testi Nasıl Yapılır?
Kurtarma testini mevcut veri tabanınıza zarar vermeden gerçekleştirmek için genellikle yedeklerinizi test ortamında veya farklı bir şemada kurtarırsınız. İşte bu süreci adım adım nasıl yapacağınız:
Test Ortamı Kurulumu
Gerçek veritabanınıza benzer bir test ortamı oluşturun. Bu, ayrı bir sunucu veya mevcut sunucuda farklı bir Oracle instance olabilir.
Yedeklerinizi Test Ortamına Kopyalayın
Yedeklerinizi ve gerekli dosyaları test ortamına kopyalayın. Bu işlem, gerçek veri tabanınızdaki verileri etkilemez.
Hangileri
- RMAN Yedek Dosyaları:
- Control File Yedekleri:
- PFILE veya SPFILE:
- Archive Log Dosyaları:
- Diğer Gerekli Dosyalar:
- Veritabanınızın çalışması için gerekli olan diğer dosyalar, örneğin Oracle yazılım dosyaları, tüm datafile’lar, redo log dosyaları ve diğer yapılandırma dosyaları gibi.
RMAN ile Kurtarma Testi Yapın
Test ortamında yedeklerinizi geri yükleyin ve kurtarma işlemlerini gerçekleştirin. İşte örnek bir RMAN komut dizisi:
$ rman target /
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE FROM '/path/to/controlfile_backup';
RMAN> ALTER DATABASE MOUNT;
Veri Dosyalarını Geri Yükleyin
RMAN> RESTORE DATABASE;
Veri tabanını Kurtarın
RMAN> RECOVER DATABASE;
Veri tabanını Açın
RMAN> ALTER DATABASE OPEN RESETLOGS;
Geri Yükleme ve Kurtarma
Gerçek bir geri yükleme ve kurtarma işlemi gerektiğinde, aşağıdaki adımları izleyin:
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP MOUNT;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN RESETLOGS;
![](https://www.alisahan.com/wp-content/uploads/2024/06/Resim2.png)
Kullanılmayan Eski Yedeklerin Silinmesi
RMAN (Recovery Manager) kullanarak geçmiş ve kullanılmayan dosyaları silmek için DELETE komutunu kullanabilirsiniz. Bu komut, RMAN kataloğunda kayıtlı olan ve artık ihtiyaç duyulmayan yedek parçalarını, arşiv loglarını veya diğer RMAN yönetilen dosyaları temizlemenizi sağlar. İşte adım adım nasıl yapılacağına dair bir örnek:
Kullanılmayan Eski Yedeklerin Silinmesi
RMAN (Recovery Manager) kullanarak geçmiş ve kullanılmayan dosyaları silmek için DELETE komutunu kullanabilirsiniz. Bu komut, RMAN kataloğunda kayıtlı olan ve artık ihtiyaç duyulmayan yedek parçalarını, arşiv loglarını veya diğer RMAN yönetilen dosyaları temizlemenizi sağlar. İşte adım adım nasıl yapılacağına dair bir örnek:
Geçmiş Yedek Parçalarını Listele
RMAN> LIST BACKUP;
![](https://www.alisahan.com/wp-content/uploads/2024/06/Resim3-1024x242.png)
Geçmiş Yedek Parçalarını Listele
RMAN> LIST BACKUP;
![](https://www.alisahan.com/wp-content/uploads/2024/06/Resim4.png)
ARCHIVE LOG Kapatmak Devre Dışı Bırakma
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE NOARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL> ARCHIVE LOG LIST;