Bu makalemizde “Oracle Real Application Cluster” kurulumu inceleyeceğiz. Kurulum Oracle Enterprise Linux 6.x işletim sisteminde Oracle Real Application Cluster 12.1.0.1.0 yazılımı kullanılarak yapılmıştır. Kurulumu işletim sisteminden veritabanı oluşturulmasına kadar inceleyeceğiz. Aşağıdaki kurulum parametrelerinin doğruluğu ya da güncelliği “Oracle Tahiti” sitesinden kontrol edilmelidir. Bu makale hazırlandıktan sonra kurulum parametrelerinde bir güncelleme yada değişiklik olmuş olabilir. Kurulum adımlarımızı Linux İşletim Sistemi Kurulumu ve Oracle Real Application Cluster Kurulumu olarak iki başlıkta toplayacağız.
Oracle Real Application Cluster Nedir?
Genel tanımı itibariyle birden fazla bilgisayarın Oracle Clusterware ve Oracle RDBMS yazılımlarını kullanarak, tek bir veritabanı üzerinde ve aynı zamanda (aktif/aktif) işlem yapabilmesine olanak sağlayan teknolojiye Oracle Real Application Cluster denir. Oracle RAC yapısının çekirdeğini yine Oracle tarafından geliştirilen “Cache Fusion” teknolojisi oluşturmaktadır. “Cache Fusion” teknolojisi kısaca, birden fazla instance’a ait buffer cache memory alanlarının birleştirerek, tek bir buffer cache memory alanı şeklinde kullanılmasıdır. Sonuç itibariyle “Cache Fusion”ın görevi veritabanının tek bir instance tarafından yönetiliyormuş gibi davranmasını sağlamaktır.
Oracle Real Application Cluster teknolojisi 3 ana konunun çözümüne odaklanmış bir yapıdır. Bunlar sırasıyla fault tolarance (redundancy), load balancing ve scalability. Kısaca açıklamak gerekirse;
- Fault Tolarance (Erişebilirlik)
Uygulamaları veya servisleri birden fazla sunucu üzerine yayarak, donanım kaynaklı oluşabilecek sorunlara karşı sistemin kesintisiz hizmet vermesini sağlamaktır.
- Load Balancing (Yük dağıtma)
Yük paylaşımı anlamına gelir. Amaç aktif cluster düzeneğinde çalışan sunucuların toplam iş yükünü, mümkün olduğu kadar eşit biçimde istenilen sunucular (node) üzerine dağıtmaktır.
- Scalability (Ölçeklenirlik)
Oracle RAC vb. cluster yapılarında, “çalışan sistemin yapısını bozmadan” cluster yapısına yeni sunucular veya cihazlar eklenebilmesine scalibility denir.
Kurulum Senaryosu
Kurulum işlemini 2 Adet sunucu üzerinde yapacağız. Kurulum için sunucularımızda en az 2 adet ağ kartına ihtiyacımız bulunmaktadır. Senaryomuzdaki sunucularımızda toplam 4 adet ağ kartı bulunmaktadır. Bu kartların 2 tanesini Public Ağ için “Linux Bonding” işlemi yapacağız. (Sistemimizde 2 adet ağ kartı varsa Bonding işlemine gerek yoktur. Böyle bir durumda bu adımı atlayabiliriz.) Kalan 2 tane ağ kartımızı Private Ağ (Interconnect) bağlantısı için kullanacağız. Public Ağ kullanıcılara hizmet verecek, Private Ağ (Interconnect) cluster yapımızdaki sunucuların birbirleriyle konuşması için hizmet verecektir. Interconnect için bağlantı kuracak kartlarımızı ayrı bir switch cihazına bağlayacağız ve bağlayacağımız iki ağ kartımızı Oracle HAIP (High Availability IP) yapısı ile bonding işlemi uygulamadan yapılandıracağız. Oracle HAIP (High Availability IP) Oracle 11g R2 (11.2.0.2.0) versiyonu ve sonrasında kullanıma sunulmuştur. Bu yapıda çalışabilmek için Interconnect bağlantımızı sağlayacak switch üzerinde Multicast özelliğinin açılması gerekmektedir. Aksi takdirde Cluster’a dahil sunucular birbirleri ile konuşamazlar. Ayrıca bilmemiz gereken bir konuda Interconnect bağlantısını yapacağımız Ethernet kartları arasında kesinlikle “cross” kablo ile direk bağlantı yöntemini kullanmamalıyız. Oracle böyle bir durumda sistemine destek vermeyecektir. Bunun sebebi son yıllarda üretilen ağ kartlarında “clock” çipseti bulunmamasıdır. Bu özellik switch üzerinden kullanıldığından cross yapıda cluster senkronizasyonu bozulabilir ve bu durumda üyeler arasında iletişim gittiğinde ayaktaki diğer üyeyide veri tutarlılığı açısından aşağı indirerek sistemi kullanılmaz hale getirecektir. Girdiğim “1Z0-058 Oracle RAC 11g Release 2 and Grid Infrastructure Administration” sınavında sorulardan biride bu konudan gelmişti. Ayrıca dikkat edilmesi gereken bir diğer konuda Oracle Real Application Cluster teknolojisi yukarıdaki 3 konuda hizmet etmek için tasarlanmıştır. Bir çok kişinin aklına “Ben üyelerimden birini farklı lokasyonda tutsam yedeklilikte olmaz mı?” sorusu gelir. Oracle Real Application Cluster teknolojisi böyle bir durum için tasarlanmamıştır. Interconnect bağlantıları Oracle RAC teknolojisinde çok önemlidir bu bağlantıda gecikme (latency) çok düşük olmalıdır. Ayrı lokasyonlarımızda üyeleri birbirleriyle konuştursak bile oluşabilecek bir “heartbeat” paketi kaybında Cluster ortamı duracaktır. Ayrıca Oracle böyle bir yapıda sorun olduğunda (Oracle SR Açıldığında) destek vermeyecektir. Farklı lokasyonlarda yedekleme düşünülüyorsa bunun çözümü “Oracle Dataguard” teknolojisi olmalıdır. ASM için disk yapılandırmamız Storage ünitemizden Storage Administrator tarafından toplam 4 adet birebir aynı büyüklükte disk sunucularımıza ortak atanmış şekildedir. Her iki sunucumuzda aynı anda bu diskleri (okuma/yazma) kullanacakdır. Oracle 10g de olduğu gibi kümeleme kaydının ve ayarlarının tutulduğu “OCR” ve “VOTE” gibi ayrı bir alan yaratmamıza gerek yoktur. Oracle 11g de bu alanlar “ASM” de yapılandıracağımız “DATA” diskimizde depolanabilmektedir. İşletim Sistemi kurulumu yapan OS Administrator veya Storage Administrator tarafından multipath vb. ayarların yapıldığını varsayıyoruz. Bununla ilgili yazımızıda “Linux İşletim Sistemlerinde Multipath Yapılandırması” makalemizde bulabilirsiniz. Şimdi kurulum işlemlerimize geçebiliriz.
A-) Linux İşletim Sistemi Kurulumu
1. DVD’den önyükleme yaparak “Install or upgrade an existing system” seçeneği seçiliyken “Enter” tuşuna basıyoruz. Kümele ortamına dahil edeceğimiz tüm sunucularımızı aşağıdaki adımlara göre kuruyoruz.
2. DVD’de bulunan dosyalarının kontrol edilmesi ekranında “Skip” tuşuna basarak bu adımı atlıyoruz. “Ok” seçeneği ile devam edersek kurulum dvd’sinde bulunan tüm dosyaları kontrol edecek ve uzun sürecektir. Eğer DVD’mizin okuma problemi ya da doğru yazıldığından eminsek zaman kazanmak için bu adımı atlamalıyız.
3. Hoşgeldiniz ekranındayken “Next” düğmesine basarak kuruluma başlıyoruz.
4. Kendimize uygun dil seçeneğini seçerek “Next” düğmesine tıklıyoruz. Eğer bir sunucu sistemi veya Oracle Veritabanı sunucusu kuracaksak sistemimizin “English” dil seçeneğinde olması tercih edilmelidir.
5. Kullanmış olduğumuz klavye düzenine uygun seçeneği seçerek “Next” düğmesine tıklıyoruz. Bu seçenekte “Turkish” klavye seçmemizde herhangi bir sakınca yoktur.
6. İşletim sistemi kurulumunu yapacağımız depolama seçeneğini seçiyoruz eğer işletim sistemi kurulumu bir BootSAN vb. değil yerel disk üzerinde olacaksa “Basic Storage Devices” kutucuğu işaretliyken “Next” düğmesine tıklıyoruz.
7. Kurulumu VMware Sanallaştırma ortamında yaptığım için bana diske gerekli değişiklikleri uygulayacağı ile ilgili uyarı veriyor bu adımda “Yes, discard any data” düğmesine tıklayarak devam ediyoruz. Eğer bir sunucu üzerinde kurulum yapılıyorsa bu uyarı ekranını görmeyeceksiniz.
8. Sistemimizin sunucu ismini FQDN (Domain dahil) olarak yazıyoruz. Ardından “Configure Network” tuşuna basarak ağ ayarlarımızı yapmaya başlıyoruz. Ben birinci üye için “kryrac1.localdomain” ikinci üye içinde “kryrac2.localdomain” ismini kullandım sizlerde bu isimleri kendi isimlendirme standartınıza göre yapılandırınız.
9. Sunucu açıldığında ağ bağlantısının otomatik başlaması için “Connect automatically” onay kutusunu işaretliyoruz. Sonrasında kartlarımızda “Linux Bonding” ve “Oracle HAIP” yapılandırması kullanacağımızdan “IPv4 Settings” sekmesinde Ip Adresi için “Method” seçeneğini sonra yapılandırmak üzere “Disabled” olarak seçiyoruz. Bu işlemi sistemimizdeki tüm ağ kartlarında yapıyoruz. Çünkü ortamda bir DHCP sunucusu varsa kartlarımız otomatik IP Adresi alacaktır. Bu durum daha sonra yapılandırmamızda sorun çıkartabilir. Benim kurduğum sistemde 4 adet ağ kartı olduğu için aynı işlemi 4 ağ kartında da uyguladım. İşletim sistemi kurulumu bittikten sonra “Bonding” yapılandırmasını gerçekleştireceğiz.
1o. Bize uygun bölgesel zaman ayarını seçiyoruz. Ülkemiz için Turkey/Istanbul seçeneği seçilmelidir. Seçmek için harita ekranı üzerindeki noktalardan İstanbul üzerindeki sarı noktaya tıklanarak yada liste menüden Europe/Istanbul seçeneği bulunarak seçilebilir.
11. İşletim sistemi için “root” yönetici hesabının parolasını atayarak “Next” düğmesine tıklıyoruz.
12. Mevcutta bölümlenmiş bir disk alanımız olmadığı için diskimizi yapılandırmak için “Create Custom Layout” kutucuğunu işaretleyerek “Next” düğmesine tıklıyoruz.
13. Kullanılabilir disk ya da birden fazla ise disklerimizin ham hallerini görüyoruz ve artık diskimizi yapılandırmaya başlayabiliriz. İşletim sistemimiz sunucumuza atanmış olan diskleri bize gösteriyor. Burada “sda” olarak etiketlenmiş diskimiz sunucumuz üzerinde bulunan fiziksel sabit diskimizdir burayı işletim sistemi kurmak için kullanacağız. Diğer etiketlemiş “sdb” “sdc” “sdd” ve “sde” disklerimiz depolama ünitemizden (storage) atanmış disklerdir. Bu diskleri Oracle ASM için atayacağız. Bu disklere bu aşamada kesinlikle dokunmamız gerekiyor. İşletim sistemimizi kurmak için “sda” diskimizi yapılandırmaya başlayabiliriz. Ekranda “sda” diskimiz işaretliyken “Create” düğmesine tıklıyoruz.
14. Öncelikle boot dosyaları için 500 MB bir alan yaratıyoruz. İşletim sistemimiz ön yükleme dosyalarını diğer bölümlemelerden hariç burada depolamasını sağlıyoruz. Zorunlu bir durum değil ama düzen ve boot bölümünün yönetimi açısından bu şekilde oluşturmak daha kullanışlı olacaktır. Bunun için “Create” düğmesine tıklayarak gelen ekrandan “Standart Partition” kutucuğu işaretlenerek “Create” düğmesine tıklanmalıdır. Ardından aşağıdaki resimde görüldüğü gibi ayarlar yapılmalı ve “Ok” düğmesine tıklanmalıdır.
15. Açılan ekrandan “Mount Point” olarak “/boot” seçeneğini seçiyoruz. “Allowable Drivers” seçeneklerinden sadece “sda” diskimizi seçiyoruz. “Size (MB)” alanına “500” değerini giriyoruz. “Additional Size Options” seçeneklerinden “Fixed size” kutucuğunu işaretliyoruz ve “OK” düğmesine tıklıyoruz.
16. İşletim sistemimiz için 500 MB büyüklüğünde boot bölümü oluşmuş durumdadır. Şimdi swap ve root dosya sistemini yapılandırmak için “Free” alanımız işaretliyken “Create” düğmesini tıklıyoruz.
17. Karşımıza çıkan “Create Storage” ekranında “LVM Physical Volume” seçeneği işaretliyken “Create” düğmesine tıklıyoruz.
18. Açılan pencerede “Add Partition” ekranında “Allowable Drivers” seçeneklerinden sadece “sda” diskimizi seçiyoruz. “Additional Size Option” seçeneklerinden “Fill to maximum allowable size” kutucuğunu işaretleyip “OK” düğmesine tıklıyoruz.
19. İşletim sistemimiz için “physical volume (LVM) olarak yapılandırılmış durumdadır. Şimdi bu bölüm altında “Logical Volume” lerimizi oluşturmak için “physical volume (LVM)” seçiliyken “Create” düğmesine tıklıyoruz.
20. Karşımıza çıkan “Create Storage” ekranında “LVM Volume Group” seçeneği işaretliyken “Create” düğmesine tıklıyoruz.
21. İşletim sistemimiz için “swap” ve “root file system – /” bölümelerini oluşturabiliriz. “Volume Group Name” ismini istediğimiz gibi çok uzun ve sorun çıkartacak karekterler kullanmadan isimlendiriyoruz. “Logical Volumes” seçeneğinde “Add” düğmesini tıklıyoruz.
22. Bölüm oluşturma penceresinde öncelikle swap size oluşturmalı ve ardından kalan alanı istediğimiz gibi yapılandırmalıyız. Eğer sunucumuz Oracle Veritabanı kurulumu için kullanılacaksa aşağıdaki gibi swap alanı oluşturmalıyız. Bu değer sunucunun belleğine göre değişkenlik göstermektedir. Oracle tarafından istenilen değerler
Sunucumuzda;
0 MB ile 256 MB arasında RAM varsa RAM boyutunun 3 katı,
256 MB ile 512 MB arasında RAM varsa RAM boyutunun 2 katı
512 MB ile 2GB arasında RAM varsa RAM boyutunun 1,5 katı
2 GB ile 16 GB arasında RAM varsa RAM boyutu kadar,
16 GB dan fazla RAM varsa 16GB swap alanı oluşturulmalıdır. (Güncel değerler için kurulum aşamasında “Oracle Tahiti” sitesinden kontrol edilmelidir.)Alanı oluştururken “Logical Volume Name” olarak “lv_swap” kullanabiliriz Size kutucuğuna ise atayacağımız swap alanını miktarını megabayt cinsinden yazıyoruz. Buradaki alanı hesaplarken örneğin 4 GB swap alanı atayacaksak 1024×4=4096MB olarak belirlemeliyiz. Diğer türlü istenilenden az atanması durumunda Oracle Veritabanı kurulumunda hata alabiliriz. Gerekli alan miktarını atadıktan sonra “Ok” düğmesine tıklayarak bir önceki pencereye dönüyoruz.
23. İşletim sistemimiz için “swap” alanımız oluşmuş durumdadır. Şimdi diğer dosya sistemlerini oluşturmak için tekrar “Add” düğmesine tıklıyoruz.
24. İsteğimize bağlı olarak “/”, “tmp” vb. alanları oluşturabiliriz. Ben kalan diskin tamamını “/” olarak atayacağım için bir tek onu oluşturdum ve geri kalan tüm alanları “/” kök diski üzerinde oluşmasını sağladım. Eğer ayrı ayrı oluşturacaksak dikkat etmemiz gereken “tmp” alanının 10 GB olması bu değerde Oracle Veritabanı kurulumu için gerekli olacak alan miktarıdır. “Logical Volume Name” olarak “lv_root” yazıyoruz ve kalan disk alanının tamamını buna atıyoruz. İstersek bu aşamada “/u01″ gibi diskler oluşturabiliriz. Bunun içinde aynı adımları izleyerek “Mount Point” kutucuğuna /u01 gibi isim vermek ve böyle bir alanı bu aşamada oluşturacaksak “/” oluştururken tüm alanı değil ”/u01″ içinde boş alan bırakmaya dikkat etmeliyiz. Sıralama da önce “/” oluşturulmalı sonrasında “/u01″ oluşturulmalıdır.
25. LVM oluşturma işlemi bittiğinde oluşturulan “Volume Group” üzerinde hangi ”Logical Volumes” oluştuğunu görüyoruz ve değişiklik yapmayacaksak “Ok” düğmesine tıklayarak değişiklikleri uyguluyoruz.
26. Değişiklikleri uyguladıktan sonra oluşan tüm bölümleri aşağıdaki gibi görüyoruz ve kuruluma devam etmek için “Next” düğmesine tıklıyoruz.
27. Ekranda değişikliklerin partition table yazılacağını ve bölümlerin formatlanacağını gösteren uyarı çıkıyor ve “Format” düğmesine basarak devam ediyoruz.
28. Diskler formatlandıktan sonra bütün değişikliklerin uygulanacağı ile ilgili uyarıyı “Write changes to disk” düğmesine tıklayarak onaylıyoruz.
29. Disklerimiz tercihimize göre yapılandırılırken bekliyoruz.
30. Kurulumun bu adımında Boot Loader önyükleme dosyalarının nereye yazılacağını belirtiyoruz. Disk bölümlerimizi oluştururken Boot önyükleme alanı için 500 MB yer ayırmıştık şimdi onu seçeceğiz.”Install boot loader on /dev/sda.” kutucuğu seçiliyken “Change Device” düğmesine tıklıyoruz.
31. Karşımıza gelen ekranda “First sector of boot partition-/dev/sda1″ kutucuğunu işaretleyerek “Ok” düğmesine tıklıyoruz.
32. Önyükleme seçeneğini ayarladıktan sonra “Next” düğmesine tıklayarak bir sonraki adıma geçiyoruz.
33. İşletim sistemine kurulacak paketleri seçiyoruz bu adımda “Customize Now” kutucuğu işaretliyken “Next” düğmesine tıklıyoruz ve kuracağımız tüm paketleri Oracle Veritabanı kurulum gereksinimlerine göre elle seçiyoruz.
34. Oracle Veritabanı sunucusu için gerekli olan paketler aşağıda yazıldığı gibidir. Paket kurulumları yapılırken Oracle Veritabanı kurulumunda sorun çıkmaması için paket üzerinde sağ tıklayarak “Select all optional packages” ile seçmeliyiz. Bağımlılıklarla birlikte o seçeneğe ait gerekli tüm paketleri kurmaktadır.
Seçilecek Paketler;
Base System > Base
Base System > Compatibility libraries
Base System > Console Internet Tools
Base System > Debugging Tools
Base System > FCoE Storage Client
Base System > Hardware monitoring utilities
Base System > Java Platform
Base System > Large Systems Performance
Base System > Network file system client
Base System > Performance Tools
Base System > Perl Support
Base System > iSCSI Storage Client
Servers > Server Platform
Servers > System administration tools
System Management > System Management
Desktops > Desktop
Desktops > Desktop Debugging and Performance Tools
Desktops > Desktop Platform
Desktops > Fonts
Desktops > General Purpose Desktop
Desktops > Graphical Administration Tools
Desktops > Input Methods
Desktops > Legacy X Window System Compatibility
Desktops > Remote Desktop Clients
Desktops > X Window System
Applications > Internet Browser
Development > Additional Development
Development > Development Tools
Development > Server Platform Development
Paket seçim işlemi tamamlandıktan sonra “Next” düğmesine tıklıyoruz
35. Kurulum sihirbazı paket kurulumları için gerekli hazırlığı yaparken bekliyoruz.
36. Kurulum işlemi paket miktarına ve sunucu hızımıza göre yaklaşık 15 dakika ile 30 dakika arasında tamamlanacaktır. Ekrandan kurulumun hangi aşamada olduğu takip edilebilir.
37. Kurulum işlemi tamamlandıktan sonra “Reboot” düğmesine tıklanarak sunucumuzu yeniden başlatıyoruz.
38. Sunucu yeniden başladıktan sonra son ayarları yapacağımız kurulum ekranı gelmektedir. ”Forward” düğmesine tıklayarak başlıyoruz.
39. Lisans anlaşmasını “Yes, I agree to the Licence Agreement” seçeneğini işaretleyerek kabul ediyoruz.
40. Eğer bir ”Unbreakable Linux Network” hesabımız yoksa “No, I prefer to register at a later time” seçeneğini seçerek ”Forward” düğmesine tıklıyoruz.
41. Kullanıcı hesabı girmediğimiz için bizi uyarak bu pencerede “No thanks, I’ll connect later.” düğmesine tıklayarak devam ediyoruz.
42. Güncelleme ayarlarını bitirdikten sonra “Forward” düğmesine tıklayarak ilerliyoruz.
43. Bu aşamada kullanıcı yaratmayacağımız için “Forward” düğmesine tıklayarak ilerliyoruz.
44. Sunucumuz için tarih ve zaman ayarlarını yapıyoruz. Eğer ortamda bir zaman sunucusu varsa yada internet ortamındaki bir sunucuyu kullanacaksak “Synchronize date and time over the network” kutucuğunu işaretliyoruz ve “Forward düğmesine tıklıyoruz.
45. İnternet ortamındaki sunuculara erişebilmek için sunucumuzun internet çıkışlarını ayarlamamız gerekmektedir. ağ ortamımızda bir zaman sunucusu varsa aşağıdaki ekranda görüldüğü gibi onun adresini yazarak sunucumuzda zamanın buradan eşitlenmesini sağlıyoruz.
46. Bu ayarla birlikte işletim sistemindeki “NTP Service” başlamış olacaktır. Özellikle Oracle RAC gibi cluster olan ortamlarda senkronizasyon için zaman sunucusu kavramı önemlidir.
47. Kdump (Kernel Crash Dump) Kernel hatalarında devreye giren bir mekanizmadır. Çalışması için sunucuda yeterli bellek olmalı ve kullanacağı bellek miktarı seçilmelidir. Bu adımı kurulumlarda genelde kapalı bırakıyoruz. Kurulumu bitirmek için “Finish” düğmesine tıklıyoruz ve sunucumuz bir kere daha yeniden başlıyor.
48. Sunucumuz açıldıktan sonra kullanıcı giriş ekranı bizi karşılıyor.
49. Kullanıcı giriş ekranında “Other” seçeneğini seçerek “root” kullanıcısı ile oturum açıyoruz. İlk ekranda kullanıcı adı olarak “root” giriyoruz.
50. Kurulum aşamasında “root” kullanıcısı için atamış olduğumuz parolamızı giriyoruz.
51. Oturum açıldığında bizi bir uyarı ekranı karşılıyor. Root kullanıcısı ile işletim sistemi ve programlar üzerinde onarılamaz zararlar verebileceğimiz vb. uyarı veriyor bu ekranın bir daha gözükmesini istemiyorsak “Do not show me this again” kutucuğunu işaretleyerek “Close” düğmesini tıklıyoruz.
52. Artık masaüstümüz hazır masaüstü rengimiz günü saatlerine göre renk değiştirmektedir. Öğlen öncesi Kırmızı bir ekran varken öğlen sonrası gri bir ekran bizi karşılamaktadır.
53. Terminal ekranında komutlar ile çalışmak için aşağıdaki adımları izleyerek boş bir komut satırı açabiliriz.
54. Terminal Ekranında komutlar ile çalışabiliriz.
55. Sunucumuzu Oracle Veritabanı sunucusu olarak yapılandıracağımız için oracle gereksinimi olarak öncelikle Firewall ayarlarımızı kapatmalıyız bunun “System>Administrator>Firewall” menüsüne girerek Firewall ayar arayüzünü açmalıyız.
56. Güvenlik duvarı ile ilgili bizi uyaran ekranı “Close” düğmesine tıklayarak kapatıyoruz.
57. Pencere üzerinde bulunan “Disable” ardından da “Apply” düğmelerine basıyoruz. Firewall özelliğinin kapatılacağını söyleyen uyarı ekranında “Yes” düğmesini tıklayarak onaylıyoruz.
58. Artık Firewall kapalı durumdadır.
59. Yine bir Oracle Veritabanı sunucusu kurulumu için gerekli olan “SELinux Management” seçeneğini yapılandıracağız. “System>Administrator>SELinux Management” adımları izleyerek SELinux yönetim arayüzünü açıyoruz.
60. Açılan arayüzde “System Default Enforcing Mode” seçeneğini “Disabled” duruma getiriyoruz. Herhangi bir onay istemeyecektir. Bu ayarı seçtikten sonra direk pencereyi kapatmanız yeterlidir.
61. Tüm bu ayarları yaptıktan sonra “System>Shutdown” adımları izleyerek sistemi yeniden başlatmalıyız.
62. Çıkan pencereden “Restart” düğmesine tıklayarak sistemi yeniden başlatıyoruz.
63. Sistem yeniden başladıktan sonra oturum açarak çalışabiliriz. Masaüstünde boş bir yerde sağ tıklayıp “Open in Terminal” seçeneğini seçerek boş bir terminal açıyoruz ve diğer yapılandırma aşamamıza geçiyoruz.
Sunucumuzda kurulum sonrası işletim sistemi güncellemesi yapabilmek için “Linux İşletim Sistemlerinde Yum Paket Yönetimi ve İşletim Sistemi Güncelleme” makalemizi inceleyebilirsiniz.
Bond işlemi öncesi sunucumuzda kullanacağımız IP Adresleri ihtiyacımızı inceleyelim.
Oracle 11g R2 itibariyle “SCAN IP” adı verilen ve istemcilerin kümeye servis erişimini sağlayan yeni bir sanal network arayüz yöneticisi gelmiştir. SCAN farklı 3 adet IP adrese sahiptir ve Cluster ismi ile tanımlanmaktadır. Düğüm mantığı yerine cluster katmanında hizmet vermektedir. İstemci bağlantı talebinde bulunduğunda, bu istemciye vekaleten SCAN IP adres üzerinden dinlemede olan “SCAN Listener ve bu scan listenerın portu üzerinden bu talep karşılanır. Cluster içindeki tüm servisler, “SCAN Listener”a kayıtlı olduğundan, istemcinın bu bağlantı talebini cluster üzerindeki en az yük olan düğüme ait lokal listenere yönlendirerek bu hizmeti sağlar. Yeni düğümler eklendiğinde ve mevcut düğümlerden biri erişilemez olduğunda yeni yük dengesini SCAN hesaplar ve değişikliğe paralel olarak istemci bağlantı durumunu günceller. Oracle SCAN IP adreslerini DNS sunucumuza ekleyeceğiz veya sistem yöneticisinden eklenmesini isteyeceğiz. Buradaki dikkat edeceğimiz konu DNS Sunucumuzun “Round-robin” istekleri destekliyor olmasıdır. Sebebiyse Oracle SCAN yapısı istemcilerden gelen talepleri “Round-robin” algoritmasına göre sunuculara dağıtmaktadır. Bu yüzden DNS Sunucumuzun durumu çok önemlidir eğer servis durursa istemcilerimiz veritabanımıza erişemeyebilir. Böyle bir durumda ilk kontrol edeceğimiz DNS servisimizin durumu olmalıdır. Eğer DNS Servisi kullanmayacaksak “GNS” dediğimiz “Grid Naming Service” kullanabiliriz. Bu teknoloji Oracle tarafından geliştirilmiş bir yapıdır. Cluster mimarilerinde Plug & Play dahil bir çok özellik sağlamaktadır. Bu konuyu daha sonraki makalelerimizde inceleyeceğiz. Ortamımızda bir DNS Sunucusu yoksa “Linux İşletim Sistemlerinde Oracle RAC Scan IP Kullanımı için DNS Yapılandırması” makalemizi inceleyebilirsiniz
- Oracle Real Application Cluster Yapısına göre IP Adresi Gereksinimleri
Burada dikkat edeceğimiz Public, Virtual ve SCAN IP Adresleri aynı ağ segmentinde olacaktır. Private IP Adresimiz diğerlerinden farklı ağ segmentinde olacaktır. Üye 1 Public Interface (Bond0) IP Adresi : 192.168.2.121 Alt Ağ Maskesi : 255.255.255.0 Varsayılan Ağ Geçidi : 192.168.2.1 Virtual Interface (Bond0 üzerine otomatik bind edilecek) IP Adresi : 192.168.2.131 Private Interface 1 (eth2 - Oracle HAIP) IP Adresi : 192.168.117.141 Alt Ağ Maskesi : 255.255.255.0 Private Interface 2 (eth3 - Oracle HAIP) IP Adresi : 192.168.117.143 Alt Ağ Maskesi : 255.255.255.0 Üye 2 Public Interface (Bond0) IP Adresi : 192.168.2.122 Alt Ağ Maskesi : 255.255.255.0 Varsayılan Ağ Geçidi : 192.168.2.1 Virtual Interface (Bond0 üzerine otomatik bind edilecek) IP Adresi : 192.168.2.132 Private Interface 1 (eth2 - Oracle HAIP) IP Adresi : 192.168.117.142 Alt Ağ Maskesi : 255.255.255.0 Private Interface 2 (eth3 - Oracle HAIP) IP Adresi : 192.168.117.144 Alt Ağ Maskesi : 255.255.255.0 Oracle SCAN IP (Aynı isimle 3 farklı IP adresi DNS Sunucumuza kayıt edilecek) DNS Kayıt İsmi : kryrac-scan IP Adresi : 192.168.2.125 DNS Kayıt İsmi : kryrac-scan IP Adresi : 192.168.2.126 DNS Kayıt İsmi : kryrac-scan IP Adresi : 192.168.2.127
64. İşletim sistemimiz hazır şimdi sunucularımızda bulunan ağ (ethernet) kartlarında “Bonding” yapılandırmasını yapmaya başlıyoruz. Aşağıdaki adımları her iki sunucumuzda da uyguluyoruz. Bonding adımları çok dikkatli yapılandırılmalıdır. Oluşacak bir problemde ayarları geri almak biraz sıkıntılı bir durumdur. O yüzden iyi okuyarak ilerleyelim.
- Bond işlemi için bir bond0 adında sanal interface oluşturuyoruz. Bond yapılandırılması yapılmadan önce ağ kartlarına atanmış bir TCP/IP adresi varsa bunlar temizlenmelidir. Biz kurulum aşamasında bunu kapattığımız için direk yapılandırmaya geçebiliriz. İşletim sisteminde “root” kullanıcısı ile oturum açtıktan sonra;
# vim /etc/sysconfig/network-scripts/ifcfg-bond0
-- Dosyamızı oluşturuyoruz ve aşağıdaki değişkenleri kendi ağ yapımıza göre
yapılandırıyoruz. Bonding modu olarak "BONDING_OPTS="mode=6" kullandım
bunların hangisinin sistemimize uygun olduğunu "Bonding" makalemizden
seçebilirsiniz.
-- Üye'1 de yapılacak yapılandırma
DEVICE="bond0"
IPADDR=192.168.2.121
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=192.168.2.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=6 miimon=100"
-- Üye'2 de yapılacak yapılandırma
DEVICE="bond0"
IPADDR=192.168.2.122
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=192.168.2.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=6 miimon=100"
- Oluşturduğumuz “bond0” arayüzüne dahil edeceğimiz bond üyesi kartları yapılandırıyoruz. Bizim senaryomuzda 2 ağ kartını yapılandıracağımız için “eth0” ve “eth1” ağ kartlarında bu yapılandırmayı yapıyoruz.
-- Her iki üyede yapılacak yapılandırma -- Birinci ağ kartımız için (eth0) # vim /etc/sysconfig/network-scripts/ifcfg-eth0 -- Dosyamıza aşağıdaki değişkenleri giriyoruz. Dikkat edeceğimiz nokta bazı değişkenler dosyamızda mevcut olabilir bunları kontrol ederek olmayanları eklemeliyiz. "HWADDR" değişkeni yerine kartlarımızın "MAC" adreslerini yazmalıyız. HWADDR=XX:XX:XX:XX:XX:XX DEVICE="eth0" ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLAVE=yes USERCTL=no -- İkinci ağ kartımız için (eth1) # vim /etc/sysconfig/network-scripts/ifcfg-eth1 -- Dosyamıza aşağıdaki değişkenleri giriyoruz. Dikkat edeceğimiz nokta bazı değişkenler dosyamızda mevcut olabilir bunları kontrol ederek olmayanları eklemeliyiz. "HWADDR" değişkeni yerine kartlarımızın "MAC" adreslerini yazmalıyız. HWADDR=XX:XX:XX:XX:XX:XX DEVICE="eth1" ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLAVE=yes USERCTL=no
- Bond interface kartı için alias ve diğer ayarları yazacağımız conf dosyasını oluşturuyoruz.
# vim /etc/modprobe.d/bonding.conf -- Dosyasına aşağıdaki değişkenleri giriyoruz. alias bond0 bonding alias netdev-bond0 bonding
- Bu işlemler tamamlandıktan sonra bonding işleminde oluşan default gateway sorununu “Static Route” parametresi ekleyerek çözüyoruz. Genelde ortamlarda birden fazla Vlan var ve her Vlanda tanımlanmış farklı bir gateway varsa sunucuya kendi Vlan’ı dışındanda makinelerin erişebilmesi için aşağıdaki ayarları giriyoruz. Eğer birgün sunucumuzda varsayılan ağ geçidi (default gateway) değişirse bu ayarıda değiştirmeyi unutmamalıyız.
# vim /etc/rc.d/rc.local
-- Dosyamıza aşağıdaki gibi ağ geçidi adresimizi giriyoruz.
/sbin/route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.2.1
gw olarak Vlanınızda bulunan Default Gateway adresi girilmelidir.
Ben 192.168.2.1 adresini senaryomuza göre yazdım.
- Sunucumuzda Cluster ortamının haberleşmesi için interconnect bağlantıları için ip adreslerini bu aşamada atayalım sunucumuzu kurarken otomatik IP adresi almaması için kartlarımızı kapatmıştık ancak “bonding” yapılandırmamız sonrası network servisimizi yeniden başlatmamız gerekeceğinden interconnect kartlarımızı otomatik IP adresi alabilir. Bunu önlemek için sırasıda gelmişken interconnect bağlatılarımız için IP adreslerini atıyoruz. Kalan 2 ağ kartımızı “Oracle HAIP” mimarisi ile yapılandıracağımızdan her sunucuda bulunan 2 karta 2 ayrı IP adresi atamamız gerekiyor.
-- Aşağıdaki değişkenleri ilgili dosyalarımıza giriyoruz. Dikkat edeceğimiz nokta bazı değişkenler dosyamızda mevcut olabilir bunları kontrol ederek olmayanları eklemeliyiz. "HWADDR" değişkeni yerine kartlarımızın "MAC" adreslerini yazmalıyız. -- Üye 1'de yapılacak yapılandırma # vim /etc/sysconfig/network-scripts/ifcfg-eth2 HWADDR=XX:XX:XX:XX:XX:XX DEVICE="eth2" IPADDR=192.168.117.141 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none DEFROUTE=no # vim /etc/sysconfig/network-scripts/ifcfg-eth3 HWADDR=XX:XX:XX:XX:XX:XX DEVICE="eth3" IPADDR=192.168.117.143 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none DEFROUTE=no -- Üye 2'de yapılacak yapılandırma # vim /etc/sysconfig/network-scripts/ifcfg-eth2 HWADDR=XX:XX:XX:XX:XX:XX DEVICE="eth2" IPADDR=192.168.117.142 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none DEFROUTE=no # vim /etc/sysconfig/network-scripts/ifcfg-eth3 HWADDR=XX:XX:XX:XX:XX:XX DEVICE="eth3" IPADDR=192.168.117.144 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none DEFROUTE=no
- Sunucumuzda Bonding işleminin aktif olabilmesi için modülün kernele yüklenmesini sağlıyoruz. Sonrasında değişikliklerin uygulanabilmesi için servisimizi yeniden başlatıyoruz. Sunucumuzun açılışında bir problem olmadığından emin olmak için sunucularımızı yeniden başlatıyoruz.
# modprobe bonding
# service network restart
# shutdown -r now
Sunucumuzu başladıktan sonra yapılandırmamızı kontrol ediyoruz. Aşağıdaki ekranda görüldüğü gibi artık “Bond0”, “eth2” ve “eth3” olmak üzere ağ bağlantılarımız hazır.
İşletim Sistemi kurulumumuz bitti bu adımları her iki üye sunucuda birebir aynı olacak şekilde yapılandırmalıyız. Yazımızın ikinci aşaması olan “Oracle Real Application Clusters (Oracle RAC) Kurulumu” bölümüne geçebiliriz.
B-) Oracle Real Application Clusters (Oracle RAC) – (Grid Infrastracture & Database) Kurulumu
1. Oracle kurulumuna başlamadan önce sunucumuz internete çıkıyorsa öncelikle işletim sistemi güncellememizi yapabiliriz. Eğer internete çıkmıyorsa veya herhangi bir güncelleme yapmayacaksak bu adımı atlayabiliriz. Bu işlem zorunlu bir Oracle gereksinimi değildir. Ağ ortamımızda bir “proxy” sunucu aracılığı ile internete çıkılıyorsa “Linux İşletim Sistemlerinde Yum Repository için Proxy Yapılandırması” ve “Oracle Enterprise Linux İşletim Sistemlerinde Public Yum Repository Yapılandırması” yazılarımızı inceleyebilirsiniz.
# yum -y update
2. Sunucumuz internete çıkıyor ise Oracle veritabanı kurulumu için gerekli olan ön gereksinimler paketini kurabilir ve gerekli paketlerle ayarların otomatik şekilde yapılanmasını sağlayabiliriz. Eğer içimiz rahat etmezse aşağıdaki adımları da izleyerek ayarları kontrol edebiliriz. Yada kendimiz elle yapılandırabiliriz. Oracle Enterprise Linux 6.4 işletim sisteminde bu paket otomatik yüklenmiş halde gelmektedir. Sadece “Oracle Tahiti” adresindeki kurulum dökümanından parametreler kontrol edilebilir. Elle yapılandırıcaklar için bu adımlarıda inceleyceğiz.
-- Otomatik paketlerin ve ayarların kurulumu için aşağıdaki komutu “root” kullanıcı ile çalıştırıyoruz. # yum -y install oracle-rdbms-server-12cR1-preinstall
3. Ayarlarımızı elle kendimiz yapmak için aşağıdaki adımları izlememiz gerekiyor.
- Kernel Parametre dosyasında gerekli düzenlemeyi yapıyoruz.
# vim /etc/sysctl.conf -- Dosyasına aşağıdaki parametreleri giriyoruz. # Oracle Database Kernel Parameters fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500 -- Bu parametreleri girdikten sonra değişikliklerin uygulanabilmesi için # /sbin/sysctl -p komutunu çalıştırıyoruz.
- Limitlerin belirlendiği dosyada gerekli düzenlemeyi yapıyoruz.
# vim /etc/security/limits.conf -- Dosyasına aşağıdaki parametreleri giriyoruz. # Oracle Database Limit Parameters oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768
- Veritabanı kurulumu için gereken paket grupları ve paketleri kuruyoruz. Sistemimizde mevcut olan paketler varsa kurma isteğimizde “Nothing to do” uyarısı alacağız. Bu uyarıyı alıyorsak paket zaten sistemimizde kurulu demektedir. Bir çok paketin mevcut olduğunu söyleyecek ve olmayan bir kaç paketi sisteme kuracaktır.
-- Sunucumuz İnternete çıkıyorsa paketleri direk "yum install"
komutu ile kurabiliriz.
yum -y install binutils
yum -y install compat-libcap1
yum -y install compat-libstdc++-33
yum -y install compat-libstdc++-33.i686
yum -y install gcc
yum -y install gcc-c++
yum -y install glibc
yum -y install glibc.i686
yum -y install glibc-devel
yum -y install glibc-devel.i686
yum -y install ksh
yum -y install libgcc
yum -y install libgcc.i686
yum -y install libstdc++
yum -y install libstdc++.i686
yum -y install libstdc++-devel
yum -y install libstdc++-devel.i686
yum -y install libaio
yum -y install libaio.i686
yum -y install libaio-devel
yum -y install libaio-devel.i686
yum -y install libXext
yum -y install libXext.i686
yum -y install libXtst
yum -y install libXtst.i686
yum -y install libX11
yum -y install libX11.i686
yum -y install libXau
yum -y install libXau.i686
yum -y install libxcb
yum -y install libxcb.i686
yum -y install libXi
yum -y install libXi.i686
yum -y install make
yum -y install sysstat
yum -y install unixODBC
yum -y install unixODBC-devel
-- Sunucumuz internete çıkmıyorsa paketlerin kurulması için
sunucumuzdaki Kurulum DVD'sini takarak paketleri kuruyoruz.
-- Oracle Linux 6 DVD
# cd /media/cdrom/Server/Packages
rpm -Uvh binutils
rpm -Uvh compat-libcap1
rpm -Uvh compat-libstdc++-33
rpm -Uvh compat-libstdc++-33.i686
rpm -Uvh gcc
rpm -Uvh gcc-c++
rpm -Uvh glibc
rpm -Uvh glibc.i686
rpm -Uvh glibc-devel
rpm -Uvh glibc-devel.i686
rpm -Uvh ksh
rpm -Uvh libgcc
rpm -Uvh libgcc.i686
rpm -Uvh libstdc++
rpm -Uvh libstdc++.i686
rpm -Uvh libstdc++-devel
rpm -Uvh libstdc++-devel.i686
rpm -Uvh libaio
rpm -Uvh libaio.i686
rpm -Uvh libaio-devel
rpm -Uvh libaio-devel.i686
rpm -Uvh libXext
rpm -Uvh libXext.i686
rpm -Uvh libXtst
rpm -Uvh libXtst.i686
rpm -Uvh libX11
rpm -Uvh libX11.i686
rpm -Uvh libXau
rpm -Uvh libXau.i686
rpm -Uvh libxcb
rpm -Uvh libxcb.i686
rpm -Uvh libXi
rpm -Uvh libXi.i686
rpm -Uvh make
rpm -Uvh sysstat
rpm -Uvh unixODBC
rpm -Uvh unixODBC-devel
# cd /
# eject
- Oracle için kullanıcıları ve kullanıcı gruplarını yaratıyoruz.
# groupadd -g 501 oinstall # groupadd -g 502 dba # groupadd -g 503 oper # groupadd -g 504 asmadmin # groupadd -g 506 asmdba # groupadd -g 505 asmoper # useradd -u 502 -g oinstall -G dba,asmdba,oper oracle # passwd oracle -- Burada database, asm vb. için ayrı ayrı kullanıcılar yarattık eğer her iş için kullanıcı ve grupları ayırmayacaksak sadece oinstall ve dba grubu yaratarakta devam edebiliriz. Bu bizim sistem politikamıza göre değişebilir.
Oracle öngereksinim paketi kullanmadan elle kurulum yapmak için gerekli işlemlerin neler olduğunu ve yapmamız gereken ayarları inceledik. Şimdi sistemimizde diğer ayarların yapılmasına geçelim. Oracle Enterprise Linux 6.4 kurulumunda Oracle öngereksinim paketi otomatik olarak kurulu geliyor bu paketle birlikte gerekli olan parametre ayarları, kullanıcı grupları ve kullanıcılar otomatik olarak ayarlanmış ve yaratılmış olarak geliyor.
4. Oracle ön gereksinim paketi kurulu gelmişse Oracle Kullanıcısı için parola belirliyoruz.
# passwd oracle Changing password for user oracle. New password: Retype new password: passwd: all authentication tokens updated successfully.
5. Yerel isim çözümleme dosyasına gerekli IP Adreslerini ve makine isimlerini giriyoruz.
# vim /etc/hosts -- Dosyasına aşağıdaki satırları kendi ağ yapılandırmamıza göre ekliyoruz. # Local 127.0.0.1 localhost.localdomain.com localhost # Public 192.168.2.121 kryrac1.localdomain kryrac1 192.168.2.122 kryrac2.localdomain kryrac2 # Virtual 192.168.2.131 kryrac1-vip.localdomain kryrac1-vip 192.168.2.132 kryrac2-vip.localdomain kryrac2-vip # Private 192.168.117.141 kryrac1-priv.localdomain kryrac1-priv 192.168.117.143 kryrac1-priv2.localdomain kryrac1-priv2 192.168.117.142 kryrac2-priv.localdomain kryrac2-priv 192.168.117.144 kryrac2-priv2.localdomain kryrac2-priv2
6. Zaman sunucusu (NTP) ayarlarımızı yapıyoruz. Oracle RAC ortamlarında Cluster senkronizasyonu çok önemli bir konudur. Üyeler arasında zaman farklı olduğunda sistemimizde sorunlar çıkacaktır. Bu yapılandırmayı “Oracle Cluster Time Synchronization Service (ctssd)” kullanmayacaksak yapıyoruz. Bizim senaryomuzda kullanmayacağımız için ortamdaki zaman sunucusunu (NTP Server) kullanacağımız için aşağıdaki ayarları yapıyoruz. Bu konuyla ilgili daha detaylı bilgileri “Linux İşletim Sistemlerinde NTP Yapılandırması” makalemizde bulabilirsiniz.
# vim /etc/sysconfig/ntpd dosyasında bulunan parametre aşağıdaki gibi düzenlenmelidir. OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid" -- Ardından da servis yeniden başlatılmalıdır. Bu ayar cluster ortamlarında zaman senkronizasyonu bozulduğunda zamanı geri ya da ileri almak yerine bekletecektir. Bu şekilde senkronizasyonun bozulmasını engelleyecektir. # service ntpd restart # chkconfig ntpd on
7. Yine kurulum aşamasında veya yüksek miktarda “memory_target” parametresi atandığında “ORA-00845 : MEMORY_TARGET” hatası almaktayız bu sorunu engellemek için aşağıdaki “shmfs” parametresi ayarlanmalıdır. Bu dosyada yapılan değişiklikler bir sonraki yeniden başlatma sırasında geçerli olacaktır. Hemen devreye almak için aşağıdaki “mount” komutu çalıştırılmalıdır. Ayarlayacağımız miktarı “MEMORY_TARGET” paremetresine atayacağımız miktardan 1 GB kadar fazla atamakta fayda var. Bazen aynı olduğunda sorun çıkabiliyor.
# vim /etc/fstab -- Dosyasında tmpfs satırının altına aşağıdaki gibi bir satır eklenmelidir. Burada belirtilen "size=16g" boyutu en az atayacağımız "memory_target" parametresi kadar olmalıdır. -- Örneğin "memory_target" parametremiz 16 GB olacaksa burada atayacağımız değer aşağıdaki gibi olmalıdır. Fazla atanması sorun değildir. Önemli olan "memory_target" değerinden düşük olmamasıdır. shmfs /dev/shm tmpfs size=3g 0 -- Değişikliği hemen devreye almak için # mount /dev/shm/ komutunu çalıştırıyoruz.
8. Eğer kurulum bitiminde “Secure Linux” ve “Firewall” özelliğini kapatmamışsak bunları kapatıyoruz.
# vim /etc/selinux/config -- dosyasında bulunan SELINUX=disabled -- parametresini yukarıdaki gibi kapalı duruma getiriyoruz. -- Firewall Servisini kapatmak için aşağıdaki komutları çalıştırıyoruz. # service iptables stop # chkconfig iptables off
9. Oracle kurulumlarını yapabilmek, kurulum ve patch dosyalarımızı koyabilmek için gerekli olan dizinleri yaratıp hakları atıyoruz.
# mkdir -p /u01/app/12.1.0.1.0/grid # mkdir -p /u01/app/oracle/product/12.1.0.1.0/db # mkdir -p /u01/orainstall # chown -R oracle:oinstall /u01 # chmod -R 775 /u01/ /u01/app/12.1.0.1.0/grid Grid Infrastructure kurulum dizini. /u01/app/oracle/product/12.1.0.1.0/db Oracle Database kurulum dizini /u01/orainstall Oracle kurulum dosyalarını atacağımız dizin. -- Dikkat etmemiz gereken önemli noktalardan biri Grid dizininin /u01/app/oracle/ dediğimiz "Oracle Base" dizininden farklı bir yerde olması. Aksi takdirde kurulum aşamasında uyarı verecektir. -- Oracle 11.2.0.2.0 versiyonundan sonra ayrı bir dizine kurulum yapılarak upgrade etme imkanı getirdi. Yani mevcut oracle dizinleri haricinde bir dizine kurulum yapılarak mevcut dizinleri bozmadan yükseltme imkanımız oluyor bu yüzden dizinler oluşturulurken "/u01/app/oracle/product/12.1.0.1.0/db" gibi versiyon isimlerinide koydum yeni bir versiyon çıktığında yükseltme işlemi yapılırken "/u01/app/oracle/product/12.1.0.2.0/db" gibi dizin yaratarak mevcut dizinlere dokunmadan upgrade işlemini yapabiliriz.
10. Oracle Veritabanı için değişkenlerimizi “.bash_profile” dosyamıza yazıyoruz.
-- "root" kullanıcısının clusterware araçlarını kullanması profil dosyasını düzenliyoruz. # cd # vim .bash_profile -- dosyasına aşağıdaki değişkenleri her iki üyede ekliyoruz. # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs GRID_HOME=/u01/app/12.1.0.1.0/grid; export ORACLE_HOME PATH=$PATH:$HOME/bin:$PATH:$GRID_HOME/OPatch export PATH LD_LIBRARY_PATH=$GRID_HOME/lib export LD_LIBRARY_PATH -- Oracle kullanıcısına geçiş yapıyoruz. # su - oracle $ vim /home/oracle/.bash_profile -- dosyasına aşağıdaki değişkenleri her iki üyede ekliyoruz. -- Üye'1 de bulunan .bash_profile dosyasına aşağıdakileri yazıyoruz. # Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=kryrac1.localdomain; export ORACLE_HOSTNAME ORACLE_UNQNAME=rac; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE GRID_HOME=/u01/app/12.1.0.1.0/grid; export GRID_HOME DB_HOME=$ORACLE_BASE/product/12.1.0.1.0/db; export DB_HOME ORACLE_HOME=$DB_HOME; export ORACLE_HOME ORACLE_SID=rac1; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM BASE_PATH=/usr/sbin:$PATH; export BASE_PATH PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:$BASE_PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi alias grid='. /home/oracle/.grid' alias db='. /home/oracle/.db' -- Üye 2'de bulunan .bash_profile dosyasına aşağıdakileri yazıyoruz. # Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=kryrac2.localdomain; export ORACLE_HOSTNAME ORACLE_UNQNAME=rac; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE GRID_HOME=/u01/app/12.1.0.1.0/grid; export GRID_HOME DB_HOME=$ORACLE_BASE/product/12.1.0.1.0/db; export DB_HOME ORACLE_HOME=$DB_HOME; export ORACLE_HOME ORACLE_SID=rac2; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM BASE_PATH=/usr/sbin:$PATH; export BASE_PATH PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:$BASE_PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi alias grid='. /home/oracle/.grid' alias db='. /home/oracle/.db'
11. Sunucumuzda Grid ve Database değişkenleri arasında geçiş yapabilmek için gerekli profil dosyalarımızı oluşturuyoruz.
-- Grid değişkenleri için aşağıdaki dosyamızı oluşturuyoruz. -- Üye 1'de dosyamızı yaratıyoruz. $ vim /home/oracle/.grid ORACLE_SID=+ASM1; export ORACLE_SID ORACLE_HOME=$GRID_HOME; export ORACLE_HOME PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH -- Üye 2'de dosyamızı yaratıyoruz. $ vim /home/oracle/.grid ORACLE_SID=+ASM2; export ORACLE_SID ORACLE_HOME=$GRID_HOME; export ORACLE_HOME PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH Database değişkenleri için aşağıdaki dosyamızı oluşturuyoruz. $ vim /home/oracle/.db -- Üye 1'de dosyamızı yaratıyoruz. ORACLE_SID=rac1; export ORACLE_SID ORACLE_HOME=$DB_HOME; export ORACLE_HOME PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH $ vim /home/oracle/.db -- Üye 2'de dosyamızı yaratıyoruz. ORACLE_SID=rac2; export ORACLE_SID ORACLE_HOME=$DB_HOME; export ORACLE_HOME PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
12. Şimdi ASM için atayacağımız disklerimizi yapılandıracağız. ASM ortamına atayacağımız diskleri iki yöntem ile yapılandırabiliriz. “Oracle ASM Library” dediğimiz Oracle tarafında sağlanan araç ile ya da elle “UDEV” dediğimiz Linux yapılandırması ile “UDEV” ile yapılandırma “Oracle ASM Library” göre daha zor ve karmaşıktır. Bu makalemizde “Oracle ASM Library” kullanarak disklerimizi ASM için yapılandırıp damgalayacağız. ASM için oluşturacağımız disk grubundaki diskler birebir aynı boyutta olmalıdır. Ayrıca disklerimiz kesinlikle formatlanmamış ve kullanılmamış olmalıdır. Aşağıdaki işlemlerin tamamını “root” kullanıcısı ile yapacağız. Burada uyguladığımız adımlara çok dikkat edilmelidir. Çünkü bazı adımlar sadece bir üye üzerinde yapılmaktadır. Ayrıca her iki üyede bulunan disklerimizde yapılandırmalarımızın farklı olduğunu görürsek “Linux İşletim Sistemlerinde Disk Header ve ASM Disk Header Yapılandırması” makalemizden yararlanarak her iki üyede disklerimizi eşitleyebiliriz.
-- Aşağıdaki işlemleri yapabilmek için yeniden "root" kullanıcısına geçiyoruz. $ su - root -- Aşağıdaki komut ile sistemimizdeki diskleri listeliyoruz. # ll /dev/sd* brw-rw---- 1 root disk 8, 0 Mar 29 02:28 /dev/sda brw-rw---- 1 root disk 8, 1 Mar 29 02:28 /dev/sda1 brw-rw---- 1 root disk 8, 2 Mar 29 02:28 /dev/sda2 brw-rw---- 1 root disk 8, 16 Mar 29 02:28 /dev/sdb brw-rw---- 1 root disk 8, 32 Mar 29 02:28 /dev/sdc brw-rw---- 1 root disk 8, 48 Mar 29 02:28 /dev/sdd brw-rw---- 1 root disk 8, 64 Mar 29 02:28 /dev/sde -- İşletim sistemi disklerimiz aşağıdaki gibi, brw-rw---- 1 root disk 8, 0 Mar 29 02:28 /dev/sda brw-rw---- 1 root disk 8, 1 Mar 29 02:28 /dev/sda1 brw-rw---- 1 root disk 8, 2 Mar 29 02:28 /dev/sda2 -- ASM için kullanacağımız disklerimizse aşağıdaki gibidir. brw-rw---- 1 root disk 8, 16 Mar 29 02:28 /dev/sdb brw-rw---- 1 root disk 8, 32 Mar 29 02:28 /dev/sdc brw-rw---- 1 root disk 8, 48 Mar 29 02:28 /dev/sdd brw-rw---- 1 root disk 8, 64 Mar 29 02:28 /dev/sde
13. Disklerimiz için partition table oluşturuyoruz.
-- Buradaki işlemler tek bir üye üzerinden yapılmalıdır. Kesinlikle her iki üyede uygulanmamalıdır. # fdisk /dev/sdb WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1305, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): Using default value 1305 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 1. soruda "n" seçeneğini veriyoruz. 2. soruda türünü soruyor “p” seçeneğini veriyoruz primary olarak oluşturuyoruz. 3. soruda "1" diyerek default seçeneği veriyoruz. 4. Dördüncü ve 5. soruları "enter" tuşuna basarak default seçeneğinde bırakıyoruz. 6. soruda "w" tuşuna basarak değişiklikleri uyguluyoruz. -- Aynı işlemi diğer "sdc" "sdd" "sde" disklerimiz içinde yapıyoruz. -- Artık disklerimiz hazır. # ll /dev/sd* brw-rw---- 1 root disk 8, 0 Mar 29 03:59 /dev/sda brw-rw---- 1 root disk 8, 1 Mar 29 03:59 /dev/sda1 brw-rw---- 1 root disk 8, 2 Mar 29 03:59 /dev/sda2 brw-rw---- 1 root disk 8, 16 Mar 29 04:18 /dev/sdb brw-rw---- 1 root disk 8, 17 Mar 29 04:27 /dev/sdb1 brw-rw---- 1 root disk 8, 32 Mar 29 04:18 /dev/sdc brw-rw---- 1 root disk 8, 33 Mar 29 04:27 /dev/sdc1 brw-rw---- 1 root disk 8, 48 Mar 29 04:18 /dev/sdd brw-rw---- 1 root disk 8, 49 Mar 29 04:27 /dev/sdd1 brw-rw---- 1 root disk 8, 64 Mar 29 04:19 /dev/sde brw-rw---- 1 root disk 8, 65 Mar 29 04:28 /dev/sde1 değimizde "sdb1" "sdc1" "sdd1" ve "sde1" olarak disklerimizin oluştuğunu görüyoruz. -- Değişikliklerin uygulanması için sunucumuzu yeniden başlatıyoruz. # shutdown -r now
14. Artık “Oracle ASM Library” yapılandırıp disklerimizi ASM için damgalayabiliriz.
-- Aşağıdaki işlemleri her iki üyede uyguluyoruz. -- Öncelikle ASM Library için güncelleme, yetkilendirme ve yapılandırma ayarımızı yapıyoruz. -- Oracle ASM Library sürücümüzün güncelliğini kontrol ediyoruz. # oracleasm update-driver Kernel: 2.6.39-400.17.2.el6uek.x86_64 x86_64 Driver name: oracleasm-2.6.39-400.17.2.el6uek.x86_64 Driver for kernel 2.6.39-400.17.2.el6uek.x86_64 does not exist -- Oracle ASM Yetkilendirme işlemlerini yapıyoruz. # oracleasm configure -I Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: oracle Default group to own the driver interface []: dba Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y The next two configuration options take substrings to match device names. The substring "sd" (without the quotes), for example, matches "sda", "sdb", etc. You may enter more than one substring pattern, separated by spaces. The special string "none" (again, without the quotes) will clear the value. Device order to scan for ASM disks []: Devices to exclude from scanning []: Use device logical block size for ASM (y/n) [n]: y Writing Oracle ASM library driver configuration: done 1. soruda "oracle" yazıp enter tuşuna basıyoruz. 2. soruda "dba" yazıp enter tuşuna basıyoruz. 3. soruda "y" yazıp enter tuşuna basıyoruz. 4. soruda "y" yazıp enter tuşuna basıyoruz. 5. ve 6. sorularda hiçbirşey yazmadan enter tuşuna basıyoruz. -- Şimdi Oracle ASM Kernel modülünü aktif edip "/dev/oracleasm" altında Oracle Mount Point'i oluşturalım. # oracleasm init Creating /dev/oracleasm mount point: /dev/oracleasm Loading module "oracleasm": oracleasm Configuring "oracleasm" to use device logical block size Mounting ASMlib driver filesystem: /dev/oracleasm -- Bu işlemlerden sonra artık ASM için disklerimizi oluşturup damgalayabiliriz. -- Buradaki işlemler tek bir üye üzerinden yapılmalıdır. Kesinlikle her iki üyede uygulanmamalıdır. # oracleasm createdisk data1 /dev/sdb1 Writing disk header: done Instantiating disk: done # oracleasm createdisk data2 /dev/sdc1 Writing disk header: done Instantiating disk: done # oracleasm createdisk fra1 /dev/sdd1 Writing disk header: done Instantiating disk: done # oracleasm createdisk fra2 /dev/sde1 Writing disk header: done Instantiating disk: done -- Oluşturduğumuz disklerimizi listelemek için # ll /dev/oracleasm/disks/ brw-rw---- 1 oracle dba 8, 17 Mar 29 04:27 DATA1 brw-rw---- 1 oracle dba 8, 33 Mar 29 04:27 DATA2 brw-rw---- 1 oracle dba 8, 49 Mar 29 04:27 FRA1 brw-rw---- 1 oracle dba 8, 65 Mar 29 04:28 FRA2 veya # oracleasm listdisks DATA1 DATA2 FRA1 FRA2 -- Yukarıda görüldüğü gibi "DATA" ve "FRA" adında 4 diskimiz oluşmuş ve ASM için damgalanmış durumda. -- Oluşturulan ASM disklerin tüm düğümler üzerinde görülebilmesini sağlamak amacıyla scandisks komutunu diğer üyede çalıştırıyoruz. Bu işlem sonunda tüm düğümler bu paylaşımlı ASM disklerine erişebilecektir. # oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... Instantiating disk "DATA1" Instantiating disk "DATA2" Instantiating disk "FRA1" Instantiating disk "FRA2"
15. Kuruluma geçebilmemiz için ftp yada başka bir yöntem ile kurulum dosyalarımızı oluşturduğumuz “/u01/orainstall/” dizini altına atıyoruz. Eğer sunucumuzda ftp server özelliği aktif edilmemişse “Linux İşletim Sistemlerinde FTP Server Yapılandırması” makalemizden faydalanarak gerekli ayarları yapabiliriz. Kurulum tek bir üye üzerinden her iki üyeyede yapılacağından kurulum dosyalarını bir üye üzerine koymanız yeterli olacaktır.
16. Oracle kullanıcısı ile kopyalama işlemimiz bittiğinde kurulum dosyalarımızı kontrol ediyoruz. Eğer veritabanımıza Patch Set Update uygulamadan kuracaksak “OPatch” ve “Patchset Update” dosyalarına ihtiyacımız yok.
-- Kurulum için; $ cd /u01/orainstall/ $ ls V38500-01_1of2.zip V38500-01_2of2.zip V38501-01_1of2.zip V38501-01_2of2.zip -- Dosyalarımız üzerinde gerekli izinleri veriyoruz. $ cd /u01/orainstall/ $ chmod 777 *
17. Oracle Grid Infrastructure ve Oracle Database kurulumları için ilk 4 .zip dosyasına ihtiyacımız var. Bu kurulum dosyalarımızı OTN veya MOS hesaplarımız ile indirebiliriz.
$ unzip V38500-01_1of2.zip $ unzip V38500-01_2of2.zip $ unzip V38501-01_1of2.zip $ unzip V38501-01_2of2.zip
18. Ayıklama işlemi tamamlandığında yer kaplamaması için istersek .zip dosyalarını temizleyebiliriz.
$ rm -f V3850* -- Aşağıdaki komut ile "database" ve "grid" kurulum dizinlerimizi görebiliriz. $ ls database grid -- Bu aşamada "Cluster Verification Utility" aracını kullandığımızda ve kurulum aşamasında öngereksinim kontrolü yapılırken disklerimizi denetlemesi için "cvuqdisk" paketimizi kuruyoruz ve CVU (SSH) için gerekli olan sembolik linkleri yaratıyoruz. -- Disk kontrol paketini kuruyoruz. $ su - root # cd /u01/orainstall/grid/rpm # rpm -Uvh cvuqdisk* Preparing... ########################################### [100%] Using default group oinstall to install package 1:cvuqdisk ########################################### [100%] -- Diğer üyeye dosyamızı kopyalıyoruz. # scp cvuqdisk* kryrac2.localdomain:/u01/orainstall/ The authenticity of host 'kryrac2.localdomain (192.168.2.122)' can't be established. RSA key fingerprint is ff:d5:3d:69:e9:93:04:a8:6b:ae:0d:88:d3:ea:a2:ef. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'kryrac2.localdomain' (RSA) to the list of known hosts. root@kryrac2.localdomain's password: cvuqdisk-1.0.9-1.rpm 1. soruda "yes" yazıp enter tuşuna basıyoruz. 2. soruda "root" kullanıcısının parolasını yazıyoruz. -- Şimdi karşı diğer üyeye bağlanıp paketimizi kuralım. # ssh kryrac2 root@kryrac2's password: ********** # cd /u01/orainstall/ # rpm -Uvh cvuqdisk* Preparing... ########################################### [100%] Using default group oinstall to install package 1:cvuqdisk ########################################### [100%] Paketimiz kuruldu. -- Aşağıdaki işlemi her iki üyede yapmalıyız. CVU için gerekli olan sembolik linkleri yaratıyoruz. # ln -s /usr/bin/ssh /usr/local/bin/ssh # ln -s /usr/bin/scp /usr/local/bin/scp
19. Kurulum sunucu üzerinde değilde uzaktan kendi bilgisayarmızda yapılacaksa ekranı export edebiliriz. Bunun için “Xmanager” vb. emülatör yazılımları kullanılabilir. Bu yazılımı bilgisayarımıza kurduğumuzda “Xmanager – Passive” programını çalıştırmalıyız. Görev çubuğunda yazılım çalışacak ve export ettiğimiz ekranı kendi bilgisayarımızdan yönetebileceğiz. Bununla beraber “VNC Server” aracılığı ile de sunucuya bağlanabilir ve kurulumu direk sunucu üzerinden yapabiliriz. Bunun için “Linux İşletim Sistemlerinde VNC Server Yapılandırması” makalemizden yararlanabilirsiniz. Önerilen eğer işletim sistemimizde masaüstü yazılımı (KDE, Gnome vb) varsa kurulumu VNC Server veya sunucu üzerinden yapmanız çünkü kurulum aşamasında network vb. kesintisinde kurulumunuz yarım kalabilir.
-- Öncelikle Xmanager vb. Emülatör programını bilgisayarımızda çalıştırmalıyız.Ardından aşağıdaki komut ile görüntüyü export etmeliyiz. $ DISPLAY=<machine-name>:0.0; export DISPLAY Örnek; $ DISPLAY=192.168.2.83:0.0; export DISPLAY Test için; $ xclock -- Yazdığımızda ekranımızda bir saat yazılımının çalıştığını görmeliyiz. Eğer açılmıyorsa ayarlarda bir sorun var demektir. Firewall vb. ayarlarımızı kontrol etmeliyiz.
20. Bu işlemlerin tamamı bittiğinde üyelerimizin ağ üzerinden konuştuklarını “ping” komutu ile test ediyoruz.
-- Yapılandırmamız sonunda üyelerimizin ağ üzerinden iletişimini
test ediyoruz.
-- Üye 1 üzerinden 2. Üyeye ping atıyoruz.
$ ping -c 3 kryrac2
$ ping -c 3 kryrac2-priv
$ ping -c 3 kryrac2-priv2
-- Üye 2 üzerinden 1. Üyeye ping atıyoruz.
$ ping -c 3 kryrac1
$ ping -c 3 kryrac1-priv
$ ping -c 3 kryrac1-priv2
-- Bu işlemler sonucunda tüm üyeler birbirlerini görüyorsa "ping"
isteğine cevap veriyorsa sorun yok demektir.
21. Bu işlemlerin tamamı bittiğinde kuruluma geçebiliriz. Öncelikle “Oracle Grid Infrastructure” yazılımının kurulumuna başlıyoruz.
-- Oracle kullanıcısı ile sistemimize bağlıyken $ cd /u01/orainstall/grid/ kurulum dizininde bulunan $ ./runInstaller uygulamasını çalıştırıyoruz.
22. Açılan karşılama ekranında güncellemeler için bizden “Oracle Support MOS” hesabını istiyor bu adımı “Skip software updates” seçeneğini seçerek “Next” düğmesine tıklıyoruz.
23. Kurulumumuzu “Cluster” olarak yapacağımız için “Install and Configure Oracle Grid Infrastructure for a Cluster” seçeneğini seçerek “Next” düğmesine tıklıyoruz.
24. Oracle 12c ile birlikte “Flex Cluster” özelliği geldi bu özellik sayesinde görevi “ASM” servisi vermek olacak sunucular kurulabilecek böylece ASM ve Veritabanı ayrı sunucularda yer alabilecek. Bu kurulumumuzda standart “ASM” yapısı kullanacağımız için “Configure a Standart Cluster” seçeneğini seçiyoruz ve “Next” düğmesine tıklıyoruz.
25. Kurulum seçeneği olarak bütün seçimleri kendimiz yapılandıracağımız için “Advanced Installation” seçeneğini seçiyoruz ve “Next” düğmesine tıklıyoruz.
26. Dil seçeneğimizi varsayılan olarak “English” olarak seçili bırakıyoruz ve “Next” düğmesine tıklıyoruz.
27. Oluşturduğumuz “Cluster” mimarisinin isimlendirmesini yapıyoruz. Burada isimlendirme yaparken aşağıdaki gibi sadeleştirerek yapmamız daha kullanışlı olacaktır. İsimlendirme işlemimiz bittiğinde GNS ve GPnP kullanmayacağımız için “Configure GNS” seçeneğinin işaretini kaldırıp “Next” düğmesine tıklıyoruz.
28. Kümeye dahil edilecek üyelerin seçileceği ekranda ikinci üyeyi dahil etmek için “Add” düğmesine tıklıyoruz.
29. Kümemize dahil edeceğimiz ikinci üyenin bilgilerini giriyoruz. Burada Public ve Virtual ağ bilgilerimizi giriyoruz sonrasında “OK” düğmesine tıklıyoruz.
30. Kümemize ikinci üyeyide dahil ettikten sonra üyelerin aralarında güvenli bir şekilde şifresiz konuşmasını sağlmak üzere “SSH” yapılandırmasını yapmak üzere “SSH Connectivity” düğmesine tıklıyoruz.
31. Her iki üyeyi seçtikten sonra oracle kullanıcısı için atamış olduğumuz parolayı yazıyoruz ve “Setup” düğmesine tıklıyoruz.
32. Kurulum sihirbazımız “SSH” yapılandırmamızı yaparken bekliyoruz.
33. Yapılandırmamız başarılı olduğunda aşağıdaki uyarıyı alacağız. Kuruluma devam edebilmek için önce “OK” düğmesine ardından “Next” düğmesine tıklayarak bir sonraki adıma geçiyoruz.
34. Kümeleme işlemimiz için en önemli adımlardan biri olan ağ yapılandırmasına geldik. Burada “eth0” ve “eth1” isimli kartlarımız “bond0” kartında toplanmış public ağ kartlarımızdır. İşletim sistemi kurulumundan sonra bonding işlemi yaptığımızdan “eth0” ve “eth1” kartlarımızı “Do Not Use” olarak işaretliyoruz. Public ağ kartımız olan “bond0” sanal kartımızıda “Public” olarak seçiyoruz. Kümeye dahil sunucuların birbirleri ile konuşması için gerekli olan “Interconnect” bağlantısını Oracle HAIP mimarisine göre yapılandıracağımızdan bunun için ayırdığımız “eth2” ve “eth3” isimli ağ kartlarımızı “Private” olarak seçiyoruz ve kuruluma devam etmek için “Next” düğmesine tıklıyoruz.
35. Grid Infrastructure repository seçeneğini şimdi yapılandıracağımız için “Yes” seçeneğini seçiliyken “Next” düğmesine tıklıyoruz. Oracle 12c ile gelen bu özellikte istenilirse veritabanı kurulumundada yapılandırılabilir.
36. Depolama seçeneği olarak “Oracle Automatic Storage Management (Oracle ASM) kullanacağımız için “Use Standart ASM for storage” seçeneğini işaretliyoruz ve “Next” düğmesine tıklıyoruz.
37. Verilerimizi depolayacağımız alanımız olan “DATA” diskimizi yapılandırıyoruz. Kurulum sihirbazının diskleri görebilmesi için “Change Discovery Path” düğmesine tıklıyoruz.
38. Daha önce oluşturduğumuz ASM Disklerimizi burada kullanıma sunuyoruz. Asm Library altında oluşan disklerin yolunu sisteme tanıtıyoruz “Change Discovery Path” düğmesine tıklayarak açılan pencerede disklerin yolu olan “/dev/oracleasm/disks” yolunu yazıyoruz. “Disk Group Name” olarak DATA yazıyoruz ve “Redundancy” olarak “External” seçiyoruz bu seçenekleri biraz açacak olursak;
External : Yedeği yoktur. Ancak en performanslı moddur. Genelde hardware mirror varsa kullanılır ve varsayılan seçenektir. Burada şöyle düşünebiliriz. Bir veri depolama (storage) ünitemiz var ve oradan sunucumuza disk atanıyor ve mirror orada veri depolama ünitesi katmanında yapıldığı için bizim ayrıca oracle asm tarafında bir mirror oluşturmamıza gerek kalmıyor.
Normal : ASM’nin 2 yönlü mirroring yaptığı konfigürasyondur. Bu durumda veri tutarlılığı artar ancak disk alanından taviz verilir.
High : ASM’nin 3 yönlü mirroring yaptığı konfigürasyondur. Bu durumda veri tutarlılığı artar ancak disk alanından taviz verilir. Daha fazla veri sağlamlığı tesis edilmektedir.
39. Sistemimizdeki Oracle ASM damgalı üye diskleri artık ”Candidate Disks” seçeneği seçiliyken görebiliyoruz. “DATA” disk grubunu yapılandırdığımız için aşağıdaki alandan “DATA1 ve DATA2″ yazılı diskimizi seçiyoruz. “FRA” için disklerimizi ileriki aşamalarda yapılandıracağız. ASM “Allocation Units” konusundan bahsedecek olursak eğer bunları veritabanı instance’ının blokları veya extent’leri olarak düşünebilirsiniz. Amaçları bu miktar kadar alanın tahsis edilerek ilerlenmesini göstermektir. Disk grupları yaratılırken tanımlanabilirler ve varsayılan olarak 1 MB olurlar. 12g ile birlikte bu miktar da değişebilmektedir ve 2, 4, 8, 16, 32 ve en fazla 64 MB olarak yeniden tanımlanabilmektedirler. Aynı db_block_size’da olduğu gibi düşük olursa daha hızlı cache’lenecek ve büyük olursa da arka arkaya okuma yapıldığı zaman daha efektif olacaktır. VLDB (Very Large Database) tipi veri ambarlarında yüksek AU kullanmak faydalı olacaktır. AU’nun miktarını disk grup yaratılırken gösterebiliyoruz ancak sonradan değiştiremiyoruz. ASM “Files” ise AU’lardan oluşan extent’lerdir. Dosya adları + ile başlarlar ve ASM instance’ı tarafından yönetilirler. Dosya isimleri genelde değişken sayılardan oluşmaktadır ancak bu dosya isimlerine (örneğin bir datafile) alias verme şansımız bulunmaktadır. Bu dosya isimleri benzersizdir ve hiçbir zaman başka bir datafile ismi ile çakışmaz. Bu da yine ASM’nin bize sağladığı faydalardan yalnızca bir tanesidir. ASM’nin yönettiği dosyalar disk’ler üzerinde SAME metodolojisi ile tutulmaktadır (Stripe-And-Mirror Everything). ASM dosyalarından kastımız nedir? Datafile, kontrol dosyası, redolog dosyası, RMAN yedekleri gibi. Burası önemli, 11g Release 2′ye kadar ASM, OCR dosyaları, cluster-voting disk, alert log dosyaları, trace dosyaları ve Oracle binary’leri gibi dosyaları desteklemiyordu ancak 11g R2 bu kısıtı ortadan kaldırarak, bu tipte dosyaların da ASM tarafından desteklenmesini sağladı. 11g R2 ve sonrasını tercih etmek ve kullanmak için yine çok ufak ama büyük bir neden. Birde “Extent Map” ile ilgili de şunları ifade edebilirim. Extent map, ASM’nin yönettiği dosyaların disk üzerinde nerede olduğu bilgisine sahiptir. Tabii tabloların veya objelerin nerede olduğundan öte bu objelerin bulunduğu extent’lerin nerede durduğunun bilgisine sahiptir.
40. Oracle ASM kullanıcıları için bir parola belirliyoruz. Bu parolayı asla unutmamalıyız. Daha sonra veritabanı kurulum aşamasında bu parola ASM disk grubuna erişebilmek için gerekli olacaktır. Her iki kullanıcıya aynı parolayı atamak için “Use same passwords for these accounts” seçeneğini seçerek her iki kullanıcıya aynı parolayı atıyoruz.
41. Atamış olduğumuz parola eğer oracle önerilen parola politikasına uygun değilse aşağıdaki gibi uyarı veriyor. Burada “Yes” düğmesine tıklayarak devam ediyoruz.
42. Hata izalasyonu ile ilgili bir arayüzümüz kullanmayacağımız için “Do not use Intelligent Platform Management Interface” seçeneğini seçip “Next” düğmesine tıklıyoruz.
43. Kurulumların ve yönetimin hangi işletim sistemi grupları ile yapılacağını soruyor burada “oinstall” veya “dba” grupları seçilerek kurulum yapılabilir. Tek olması düşüncesiyle “dba” olarak seçiyoruz ve “Next” düğmesine tıklıyoruz.
44. Kurulum sihirbazı bu seçimlerinde standart dışı olduğunu söylüyor burada verdiği uyarıya ekranına ”Yes” düğmesini tıklayarak devam ediyoruz.
45. Oracle grid kurulumunun yapılacağı dizinleri seçiyoruz. Dizinleri aşağıdaki ekran görüntüsündeki gibi seçiyoruz ve daha önce yarattığımız dizinlere kurulumun yapılmasını sağlıyoruz. Bu dizinleri daha önceki kurulum aşamalarımızda oluşturmuş gerekli hakları vermiştik.
46. Oracle Inventory yapılandırmamız için dizin bilgilerimizi giriyoruz ve “Next” düğmesine tıklıyoruz.
47. Oracle 12c ile gelen yeni özelliklerden biride Grid kurulumunda “root” kullanıcısı ile çalıştırdığımız scriptleri otomatik çalıştırmasını ayarlayabiliyoruz. Bu aşamadan “root” kullanıcımızın parolasını girerek kurulum sonuna doğru scriptlerin otomatik çalışmasını sağlayabiliriz. Gerekli ayarları yaptıktan sonra “Next” düğmesine tıklıyoruz.
48. Kurulum sihirbazı sunucularımızı kontrol ederek öngereksimin olarak bir eksiklik olup olmadığıyla ilgili kontrolleri yapıyor.
49. Kurulumumuzda herhangi bir sorun yoksa öngereksinimlerin tamamı uygunsa kurulum için özet bilgi ekranı karşımıza gelecektir. Kuruluma başlamak için “Install” düğmesini tıklıyoruz. Herhangi bir sorun varsa oradaki maddeleri inceliyoruz ve kritiklik durumuna göre gidermeye çalışıyoruz. “Warning” konular ignore edilebilir ancak başka bir uyarı varsa onu gidererek kuruluma devam etmek sorunsuz kurulum açısından önemlidir. Aksi takdirde kurulum işlemi belli bir aşamaya geldiğinde hata verebilir.
50. Kurulum aşamalarını aşağıdaki ekrandan takip edebiliriz.
51. Kurulum sonuna doğru bizden “root” kullanıcısı ile çalıştıracağımız scriptler için bizden onay istiyor. Bunun için önceki adımda “root” kullanıcısının parolasını girerek yapılandırmıştık. Bu aşamada “Yes” düğmesine tıklayarak kuruluma devam ediyoruz. Scriptleri elle çalıştıracaksak ”root” kullanıcısı ile açılmış bir terminal penceresinden çalıştırmalıyız. Scriptleri çalıştırdığımızda aşağıdaki gibi çıktılar oluşacaktır. Scriptleri önce 1. üyede burada bittikten sonra 2. üyede çalıştıracağız. Aynı anda çalıştırdığımızda kurulumumuz hata verebilir. Gerekli script’leri çalıştırdıktan sonra “OK” düğmesine tıklayarak devam ediyoruz. Scriptlerin çalıştırılması aşamasında hata verirse ve yeniden kurma işlemi yapacaksak hatalı kurulumun temizlenmesiyle ilgili “Oracle Grid Infrastructure Kurulumunun Başarısız Olması Durumunda Sistemin Temizlenmesi” makalemizi inceleyebilirsiniz.
52. Kurulum işleminin kalan aşması devam ediyor. Bu işlemler tamamlanana kadar bekliyoruz.
53. Kurulum başarılı bir şekilde tamamlandıktan sonra “Close” düğmesine basarak kurulumu bitiriyoruz.
54. Kurulum sırasında “DATA” disk grubumuzu oluşturmuştuk. Şimdi “asmca” komutunu kullanarak “FRA” disk grubumuzu oluşturacağız.
-- Oracle kullanıcısı ile açılmış bir terminal ekranında daha önce oluşturmuş olduğumuz "grid" değişken dosyamızı çalıştırıyoruz. $ DISPLAY=192.168.2.83:0.0; export DISPLAY $ cd $ . .grid -- Ardından aşağıdaki komutu çalıştırarak "ASM Configuration Assistant" açıyoruz. $ asmca
55. Açılan pencerede “Create” düğmesine tıklıyoruz ve aşağıdaki pencerede gösterildiği gibi “FRA” disk grubumuza ekleyeceğimiz disklerimizi dahil ediyoruz. Ardından “OK” düğmesine tıklayarak “FRA” diskimizi oluşturuyoruz.
56. Disk grubumuzu başarılı bir şekilde oluşturduğumuzda aşağıdaki gibi uyarı alıyoruz.
57. Aşağıdaki ekranda görüldüğü gibi artık “DATA” ve “FRA” disk gruplarımız hazır durumdadır. Artık veritabanı kurulumumuzda bu disklerimizi kullanabileceğiz. “MOUNTED (1 of 2)” gibi bir durum oluşursa aşağıdaki “Mount All” düğmesini tılyarak tüm diskleri ayağa kaldırabiliriz. Aksi takdirde ileri kurulum aşamalarında hata verebilir. Böyle bir durum olursa kurulumu iptal etmeden “asmca” komutu ile bu işlemi gerçekleştirmeliyiz.
58. ASM yapılandırma ekranından çıkmak için “Exit” düğmesine basıyoruz ardından gelen ekrandaki uyarıya “Yes” düğmesini tıklayarak çıkıyoruz.
59. Oracle Grid Infrastructure ve disk yapılandırma kurulumumuz tamamlandı artık veritabanı kurulumuna geçebiliriz. Daha önce sunucumuza koymuş olduğumuz kurulum dosyamızın bulunduğu dizine giderek kurulum scriptini çalıştırıyoruz.
$ cd $ . .db $ cd /u01/orainstall/database/ $ ./runInstaller
60. Bizden Oracle Support (MOS) hesabımızın e-posta adresimizi ve parolamızı istiyor. Bu adımda kutucuktaki işareti kaldırıyoruz ve “Next” düğmesine tıklıyoruz.
61. Oracle Support (MOS) Kullanıcı adı ve Parolasını girmediğimiz için bizi uyarıyor “Yes” düğmesine tıklayarak kuruluma devam ediyoruz.
62. My Oracle Support aracılığı ile otomatik olarak güncelleme indirme ayarını yapmamızı istiyor bu adımda “Skip software updates” seçeneğini seçerek “Next” düğmesine tıklıyoruz.
63. Kurulum seçeneklerinde “Install database software only” seçeneğini seçerek devam ediyoruz. “Create and configure a database” seçeneği ile ilerlersek kurulum aşamasında veritabanıda oluşturabiliyoruz. Ancak biz veritabanımızı “Custom” olarak oluşturacağımız ve veritabanı kurulumu yapmadan önce çıkmış olan son patchset update paketini uygulayacağımızdan yalnızca veritabanı yazılımını kuracağız. Sonrasında ise elle veritabanımızı kendimiz oluşturacağız.
64. Bu ekranda bir cluster ortamı kuracağımızdan “Oracle Real Application Cluster database installation” seçeneğini seçip kümeye üye yapacağımız sunucularımızı işaretliyoruz.
65. Veritabanımızın kurulumunda varsayılan olarak “English” seçeneğini seçili bırakıyoruz ve “Next” düğmesine tıklayarak devam ediyoruz.
66. Lisans seçeneğimize göre kurulum yapacağımız opsiyonu seçiyoruz. Bu kurulumda “Enterprise Edition” seçeneğini seçiyoruz ve “Next” düğmesine tıklıyoruz.
67. Oracle Veritabanı yazılımını kuracağımız dizinleri aşağıdaki gibi yazıp ardından “Next” düğmesini tıklıyoruz. Bu dizinleri daha önceki kurulum aşamalarımızda oluşturmuş gerekli hakları vermiştik.
68. Veritabanı kurulumu ve yönetimi için işletim sistemi gruplarını seçiyoruz. Özel bir yetki yapılandırmamız yoksa aşağıda görüldüğü gibi “dba” grupları atayarak “Next” düğmesine tıklıyoruz.
69. Kurulum sihirbazı Veritabanı kurulumumuz için sistemimizin uygunluğunu kurulum öncesi denetleyecektir. Eğer bir sorun varsa bizi uyaracak ve bu sorun giderildikten sonra kuruluma devam etmemizi tavsiye edecektir. Bizim sistemimizde herhangi bir eksik olmadığı için otomatik olarak diğer adıma geçecektir.
70. Kurulum özet ekranı çıktıktan sonra “Install” düğmesine tıklayarak kurulumu başlatıyoruz.
71. Kurulum sihirbazı kurulum aşamalarını bize adım adım gösterecektir. Bu işlemler tamamlanana kadar bekliyoruz.
72. Kurulumun sonuna doğru daha önce olduğu gibi bizden bir scriptin “root” kullanıcısı ile çalıştırılmasını isteyecektir. “root” kullanıcısı ile açılmış bir terminal ekranında aşağıdaki gibi komutları çalıştırıyoruz.
# /u01/app/oracle/product/12.1.0.1.0/db/root.sh
Performing root user operation for Oracle 12c
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/12.1.0.1.0/db
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
73. Kurulumumuz başarılı bir şekilde tamamlandı “Close” düğmesine tıklayarak kurulumu sonlandırıyoruz.
74. Oracle kullanıcısı ile açılmış bir terminal penceresinde aşağıdaki Database Configuration Assistant yazılımını çalıştırıyoruz. Bu işlemden önce patchset update sonrası sunucumuzu yeniden başlatmalıyız. Yeniden başlatma sonrası sunucu üzerinden kurulum yapmıyorsak ekranımızı yeniden export etmeliyiz.
Örnek; $ DISPLAY=192.168.2.83:0.0; export DISPLAY Test için; $ xclock
$ cd $ . .db $ dbca
75. Yeni veritabanı oluşturacağımız için “Create Database” seçeneğini seçerek “Next” düğmesine tıklıyoruz.
76. Veritabanımızı özelleştirilmiş olarak kuracağımız için “Advanced Mode” seçeneği seçiliyken “Next” düğmesine tıklıyoruz.
77. Oracle Real Application Cluster veritabanı ve özelleştirilmiş olarak yaratacağımız için seçeneklerimizi aşağıdaki gibi yapılandırıyoruz ve “Next” düğmesine tıklıyoruz.
78. Veritabanımızın “Global Database Name” ve “SID” isimlerini yazıyoruz. Kümeleme ortamı için yapılandırdığımız üyelerimizi eklemek üzere seçtikten sonra “Next” düğmesine tıklıyoruz.
79. Veritabanı yazılımının kurulacağı üye sunucularımızı seçiyoruz ve “Next” düğmesine tıklıyoruz.
80. Veritabanımızın web arayüzünden yönetimi için gerekli olan “Enterprise Manager” konsolunu kuracaksak “Configure Enterprise Manager” seçeneğini işaretliyoruz veya ortamımızda “Enterprise Manager 12c” gibi yönetim aracımız varsa bu aşamadan onunda kurulumunu sağlayabiliriz. Ayrıca kümele ortamımızda “CVU” arada çalışarak bize herhangi bir problem olup olmadığını raporlayabilir. Gerekli seçenekleri yapılandırdıktan sonra “Next” düğmesine tıklıyoruz.
81. Veritananımızda oluşan kullanıcılara parola atayacağız eğer bütün kullanıcılarda aynı parolayı kullanacaksak “Use the Same Administrative Password for All Accounts” seçeneğini seçip sys, system vb. kullanıcılar için tek bir parola yazıyoruz ve ardından “Next” düğmesine tıklıyoruz.
82. Veritabanı veri dosyalarının (datafile) nasıl tutulacağı ile ilgili ayarları bu aşamada yapıyoruz. Bizler ASM hazırlığı yaptığımız için ilgili menüden “Automatic Storage Management (ASM)” seçeneğini seçiyoruz. Veri dosyalarımızın oracle tarafından yönetilmesini istediğimiz için “Use Oracle-Managed Files” seçeneğini seçip “Browse” düğmesine tıklıyoruz ve gelen ekrandan “DATA” disk grubumuzu seçiyoruz. Ayrıca FRA dediğimiz “Fast Recovery Area” disk grubumuzu atamamızı istiyor. Bu alan yedekleme ve eğer aktif edilmişse “Archive Log” dosyalarımızın tutulacağı alandır. Biz Grid kurulumu sırasında bu disk grubumuzuda hazırladığımız için “Browse” düğmesine tıklayarak açılan pencereden “FRA” disk grubumuzu seçiyoruz. “Fast Recovery Area Size” olarak da en büyük kullanılabilir alan kadar miktar atıyoruz. Eğer tamamını atayacaksak “Free (MB)” yazan alandaki miktarı buraya girmeliyiz. Gerekli ayarları yaptıktan sonra “Next” düğmesini tıklayarak devam ediyoruz..
83. Veritabanımıza kurulacak opsiyonları seçiyoruz. Burada kullanacağımız ya da daha sonra kullanmayı düşündüğümüz opsiyonları seçiyoruz. Burada dikkat edilmesi gerekenler bir opsiyon diğer bir opsiyon ile bağımlı olabilir.
84. Eğer veritabanı kurulumumuzda örnek şemaları kuracak veya bir script çalıştıracaksak gerekli seçimleri ve ayarları yapıyoruz eğer çalıştırmayacaksak hiçbir ayara dokunmadan “Next” düğmesini tıklayıp kuruluma devam ediyoruz.
85. Bu aşamada artık veritabanımızın kullanacağı bellek boyutunu ve bu seçeneğin nasıl yönetileceği ile ilgili seçimleri yazıyoruz. Kısaca bahsetmek gerekirse atayacağımız bellek boyutu sistemin toplan bellek boyutunun 3/2′sini geçmeyecek şekilde ayarlanmalıdır. Birde çok yüksek bellekli makinelerde data boyutu ihtiyaç olan bellek boyutu vb. tespitleri yaparak atama yapmalıyız. Birde SGA ve PGA boyutunun oracle tarafından yönetilmesi için “Use Automatic Memory Management” seçeneğini seçiyoruz. Bu seçenek ile atanacak bellek miktarlarını oracle kendi mekanızması içerisinde ayarlıyor. Bu ayarlarımızı yaptıktan sonra “Sizing” sekmesine geçiyoruz.
86. Veritabanı “Block Size” boyutunu ayarlıyoruz. Bu özellik çok önemlidir. Çünkü veritabanı kurulum aşamasında atandığında bir daha değiştirilememektedir. Sonrasında ancak diğer “Block Size”larda tablespace’ler yaratılabilir. Bunlar içinde Shared Pool’da yaratılan “Block Size” lar için ayarlamalar yapılması gerekmektedir. Yani veritabanı “Block Size” ayarımız 8K ise istersek 16K tablespace yaratabiliriz. Bu ihtiyacı belirlerken veri boyutumuzu okuma ihtiyacımızı vb. durumları iyi analiz etmemiz gerekmektedir. Eğer bir veriambarı ortamı söz konusu ise 16K ve daha yüksek miktarlar tercih edilebilir. Genelde kurulumlarda varsayılan olarak 8K Block Size tercih edilmektedir. Diğer bir seçenek olan “Proceses” ayarını yapıyoruz. Burada veritabanımıza oturum açacak “Session” sayısına göre ayarlamalar yapıyoruz. Bu seçenek daha sonrada arttırılıp azaltılabilir.
87. Veritabanı karakter ayarını yapıyoruz. Türkçe için genelde “W8ISO8859P9″ karakter seti seçilmelidir. Bu sekmedeki ayarları yaptıktan sonra bağlantı türünü belirlemek için “Connection Mode” sekmesine geçiyoruz.
88. Bağlantı türünü seçeceğiz eğer veritabanımızda her bir session dedicated olarak bağlantı kuracaksa “Dedicated Server Mode” seçeneğini seçiyoruz. Burada varsayılan seçenek budur. Bu ayarı yaptıktan sonra eğer veritabanı parametrelerinden kurulum aşamasında ayarlamak istediklerimiz varsa “All Initialization Parameters” düğmesine tıklıyoruz.
89. Kurulum aşamasında ayarlamak istediğimiz veritabanı parametrelerini aşağıdaki ekrandandan ayarlıyoruz ve sonrasında “Close” düğmesine basıyoruz. Bu adımdaki ayarlarımız bitti şimdi kuruluma devam etmek için “Next” düğmesine tıklıyoruz.
90. Bu kurulum seçeneklerimizi daha sonra veritabanı yaratma işlemlerinde kullanmak üzere kaydedebiliriz. Ben bu seçeneklerimize “orcl” adını verip kaydediyorum. Eğer Depolama seçeneklerimizde bir ayarlama yapacaksak “Customize Storage Locations” düğmesine tıklıyoruz.
91. Önereceğim Redo Log dosyalarının sayısı ve boyutları kurulumdan sonra ayarlanması zor ya da zahmetli gelebilir bu aşamada Redo Log dosya sayımızı ve alan boyutlarımızı belirleyebiliriz. Bu boyut yazılan veri miktarı vb. durumlara göre belirlenmelidir. Oracle varsayılan olarak 50 MB atamaktadır. biz ihtiyacımıza göre bu miktarı 256, 512, 1024 MB gibi miktarlarda ayarlayabiliriz. Gerekli ayarları yaptıktan sonra “Next” düğmesine tıklayarak kuruluma devam ediyoruz.
92. Kurulum için gerekli denetimler yapılırken bekliyoruz.
93. Yapmış olduğumuz tercihlerle ilgili özet bilgi ekranı çıkıyor burada gerekli incelememiz bittikten sonra “Finish” düğmesine tıklayarak veritabanı oluşturma işlemimizi başlatıyoruz.
94. Oluşturmuş olduğumuz “rac” örnek dosyasının kaydedildiği ile ilgili uyarı veriyor. Bu ekranda “OK” düğmesine tıklayarak kuruluma devam ediyoruz.
95. Veritabanı oluşturma işleminin aşamalarını aşağıdaki bilgi ekranından takip ediyoruz. Bu işlem seçmiş olduğumuz seçenekler ve sunucumuzun özelliklerine göre biraz zaman alabilir.
97. Kurulum tamamlandığında özet bilgi ekranı karşımıza çıkacaktır. Burada istersek veritabanında yaratılan kullanıcıların parolalarınıda belirleme imkanımız var bunun için “Password Management” düğmesine tıklayarak gerekli ayarları yapabiliyoruz. İşlemimiz bittikten sonra “Exit” düğmesine tıklayarak veritabanı oluşturma işlemini bitiriyoruz.
98. Kurulum işlemimiz başarıyla tamamlandı. Kurulum ekranımızı kapatmak için “Close” düğmesine tıklıyoruz.
99. Veritbanımız kurulu ve hazır durumdadır. Eğer istersek web arayüzlü yönetim konsolu olan “Enterprise Manager” a bağlanıp veritabanı ayar ve monitör işlemlerimizi yapabiliriz.
-- Gördüğümüz gibi https://kryrac1.localdomain:5500/em/ adresinden Enterprise Manager konsolumuza erişebiliriz. -- Artık veritabanımıza oturum açabilir istediğimiz işlemleri yapabiliriz. $ sqlplus / as sysdba SQL*Plus: Release 12.1.0.1.0 Production on Thu Jun 27 15:18:43 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Advanced Analytics and Real Application Testing options SQL> select inst_name FROM v$active_instances; INST_NAME ------------------------------------------------------------ kryrac1.localdomain:rac1 kryrac2.localdomain:rac2 -- Grid ile ilgili komutlarımızı kullanacağımızda bu değişkenleri kullanmak için $ cd $ . .grid -- Database ile ilgili komutlarımızı kullanacağımızda bu değişkenleri kullanmak için $ cd $ . .db Ayrıca Cluster Yönetim komutlarını "root" kullanıcısı ile kullanabilmek için "root" kullanıcısının .bash_profile dosyasındaki "PATH" değişkenini aşağıdaki gibi düzenliyoruz. Bu işlemi her iki üyede yapıyoruz. PATH=$PATH:$HOME/bin:/u01/app/12.1.0.1.0/grid/bin/ -- Küme durumumuzu monitör edebilmek için "root" kullanıcısı ile aşağıdaki komutu kullanabiliriz. # crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora.DATA.dg ora....up.type ONLINE ONLINE kryrac1 ora.FRA.dg ora....up.type ONLINE ONLINE kryrac1 ora....ER.lsnr ora....er.type ONLINE ONLINE kryrac1 ora....N1.lsnr ora....er.type ONLINE ONLINE kryrac2 ora....N2.lsnr ora....er.type ONLINE ONLINE kryrac1 ora....N3.lsnr ora....er.type ONLINE ONLINE kryrac1 ora.MGMTLSNR ora....nr.type ONLINE ONLINE kryrac1 ora.asm ora.asm.type ONLINE ONLINE kryrac1 ora.cvu ora.cvu.type ONLINE ONLINE kryrac1 ora....SM1.asm application ONLINE ONLINE kryrac1 ora....C1.lsnr application ONLINE ONLINE kryrac1 ora....ac1.ons application ONLINE ONLINE kryrac1 ora....ac1.vip ora....t1.type ONLINE ONLINE kryrac1 ora....SM2.asm application ONLINE ONLINE kryrac2 ora....C2.lsnr application ONLINE ONLINE kryrac2 ora....ac2.ons application ONLINE ONLINE kryrac2 ora....ac2.vip ora....t1.type ONLINE ONLINE kryrac2 ora.mgmtdb ora....db.type ONLINE ONLINE kryrac1 ora....network ora....rk.type ONLINE ONLINE kryrac1 ora.oc4j ora.oc4j.type ONLINE ONLINE kryrac1 ora.ons ora.ons.type ONLINE ONLINE kryrac1 ora.rac.db ora....se.type ONLINE ONLINE kryrac1 ora.scan1.vip ora....ip.type ONLINE ONLINE kryrac2 ora.scan2.vip ora....ip.type ONLINE ONLINE kryrac1 ora.scan3.vip ora....ip.type ONLINE ONLINE kryrac1 -- RAC veritabanının ve küme servislerin sağlıklı çalışıp çalışmadığının kontrolünü yapmak için "oracle kullanıcısıyla aşağıdaki komutları çalıştırabiliriz. $ srvctl config database -d RAC Database unique name: rac Database name: rac Oracle home: /u01/app/oracle/product/12.1.0.1.0/db Oracle user: oracle Spfile: +DATA/rac/spfilerac.ora Password file: +DATA/rac/orapwrac Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: rac Database instances: rac1,rac2 Disk Groups: DATA,FRA Mount point paths: Services: Type: RAC Start concurrency: Stop concurrency: Database is administrator managed $ srvctl status database -d RAC Instance rac1 is running on node kryrac1 Instance rac2 is running on node kryrac2
100. Oracle Real Application Cluster (RAC) sisteminde sunucumuz açıldığında “cluster” ve “database” servislerimiz otomatik olarak başlamaktadır. Sunucumuzu kapatmak istediğimizde bu servislerimizi durdurup sistemi kapatabiliriz. Aşağıdaki komutlarla kapattığımızda sunucumuz açıldığında otomatik yeniden başlayacaktır.
-- Cluster ve Veritabanı Servislerimizi Durdurma -- Aşağıdaki işlemleri "root" kullanıcısı ile yapıyoruz. # crsctl stop has -- Bu komut her iki üyede çalıştırılacaktır. Bu komut sonrası sistemimizi kapatıp açtığımızda otomatik açılacaktır. Bu işlem sonrası sistemimize "reboot" veya "shutdown" komutu verilebilir. -- Cluster ve Veritabanı Servislerimizi sunucumuzu yeniden başlatmadan açmak için aşağıdaki komutu kullanıyoruz. # crsctl start has
Bu makalemizde Oracle Enterprise Linux 6.4 64 Bit üzerine Oracle Real Application Cluster Database 12.1.0.1.0 kurulumu yapmayı inceledik.
Bir sonraki makalemizde görüşmek dileğiyle…
Yorum yazabilmek için oturum açmalısınız.