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.