RAC ortamında yazılım geliştirme sunumum
Download
Report
Transcript RAC ortamında yazılım geliştirme sunumum
RAC ortamında yazılım geliştirme
TROUG RAC SIG etkinliği
Spring Giz Oracle Eğitim Merkezi, Maslak
09/10/2010
H.Tonguç Yılmaz [email protected]
http://friendfeed.com/TongucY
http://tonguc.wordpress.com/about/
H.Tonguç Yılmaz: Oracle veritabanı uzmanı - iyi bir
Fenerbahçe taraftarı - Metal müzik sever - Bol bol DVD
izler vs.
Fethiye Lisesi, İTÜ Bilgisayar Müh., Bilgi MBA
C Developer, Informix DBA-Hp Unix Admin, Oracle DBA, Oracle
ETL Developer, DW Development Team Leader
1996 Tekstilbank, 2000 Turkcell, 2008 Turkcell Teknoloji
10+ sene Oracle veritabanı tecrübesi, Oracle 8i,9i,10g OCP &
2007 Oracle ACE, 2005 Oracle blogger
2002 Turkcell Akademi Oracle veritabanı iç eğitmeni & 2002
TTech Paf koçu
1999 OracleTurk moderatör, 2010 TROUG kurucu üye
Real Application Clusters – Tehlikeli Algılar
“RAC uygulamalara saydamdır; single instance bir
Oracle veritabanı uygulaması hiç değişiklik
yapmasan da RAC ile daha AZ erişebilir veya AZ
performanslı çalışmaz.” hmm
“CV’de çok karizmatik duruyor bu RAC, neler
gördük biz haydi hemen geçelim bundan mı
korkacağız.” hmm
– Bence; özellikle 11g ile RAC olgun ve güçlü bir silah ama yanlış
ellerde hala ciddi zarar verebilir
– Bence; farkındalık & uzmanlık & ilişkiler zarar görmemek için önemli
Real Application Clusters - Tanımlar
Cluster birden fazla makinenin tek bir hizmeti istemcilerine saydam olarak
sunabilmeleri için bir araya getirilmeleriyle oluşturulan yapıdır.
Real Application Clusters Oracle veritabanı servisini birden fazla
makinenin oluşturduğu bir cluster üzerinden sunabilmemizi sağlayan
teknolojidir.
RAC, sunucular arası paylaşımlı bellek mimarisinin en gelişmiş
örneklerinden biridir. Tüm sunucuların belleği tek bir bellekmiş gibi
davranır. Verinin paylaşımlı bellekte bir anda sadece bir kopyası bulunur;
mükerrer kopyalar bulunmaz.
Veritabanına ait dosyalar üye sunucuların tamamının I/O yapabildiği ortak
bir diskte bulunurlar.
Üye sunucuların tamamı private interconnect adı verilen bir ağa
dâhildirler. Sunucular veri bloklarını, global kilitleri ve SCN değerlerini
birbirlerine gönderirken bu ağı kullanırlar.
RAC Temel Mimari
Real Application Clusters – Dikkat 1/2
Yüksek erişilebilirlik: Failover durumunda uygulama ne yapacak
Ölçeklenebilirlik: Tek instance performans sorunu ile RAC geçişi
tehlikeli, büyüteç etkisi
– OLTP için FTS tehlikesi
– Indexing, partitioning ve clustering tasarım kararları
– Sequence cache miktarları
– OLTP için hard-parse tehlikesi
– OLTP için DDL etkisi
DBA-Developer etkileşimi
– ASSM(otomatik freelist yönetimi), PQ ayarları
– UTL_FILE & External Table kullanımı
– Uygulama bölümleme için Servis kullanımı(Scheduler,Tracing,Monitoring,Resourc
Manager kolaylıkları)
Real Application Clusters – Dikkat 2/2
DBA-Developer-Quality Assurance etkileşimi
– OLTP için canlı ortam yükü testleri, 11g ile RAT opsiyonu lisansı
RAC‘ın kendi donanım ve yazılım lisans maliyetlerinin hesaplanması
– Grid Control, AWR, ADDM siz RAC ortamiı (özellikle 11g ile) düşünülemez
– Değişiklikleri denemek için canlı ortamı temsil edebilecek bir test cluster ortam
ihtiyacı
Sonuç: RAC farkında developer-tester-dba-unix admin ihtiyacı
Real Application Clusters ile Yüksek Erişilebilirlik
Temel Topoloji
Disk
I/O kartı – HBA
Ağ kartı – NIC
Ağ Switch
SAN Switch
Oracle Veritabanı için Yüksek Erişilebilirlik
Plansız Kesintilere Çözümler
Sunucu çökmelerine karşı;
– Real Application Clusters (RAC)
Disk ve saklama ünitesi çökmelerine karşı;
– Automatic Storage Management (ASM)
İnsani hatalardan kaynaklanan veri kayıplarına karşı;
– LogMiner
– Flashback Technologies
– Streams
Disk üzerindeki veri bozulmalarına ve/veya kayıplarına karşı;
– Recovery Manager (RMAN)
– Oracle Secure Backup
Doğal felaketler sonucu yaşanan makine parkı kayıplarına karşı;
– Data Guard
Oracle Veritabanı için Yüksek Erişilebilirlik
Planlı Kesintilere Çözümler
Veritabanı bakımı için;
– Online Schema and Data Reorganization
– Partitioning
Boyutlandırma değişiklikleri için;
– Real Application Clusters (RAC) - Online Reconfiguration
Yama yüklemeleri için;
– Real Application Clusters (RAC) – Sıralı Yama Yüklemeleri
Sürüm yükseltimleri için;
– Logical Data Guard (SQL Apply) – Sıralı Sürüm Yükseltimleri
Real Application Clusters ile Yüksek Erişilebilirlik
Bağlantı Kurtarma Yöntemleri
Transparent Application Failover - TAF
– Oracle Client, uygulamanızın bağlı olduğu üye sunucu çöktüğünde, bağlantıyı
saydam bir şekilde ayakta kalan üye sunuculardan birine yönlendirir.
– Uygulamanızın TAF yapılandırmasını desteklemesi için ek kodlama yapmanız
gerekir.
Fast Application Notification – FAN
– Oracle Server, uygulamanızın bağlı servislerin sunan sunucuların
durumlarında bir değişiklik olduğunda uygulamanıza bir bilgilendirme mesajı
gönderir.
– Uygulamanızı geliştirdiğiniz ortama bağlı olarak ek kodlama yapmanız
gerekmeyebilir.
RAC alternatifleri(mi)
Active - Passive cluster
Oracle Data Guard
Streams/Advanced Replication
Tamamlayıcı Okuma, Kapanış
May 18, 2009 “RAC Aware Software
Development” Discussion:
http://tonguc.wordpress.com/2009/05/18/racaware-software-development-discussion/
This is very true but I wish companies first develop RDBMS vendor Aware software before RAC.
I have suffered from RAC unaware software but I suffered more Oracle unaware develop once run
on all RDBMS type softwares.
Comment by coskan — May 18, 2009
Hmmm :)
Oku, dene, sorgula, geliştir, *paylaş* ..
Kaynakça –
Oracle University - Oracle 11g: RAC and Grid
Infrastructure Administration Accelerated
Konu 14 RAC Database Monitoring and Tuning
Konu 15 Services
Ek D: High Availability of Connections
Introduction to Oracle Real Application Clusters, Ogün
Heper Istanbul, 30.07.2008
http://www.juliandyke.com/Presentations/
Oracle RAC Tuning Tips by Joel Goodman
Understanding RAC Internals by Barb Lundhild
Oracle Türkiye ve Yasin Saygılı’ya
destekleri için çok teşekkürler
?
?
?
H.Tonguç Yılmaz [email protected]
http://friendfeed.com/TongucY
Bir sonraki Özel İlgi Grubu otumu için önerim Oracle Maximum Availability Architecture
Real Application Clusters + Data Guard; Yüksek Erişilebilirlik için veritabanı
seviyesinde uçtan uca veri koruması ve erişilebilirlik sağlayan bir çözüm.
Data Guard sayesinde tek bir konfigürasyon olarak yönetilir.