Merhaba,
Bu ve bundan sonraki bir kaç yazımda Sizlere Oracle Veritabanlarında Backup ve Restore operasyonlarında çok sık kullandığımız RMAN ( Recovery Manager ) tool unu anlatacağım. Her veritabanı operasyonlarında en hayati yeri tutan şeylerden biriside Backup & Restore olaylarıdır. Oracle Corporation da Backup & Restore operasyonlarını yönetebilmemiz için bizlere çok özel yeteneklerle donatılmış ve Oracle kurulumuyla default olarak gelen RMAN tool unu sunmaktadır. RMAN Toolunun en önemli özelliği bir çok operasyonu otomatize edip DBA ( Database Administrator ) lerin iş yükünü hafifletmesidir. Şimdi en temelden Başlayarak RMAN toolunun özelliklerini konfigürasyonlarını ve yönetiminin nasıl gerçekleştiğine bakalım.
Bir DBA in veritabanı operasyonlarındaki en önemli görevlerinden birisi Veritabanına ait planlanan senaryoya göre Backup larının alındığından emin olması ve bu alınan backup ların düzgün bir şekilde alınıp alınmadığını kontrol etmesidir. Çünkü Bir felaket anında yada önemli bir data kaybı yaşandığı zaman ilk olarak gözler son alınan Backup a dönecektir. Bu Backup ın düzgün bir şekilde Restore edilip veritabanının tutarlı bir şekilde recover edilmesi çok önemlidir. İşte RMAN bu operasyonların tamamında DBA lere çok yardımcı olur. RMAN i bu yüzden çok iyi bir şekilde öğrenip yönetmek tüm DBA lerin en önemli vazifesidir. RMAN ile genel olarak neler yapılabildiğini bilmek RMAN inin önemini ortaya çıkaracağından bunları aşağıdaki gibi maddeler halinde sıralayacağım.
- Veritabanını Online ve Offline Modda Full Backup ını alabilirsiniz.
- Veritabanımızın ürettiği Arşivlerin Backup larını alabilirsiniz.
- Full backup gibi İncremental Backup da alabilirsiniz.
- SPFILE ve Control File gibi Veritabanımız için hayati öneme sahip dosyaların Backup larıda RMAN tarafından alınabilmektedir.
- Önceden alınan Backupların Restore ve Recovery işlemini RMAN ile gerçekleştirmekteyiz.
- Herhangi bir sebebten dolayı bozulan (Corrupt) Tablespace ve Data file ları online modda RMAN ile Recover edebilirsiniz.
- Aynı şekilde Corrupt olan Block ları RMAN ile düzeltebilirsiniz.
RMAN toolunu kullanmanın bir çok avantajı bulunmaktadır. RMAN i kullanmadan manuel olarak işlemlerin bir çoğu gerçekleştirilebilir ancak tekrar belirtmek gerekirse RMAN bu işlemleri basit bir şekilde otomatize ederek bizim yerimize güvenli bir şekilde gerçekleştirdiği için kullanmaktayız. Ayrıca RMAN ile merkezi bir Backup & Restore ünitesi kurabilir buradan tüm veritabanlarına bağlanıp gerekli işlemleri halledebilirsiniz. Öte yandan RMAN ile alınan backup larımızı compress (sıkıştırarak) ederek alabiliriz bunun yanında Alınan backuplarımızı şifreleyerek Backup ın güvenliğini artırabiliriz.
RMAN i kullanmanın Bu kadar avantajının yanında benim aklıma gelen tek ve önemli dezavantajı RMAN ile alınan Backup ın sadece RMAN ile Restore edilebilmesidir.
Veritabanı sunucumuz üzerinden TESTDB Veritabanına ait RMAN tooluna aşağıdaki gibi bağlanabiliriz.
bash-4.1$ rman Recovery Manager: Release 11.2.0.3.0 - Production on Wed May 15 09:12:09 2013 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. RMAN> connect target; connected to target database: TESTDB (DBID=2602199602) RMAN>
Yada yukardaki komutun yerine RMAN e aşağıdaki gibi direk bağlanabiliriz.
bash-4.1$ rman target / Recovery Manager: Release 11.2.0.3.0 - Production on Wed May 15 09:17:09 2013 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: TESTDB (DBID=2602199602) RMAN>
RMAN Toolu Backup & Restore olaylarını yaparken belirli konfigürasyonlara göre yapar. RMAN e ait Konfigürasyon ayarlarını aşağıdaki komut ile öğrenebiliriz.
RMAN> show all; using target database control file instead of recovery catalog RMAN configuration parameters for database with db_unique_name TESTDB are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/product/11.2.0/db/dbs/snapcf_TESTDB.f'; # default
RMAN tool undan gelen default konfigürasyonlar yukardaki gibidir. Bu konfigürasyonlar ihtiyaca göre değişebilir. Değiştirilen konfigürasyonları aşağıdaki sorgu ile öğrenebilirsiniz. TESTDB adındaki yeni database de bir değişiklik yapmadığım için aşağıdaki gibi değişmiş bir konfigürasyon çıkmayacaktır.
bash-4.1$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Wed May 15 09:37:09 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select * from v$rman_configuration; no rows selected
Yukarda listesini sunduğum Konfigürasyon parametrelerini şimdi teker teker açıklayacak ve bunların nasıl değiştirildiğini göstereceğim.
Retention Policy: Bu parametre ile RMAN ile alınan backup ın saklama sayısını belirler. Yukarda görüldüğü gibi veritabanı kurulduğu zaman default olarak RMAN 1 tane Backup saklar. Bu parametreyi 2 olarak aşağıdaki gibi değiştirebiliriz.
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 2; new RMAN configuration parameters: CONFIGURE RETENTION POLICY TO REDUNDANCY 2; new RMAN configuration parameters are successfully stored
Redundancy 2 olarak değiştirildiği için RMAN geçmişe dönük 2 Backup saklar üçüncü bir Backup alındığı zaman ise ilk backup obsolete olarak işaretlenir daha sonra eğer FRA (Fast Recovery Area) alanında yer kalmazsa otomatik olarak 1.yedek silinir ve son 2 yedek saklanır.
Recovery Window: Bu parametre yedeklerin saklanacağı zaman aralığını belirtir. RMAN konfigürasyonlarında Retentition Policy olarak ya Recovery Window parametresi yada Redundancy parametresi kullanılabilir.İkisi bir arada kullanılanamaz. Recovery Window parametresi aşağıdaki gibi değiştirilebilir.
RMAN> CONFIGURE RETENTION POLICY TO recovery window of 3 days; old RMAN configuration parameters: CONFIGURE RETENTION POLICY TO REDUNDANCY 2; new RMAN configuration parameters: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS; new RMAN configuration parameters are successfully stored
Backup Optimization: Bu parametre ile Backup ı alınan ve değişiklik görmemiş blokların yedeklerinin tekrardan alınıp alınmaması belirlenir. Bu değer ON yapıldığı takdirde bir backup process i başladığı takdirde daha önce backup ı alınmış verilerin backup ı tekrar tekrar alınmaz. Bu değer aşağıdaki gibi değiştirilebilir.
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
Default Device Type: Bu parametre ile alınan Backup ın Disk ünitesine mi yoksa TAPE ünitesine mi alınacağını belirleriz. Default olarak bu parametrenin değeri Disk dir. Bu parametrenin değerini Tape olarak aşağıdaki gibi değiştirebiliriz.
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt; old RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO DISK; new RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; new RMAN configuration parameters are successfully stored
Controlfile Autobackup: Bu parametre ile Veritabanımızın beyni olan Controlfile ın her Backup operasyonu sırasında otomatik olarak Backup ının alınması sağlanır. Production sistemlerindeki veritabanlarında bu parametrenin mutlaka ON olarak ayarlanması gerekmektedir. Bu parametre aşağıdaki gibi değiştirilebilir.
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; new RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP ON; new RMAN configuration parameters are successfully stored
Controlfile Autobackup Format For Device: Bu parametre ile yukarda otomatik backup alınması sağlanan control file dosyasının backup ının alınacağı yer ve device bilgisi belirlenir. Bu değer aşağıdaki gibi değiştirilebilir.
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle/recovery_area/ctrl_%F'; new RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle/recovery_area/ctrl_%F'; new RMAN configuration parameters are successfully stored
Device Type Disk Paralellism: Alınan backup ın kaç paralellikte alınacağı belirlenir. Bu paralellik sayısı fiziksel cpu sayısından eşit veya küçük olması tavsiye edilir. Bu parametre aşağıdaki gibi değiştirilir.
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 4; new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO BACKUPSET; new RMAN configuration parameters are successfully stored
Datafile Backup Copies: Backup alınırken datafile ların kaçtane kopyalanacağını bu parametre ile belirlenir. Eğer yeriniz var ise bu değerin 3 olması güvenlik ve tutarlılık açısından iyi olacaktır. Bu değer aşağıdaki gibi değiştirilir.
RMAN> configure datafile backup copies for device type disk to 3;
Archivelog Backup Copies: Backup alınırken Archivelog ların kaçtane kopyalanacağını bu parametre ile belirlenir. Bu değer aşağıdaki gibi değiştirilir.
RMAN> configure archivelog backup copies for device type disk to 3;
Encryption For Database: Bu parametre ile yukarda anlattığım gibi alınan backuplar belirli algoritmalara göre şifrelenebilir. Bu parametreyi aşağıdaki gibi aktif edebiliriz.
RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON; new RMAN configuration parameters: CONFIGURE ENCRYPTION FOR DATABASE ON; new RMAN configuration parameters are successfully stored
Oracle veritabanında şifreleme için kullanılan algoritmaları aşağıdaki view den sorgulayabilirsiniz.
SQL> select * from v$rman_encryption_algorithms; ALGORITHM_ID ALGORITHM_NAME ALGORITHM_DESCRIPTION IS_ RES ------------ ---------------------------------------------------------------- ---------------------------------------------------------------- --- --- 1 AES128 AES 128-bit key YES NO 2 AES192 AES 192-bit key NO NO 3 AES256 AES 256-bit key NO NO
Herhangi bir Algoritmayı aşağıdaki gibi set edebiliriz.
RMAN> CONFIGURE ENCRYPTION ALGORITHM 'AES128'; new RMAN configuration parameters: CONFIGURE ENCRYPTION ALGORITHM 'AES128'; new RMAN configuration parameters are successfully stored
Compression Algorithm: Yukarda da bahsettiğim gibi RMAN in en önemli özelliklerinden biriside Alınan backup ın sıkıştırılması özelliğidir. Bu sayede hem alan sıkıntısı var ise bundan kurtulunur hemde eğer network üzerinden tape backup alınıyorsa network trafiği azaltılır. Bu özellik aşağıdaki gibi konfigüre edilebilir.
RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH'; old RMAN configuration parameters: CONFIGURE COMPRESSION ALGORITHM 'low' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; new RMAN configuration parameters: CONFIGURE COMPRESSION ALGORITHM 'HIGH' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE; new RMAN configuration parameters are successfully stored
Archivelog Deletion Policy: Bu parametre ile Veritabanımızın biriken Archivelog dosyalarının hangi policy e göre silinmesi gerektiğini belirliyoruz. Archivelog ların veritabanımız için önemini bu yazımda belirtmiştim. Veritabanımızın olası felaket senaryolaruna karşı genel itibariyle arşivler 2-3 gün saklanır ve silerken 2-3 günden önce 2 defa backup ı alınan arşivleri silinir. Ancak bu dediğim silme opsiyonu bir kural değildir tavsiye edilen bir opsiyondur. Eğer Arşivlerinizi silecek alanınız yok ise bu saklama gün sayısı ve birden fazla backup ı alınan arşivlerin silinmesi opsiyonunu azaltabilirsiniz. Bu durum önceki anlattığım senaryo kadar güvenli bir senaryo değildir. Archivelog Silme policy sini aşağıdaki gibi konfigüre edebiliriz.
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 2 TIMES TO DEVICE TYPE DISK; new RMAN configuration parameters: CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO DISK; new RMAN configuration parameters are successfully stored
SNAPSHOT CONTROLFILE NAME: Veritabanının Backup ı alındığı zaman bu backup bilgileri Controlfile a yazılır. Bu yüzden RMAN sık sık Controlfile ı okuyarak kendisini yeniden senkronize eder. İşte RMAN kendisini resynchronize etmek istediği zaman geçici bir Control file Sanpshot ı oluşturur. Bu parametre oluşturulan bu geçici Snapshot Control file ının ismini ve yerini belirlemek için var olan bir parametredir. Bu parametreyi aşağıdaki gibi konfigüre edebiliriz.
RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/recovery_area/SNAPFILE/snapcf_TESTDB.f'; new RMAN configuration parameters: CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/recovery_area/SNAPFILE/snapcf_TESTDB.f'; new RMAN configuration parameters are successfully stored
Tüm konfigürasyon parametrelerini açıkladıktan sonra bu yazımı sonlandırıyorum bir sonraki yazıda RMAN i anlatmaya devam edeceğim şimdilik Esen Kalın.
Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi İhtiyacınız var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle iletişime geçebilirsiniz.
– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri