19 Ekim 2017 Perşembe

Oracle da ARCHIVELOG moda geçiş ve BACKUP yapılandırması

Oracle veritabanında 2 çeşit bakup türü vardır.Online ve Offline alınan backuplar. Offline alınan backuplarda olası bir durumda sistemi son ana döndüremeyip veri kayıplarına neden olabiliriz.O yüzden "sıfır veri kaybı mantığı ile yola çıkacaksak, muhakkak online backup almak durumundayız. Bu da db imizin ARCHIVELOG mod da çalışmasıyla mümkündür. Archivelog modda yapılan işlem aslında basit anlatımla, db üzerinde yapılan değişiklikler, redolog dosyaları üzerinde tutulur.Bu tutulan logların belli aralıklarla arşivlendiği moda, ARCHIVELOG mode deniyor.Veritabanını ARCHIVELOG moda aldığımızda db üzerinde ayrıca bir kaynak harcayacağından, db imizde yavaşlama olabilir. Güçlü bir sistem altyapısına sahip isek, bu yük hissedilmeyecektir. Db' imizin ARCHIVELOG modda olup olmadığını şu şekilde sorgulayabiliriz.

SELECT LOG_MODE FROM v$database;Sonuç ARCHIVELOG değil de NOARCHIVELOG iseARCHIVELOG moda almak için aşağıdaki adımlar sırasıyla uygulanır;1) shutdown immeidate                                                    //db i kontrollü kapatırız   Db imizi ARCHIVELOG moda aldıktan sonra işimiz bitmiyor. Hemen rman backup için backup planı çıkarıyoruz. Kurumumuza uygun olan backup planını belirleyip, bunu sisteme uyarlamanız gerekiyor.sonuç: ARCHIVELOG ise kullanılıyor, değil ise NOARCHIVELOG olarak görülecektir.Eğer NOARCHIVELOG modda ise şu şekilde ARCHIVELOG moda alabiliriz.2) startup mount                                                                   //mount durumuna alırız3) alter database archivelog / alter database noarchivelog         //archivelog moduna alırız4) alter database open                                                           //db imizi açarız.bu genelde küçük boyutlu ve kısa sürede bitecek databaselerde her gün full backup şeklinde, çok daha büyük database lerde haftanın ilk günü full, sonraki günleride incremental backup şeklinde alabiliriz.    Şimdi burada , her gün full backup alan ve bu backupların son 5 ini disk üzerinde tutan bir backup senaryosunu yapılandıracağız.



Öncelikle sisteme bağlanıp RMAN scriptimizi yazıyoruz.

login as: root

root@192.168.1.1's password:  *****

 [root@oracle01~]# su – oracle

[oracle@oracle01~]# cd /oracle/scripts/



oracle@oracle01~]#vi rman_backup_todisk_full.sh

rman target / <<EOF

run {

backup database filesperset 4 format "/backup/DB_%d.%s.%t.%p.dbf";

sql 'alter system archive log current';

backup format '/backup/ARC_%d_%s_%t_%p.arc' archivelog all not backed up 1 times skip inaccessible;

delete noprompt archivelog until time 'sysdate-7' backed up 1 times to device type disk;

backup format '/backup/CTL_%s_%t_%p.ctl' current controlfile;

}





Önce ESC tuşu sonra

  :wq! İle dosyamızı kaydedip çıkıyoruz.



Sıra geldi scriptimizi crontab’a eklemeye.



oracle@oracle01~]# crontab -e

Karşımıza açılan editöre aşağıdaki komut satırını ekliyoruz.

#backuplar                                                                         // job başlığı

0 18 * * * /oracle/admin/BISAR/scripts/full_rman.sh          // her gün saat 18 de bu job çalışsın



Sıra geldi değişkenlerin ve loğ mekanizmasının atanmasına;

Bunun için de bir sh dosyasına ihtiyacımız var.

oracle@oracle01~]# cd /oracle/admin/MASCADB/scripts/

oracle@oracle01~]# vi full_rman.sh





#!/bin/bash

export ORACLE_BASE=/oracle

export ORACLE_SID=MASCADB

export ORACLE_HOME=/oracle/product/11.2.0/db_1

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export PATH

find /backup/* -mtime +4 –exec rm {} \;                                 // Bugünden önceki 4 backubu siler, bugün ile 5 olacak   

/oracle/admin/MASCADB/scripts/rman_backup_todisk_full.sh > /oracle/admin/MASCADB/scripts/full_rman.tmp



#mailx -s "RMAN: $CUST $SID FULL" $DBA < /masca/log_rman_full_db.tmp





Artık sistemimiz günlük olarak online RMAN backup alacaktır.

Burada bir önemli konuya daha dikkat çekmek istiyorum;

Sistemi ARCHIVELOG moda aldığımız için db sürekli ARCHIVELOG üretecek ve diskte belirli bir yer tutacaktır.



Özellikle Update ve insert işlemlerinin yoğun olduğu işlemlerin yapılması sırasında üretilen archivelog ların boyutu,

normal zamandaki işlemlere göre çok daha fazla olacak ve diskte daralmalara sebep olacaktır. Eğer diskte yerimiz yeterince yok ise, sistemin durması bile kaçınılmaz olacaktır. Bunu önlemenin yolu, işlem sırasında

şu adımları izlemektir;





>root

>password :\..../



>su - oracle



export ORACLE_SID=MASCADB



>rman

RMAN>connect target/

RMAN>list archivelog all;

RMAN>delete noprompt archivelog until time 'sysdate-1';  ya da                                 

RMAN>delete noprompt archivelog all;      //tamamı

RMAN> crosscheck archivelog all;       

RMAN> delete expired archivelog all;     

LİNUX ÜZERİNE SNMP KURULUMU VE YAPILANDIRMA


SNMP NEDİR?   NE İŞE YARAR?
SNMP açılımı “Simple Network Management Protocol” yani  “Basit Ağ Yönetim Protokolü“dür. Router, switch gibi network bileşenlerinin veya network kartı olan UPS gibi cihazların yönetimini sağlar. Tabi ki network cihazlarının SNMP desteği olmak zorundadır. Çok sayıda router içeren büyük bir network’ü kontrol etmek zordur. Her bir network cihazına tek tek girmek ve onları sürekli takip etmek imkansızdır. Bunun için geliştirilmiş Opmanager, Solar Winds gibi ücretli veya Cacti gibi ücretsiz açık kaynak kodlu yazılımlar mevcuttur. 
Bu yazılımlar ile network cihazlarının band kullanım bilgilerini, işlemci ve ram kullanım yüzdelerini, Ethernet üzerinden geçen trafiği SNMP protokolünü kullanarak anlık izleyebilirsiniz.
Sonuç olarak bu yazılımlar network cihazlarından bazı bilgileri SNMP protokolü ile çekerler. 
SNMP protokolünün v1, v2 ve v3 versiyonları vardır. En güvenilir olanı versiyon 3’tür. Dinleme saldırılarına karşı önlem olarak duyurulan SNMP versiyon 3 ’te farklılık olarak, kimlik doğrulama (authentication) yapılmaktadır ve SNMP data paketleri şifreleme yöntemi ile iletilmektedir.

SNMP KURULUMU NASIL YAPILIR?
Linux işletim sisteminde “snmp” kurulumu için aşağıdaki adımları izleyebilirsiniz.
yum install net-snmp net-snmp-utils net-snmp-devel -y
komutu ile snmp paketi kurulmuş olur.

Snmp protokolüne bağlanabilmek için community ismi belirlemek gerekir.

Öncesinde bir yapılandırma söz konusu ise, öncelikle eski config dosyasının bir kopyası alınır. 
cp etc/snmp/snmpd.conf /etc/snmp/snmpd_bckp.conf

Sonra aşağıdaki komut ile community tanımı yapılır.  
echo rocommunity public > /etc/snmp/snmpd.conf

Tanım yapıldıktan sonra aşağıdaki komut ile servis başlatılır ve protokol devreye alınmış olur.

service snmpd start