Oracle Enterprise Linux İşletim Sisteminde Oracle Real Application Cluster (Rac) 12c R1 Veritabanı Kurulumu

Oracle12c

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.

OelRacInstall_1

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.

OelRacInstall_2

3. Hoşgeldiniz ekranındayken “Next” düğmesine basarak kuruluma başlıyoruz.

OelRacInstall_3

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.

OelRacInstall_4

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.

OelRacInstall_5

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.

OelRacInstall_6

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.

OelRacInstall_7

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.

OelRacInstall_89. 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.

OelRacInstall_91o. 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.

OelRacInstall_10

11. İşletim sistemi için “root” yönetici hesabının parolasını atayarak “Next” düğmesine tıklıyoruz.

OelRacInstall_11

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.

OelRacInstall_12

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.

OelRacInstall_13

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.

OelRacInstall_14

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.

OelRacInstall_15

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.

OelRacInstall_16

17. Karşımıza çıkan “Create Storage” ekranında “LVM Physical Volume” seçeneği işaretliyken “Create” düğmesine tıklıyoruz.

OelRacInstall_17

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.

OelRacInstall_18

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.

OelRacInstall_19

20. Karşımıza çıkan “Create Storage” ekranında “LVM Volume Group” seçeneği işaretliyken “Create” düğmesine tıklıyoruz.

OelRacInstall_20

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.

OelRacInstall_21

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.

OelRacInstall_22

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.

OelRacInstall_23

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.

OelRacInstall_24

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.

OelRacInstall_25

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.

OelRacInstall_26

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.

OelRacInstall_2728. 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.

OelRacInstall_28

29. Disklerimiz tercihimize göre yapılandırılırken bekliyoruz.

OelRacInstall_29

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.

OelRacInstall_30

31. Karşımıza gelen ekranda “First sector of boot partition-/dev/sda1″ kutucuğunu işaretleyerek “Ok” düğmesine tıklıyoruz.

OelRacInstall_31

32. Önyükleme seçeneğini ayarladıktan sonra “Next” düğmesine tıklayarak bir sonraki adıma geçiyoruz.

OelRacInstall_32

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.

OelRacInstall_33

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

OelRacInstall_34

35. Kurulum sihirbazı paket kurulumları için gerekli hazırlığı yaparken bekliyoruz.

OelRacInstall_35

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.

OelRacInstall_36

37. Kurulum işlemi tamamlandıktan sonra “Reboot” düğmesine tıklanarak sunucumuzu yeniden başlatıyoruz.

OelRacInstall_37

38. Sunucu yeniden başladıktan sonra son ayarları yapacağımız kurulum ekranı gelmektedir. ”Forward” düğmesine tıklayarak başlıyoruz.

OelRacInstall_38

39. Lisans anlaşmasını “Yes, I agree to the Licence Agreement” seçeneğini işaretleyerek kabul ediyoruz.

OelRacInstall_39

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.

OelRacInstall_40

41. Kullanıcı hesabı girmediğimiz için bizi uyarak bu pencerede “No thanks, I’ll connect later.” düğmesine tıklayarak devam ediyoruz.

OelRacInstall_4142. Güncelleme ayarlarını bitirdikten sonra “Forward” düğmesine tıklayarak ilerliyoruz.

OelRacInstall_42

43. Bu aşamada kullanıcı yaratmayacağımız için “Forward” düğmesine tıklayarak ilerliyoruz.

OelRacInstall_43

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.

OelRacInstall_44

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.

OelRacInstall_45

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.

OelRacInstall_46

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.

OelRacInstall_47

48. Sunucumuz açıldıktan sonra kullanıcı giriş ekranı bizi karşılıyor.

OelRacInstall_48

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.

OelRacInstall_49

50. Kurulum aşamasında “root” kullanıcısı için atamış olduğumuz parolamızı giriyoruz.

OelRacInstall_50

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.

OelRacInstall_51

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.

OelRacInstall_52

53. Terminal ekranında komutlar ile çalışmak için aşağıdaki adımları izleyerek boş bir komut satırı açabiliriz.

OelRacInstall_53

54. Terminal Ekranında komutlar ile çalışabiliriz.

OelRacInstall_54

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.

OelRacInstall_55

56. Güvenlik duvarı ile ilgili bizi uyaran ekranı “Close” düğmesine tıklayarak kapatıyoruz.

OelRacInstall_56

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.

OelRacInstall_57

58. Artık Firewall kapalı durumdadır.

OelRacInstall_58

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.

OelRacInstall_59

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.

OelRacInstall_60

61. Tüm bu ayarları yaptıktan sonra “System>Shutdown” adımları izleyerek sistemi yeniden başlatmalıyız.

OelRacInstall_61

62. Çıkan pencereden “Restart” düğmesine tıklayarak sistemi yeniden başlatıyoruz.

OelRacInstall_6263. 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.

OelRacInstall_63

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.

OelRacInstall_64İş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.

OelRacDb12cInstall_1

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.

OelRacDb12cInstall_2

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.

OelRacDb12cInstall_3

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.

OelRacDb12cInstall_4

26. Dil seçeneğimizi varsayılan olarak “English” olarak seçili bırakıyoruz ve “Next” düğmesine tıklıyoruz.

OelRacDb12cInstall_5

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.

OelRacDb12cInstall_6

28. Kümeye dahil edilecek üyelerin seçileceği ekranda ikinci üyeyi dahil etmek için “Add” düğmesine tıklıyoruz.

OelRacDb12cInstall_7

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.

OelRacDb12cInstall_8

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.

OelRacDb12cInstall_9

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.

OelRacDb12cInstall_10

32. Kurulum sihirbazımız “SSH” yapılandırmamızı yaparken bekliyoruz.

OelRacDb12cInstall_11

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.

OelRacDb12cInstall_12

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.

OelRacDb12cInstall_13

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.

OelRacDb12cInstall_14

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.

OelRacDb12cInstall_15

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.

OelRacDb12cInstall_16

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.

OelRacDb12cInstall_17

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.

OelRacDb12cInstall_18

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.

OelRacDb12cInstall_19

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.

OelRacDb12cInstall_20

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.

OelRacDb12cInstall_21

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.

OelRacDb12cInstall_22

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.

OelRacDb12cInstall_23

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.

OelRacDb12cInstall_24

46. Oracle Inventory yapılandırmamız için dizin bilgilerimizi giriyoruz ve “Next” düğmesine tıklıyoruz.

OelRacDb12cInstall_25

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.

OelRacDb12cInstall_26

48. Kurulum sihirbazı sunucularımızı kontrol ederek öngereksimin olarak bir eksiklik olup olmadığıyla ilgili kontrolleri yapıyor.

OelRacDb12cInstall_27

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.

OelRacDb12cInstall_28

50. Kurulum aşamalarını aşağıdaki ekrandan takip edebiliriz.

OelRacDb12cInstall_29

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.

OelRacDb12cInstall_30

52. Kurulum işleminin kalan aşması devam ediyor. Bu işlemler tamamlanana kadar bekliyoruz.

OelRacDb12cInstall_31

53. Kurulum başarılı bir şekilde tamamlandıktan sonra “Close” düğmesine basarak kurulumu bitiriyoruz.

OelRacDb12cInstall_32

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.

OelRacDb12cInstall_33

OelRacDb12cInstall_34

56. Disk grubumuzu başarılı bir şekilde oluşturduğumuzda aşağıdaki gibi uyarı alıyoruz.

OelRacDb12cInstall_35

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.

OelRacDb12cInstall_36

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.

OelRacDb12cInstall_37

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.

OelRacDb12cInstall_38

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.

OelRacDb12cInstall_39

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.

OelRacDb12cInstall_40

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.

OelRacDb12cInstall_41

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.

OelRacDb12cInstall_42

OelRacDb12cInstall_43

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.

OelRacDb12cInstall_44

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.

OelRacDb12cInstall_45

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.

OelRacDb12cInstall_46

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.

OelRacDb12cInstall_47

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.

OelRacDb12cInstall_48

70. Kurulum özet ekranı çıktıktan sonra “Install” düğmesine tıklayarak kurulumu başlatıyoruz.

OelRacDb12cInstall_49

71. Kurulum sihirbazı kurulum aşamalarını bize adım adım gösterecektir. Bu işlemler tamamlanana kadar bekliyoruz.

OelRacDb12cInstall_50

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.

OelRacDb12cInstall_51

# /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.

OelRacDb12cInstall_5274. 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.

OelRacDb12cInstall_53

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.

OelRacDb12cInstall_54

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.

OelRacDb12cInstall_55

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.

OelRacDb12cInstall_56

79. Veritabanı yazılımının kurulacağı üye sunucularımızı seçiyoruz ve “Next” düğmesine tıklıyoruz.

OelRacDb12cInstall_57

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.

OelRacDb12cInstall_58

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.

OelRacDb12cInstall_59

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..

OelRacDb12cInstall_60

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. 

OelRacDb12cInstall_61

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.

OelRacDb12cInstall_62

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.

OelRacDb12cInstall_63

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.

OelRacDb12cInstall_64

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.

OelRacDb12cInstall_65

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.

OelRacDb12cInstall_66

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.

OelRacDb12cInstall_67

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.

OelRacDb12cInstall_68

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.

OelRacDb12cInstall_69

92. Kurulum için gerekli denetimler yapılırken bekliyoruz.

OelRacDb12cInstall_70

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.

OelRacDb12cInstall_71

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.

OelRacDb12cInstall_72

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.

OelRacDb12cInstall_73

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.

OelRacDb12cInstall_74

98. Kurulum işlemimiz başarıyla tamamlandı. Kurulum ekranımızı kapatmak için “Close” düğmesine tıklıyoruz.

OelRacDb12cInstall_75

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

OelRacDb12cInstall_76

OelRacDb12cInstall_77

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…

Bu yazı Oracle, Unix / Linux kategorisine gönderilmiş ve , , , , , , , , , , , , , , , , , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.