Magic World of Oracle: Solaris 10 platformunda Oracle 10g Real Application Clusters(RAC) Kurulumu - Adım adım
Oracle Real Application Cluster mimarisinde depolama seçenekleri
NFS dosya sistemi veya raw device(partition) Oracle Clusterware dosyaları için kullanılabilir. Veritabanı veya recovery dosyası olarak ASM kullanılabilir, ancak recovery dosyasını tutmak için raw devicelar kullanılamaz.
Oracle veritabanı ve recovery dosyalarını saklamak için Automatic Storage Management (ASM) kullanılmasını tavsiye etmektedir.
ASM yapısı Oracle Clusterware dosyalarını saklamak için kullanılamaz, çünkü bu clusterware dosyalarına erişim ASM intancenın başlamasından once sağlanmaktadır.
RAC ile birlikte ASM kullanmak isterseniz yeni bir ASM instance oluşturmanız gerekmektedir.
Cluster üzerindeki tüm düğümlerde Oracle Clusterware Release 2(10.2) versiyonu olmalıdır. Düğümler üstünde başka bir ASM instance varsa bu kapatılmış olmalıdır.
Solaris host isimlerini küçük harflerle tanımlayınız, aksi durumda Clusterware kurulumu sonunda hata mesajı alırsınız.
RAC kurulumu sonrasında düğümlerdeki listener dosyalarında yer alan host adreslerinin public adres yerine VIP adresleri işaret ettiğinden emin olun.
Kurulum sonunda Oracle yamalarını eksiksiz olarak yükleyin. Aksi durumda pek çok bugdan kaynaklanacak olan performans ve işletim sorunları yaşayacaksınız!
Solaris 10 üzerinde Oracle RAC kurulumunun aşamaları
Bu yazıda (10gRAC), Solaris 10 üstünde 2 düğümlü Oracle RAC 10g Release 2 kurulumu ve yapılandırmasını adım adım işleyeceğiz. İşlem altaki gibi 5 aşamalı olacaktır.
1. AŞAMA: Paylaşımlı depolama alanı(iSCSI) yapılandırması
2. AŞAMA: Oracle 10g Clusterware yazılımın kurulması
3. AŞAMA: Oracle 10g yazılımının yüklenmesi
4. AŞAMA: Oracle 10g ASM yapılandırması
5. AŞAMA: Oracle 10g veritabanının kurulumu
1. AŞAMA: iSCSI yapılandırması
Bu işlem root hesabıyla yapılmaktadaır. iSCSI paketlerinin sistemde kurulu olup olmadığını kontrol edin.
Sun sunucu için volume oluşturun ve ekleyin. Sun sunucu üzerinde Initiator bilgisini almak için;
iSCSI array üzerinde örneğin 50GB lık volume oluşturmak için;
EQ> create volume volume1 size 2GB
EQ> create volume volume2 size 2GB
EQ> volume select volume1 access create initiator iqn.2000-05.com.sun.a2sd-4000.sn00044
EQ> volume select volume2 access create initiator iqn.2000-05.com.sun.a2sd-4000.sn00044
EQ> volume select volume_name show
IP adresi kullanarak hedef keşfin yapılandırılması
# iscsiadm add discovery-address 10.0.0.1:3260 –Bu komutun tüm volumeler için yapılması gerekir-
Hedef isim kullanılarak hedef kesşfin yapılması
# iscsiadm add static-config iqn.2001-05.com.equallogic:6…. , 10.0.0.1
Lokal sistem için iSCSI device linklerinin oluşturulması
iSCSI cihazların kontrol edilmesi
# iscsiadm list target –S
Tüm RAC düğümler için donanım ve depolama sistemi kurulmalı ve formatlanmalıdır.
Önce partitionları oluşturacağız.
1. c1t2d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
2. c0t1d0 <EQLOGIC-100E-00-2.2 cyl 546 alt 2 hd 16 sec 63>
3. c0t2d0 <EQLOGIC-100E-00-2.2 cyl 546 alt 2 hd 16 sec 63>
[disk formatted] format> partition
2 backup wu 0 - 2035 1002.09MB (2036/0/0) 2052288
Enter size of partition ’0’ [0b, 0c, 0.00mb, 0.00gb]:1.00
Enter size of partition ’1’ [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition ’3’ [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition ’4’ [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition ’5’ [0b, 0c, 0.00mb, 0.00gb]:
Enter size of partition ’6’ [0b, 0c, 0.00mb, 0.00gb]:
7 unassigned wm 0 - 2035 1002.09MB (2036/0/0) 2052288
Diğer iSCSI volume içinde(c0t1d0) yukardaki adımları izleyerek aynı şekilde partition oluşturun
dd if=/dev/zero of=/dev/rdsk/c0t1d0s7 bs=8192
dd if=/dev/zero of=/dev/rdsk/c0t2d0s7 bs=8192
Minimum donanımsal gereksinimlerinin karşılandığından emin olun.
RAM en az 1GB olmalı
$ /usr/sbin/prtconf | grep "Memory size" komutu ile kontrol edebilirsiniz.
Swap Size: Eğer RAM 2GB dan fazla ise swap alanı RAM’e eşit olmalı, eğer RAM 1GB ile 2GB arası ise swap alanı RAM değerinin 1.5 katı olmalıdır.
# /usr/sbin/swap –s komutu ile control edebilirsiniz.
/tmp dizininde en az 400 MB boş disk alanın olmalıdır.
# df -k /tmp komutu ile kontrol edebilirsiniz
Sistem mimarisini kontrol edin
# /bin/isainfo –kv komutu ile kontrol edebilirsiniz
Sonuç şu şekil olmalıdır:
64-bit SPARC kurulumunda:64-bit sparcv9 kernel modules
32-bit x86 kurulumunda:32-bit i386 kernel modules
64-bit x86 kurulumunda:64-bit amd64 kernel modules
Gerekli Solaris paketlerinin yüklü olduğundan emin olun
Eğer eksik paket varsa bu eksik paketleri Solaris 10 kurulum CD si içinden kurun.
Solaris 10 yamalarını yükleyin
SUNUCULARIN CRS KURULUMU İÇİN HAZIRLANMASI
Her iki düğümdede Oracle kullanıcı hesabını ve ilgili grupları oluşturun. Oracle kullanıcısı profilinde Oracle için gerekli eklemeleri yapın.
# /usr/sbin/groupadd –g 500 oinstall
# /usr/sbin/groupadd –g 501 dba
# /usr/sbin/groupadd –g 502 oper
# /usr/sbin/useradd -u 200 -g oinstall -G dba,oper –d /export/home/oracle –s /bin/ksh oracle –p password
Gerekli dizinlere erişim için Oracle kullanıcısına gerekli erişim haklarını veriyoruz.
#chmod –R 775 /u01/app/oracle
#chown –R oracle:oinstall /u01/crs/
#chmod –R 775 /u01/crs
Oracle kullanıcısı .profile dosyasına alttaki eklemeleri yapın.
export ORACLE_BASE ORACLE_HOME ORACLE_SID ORA_CRS_HOME
Oracle kullanıcısı için gerekli dizinleri oluşturuyoruz.
#mkdir -p $ORACLE_BASE/admin
#mkdir -p $ORACLE_HOME
#mkdir -p $ORA_CRS_HOME
Her iki düğümdede Voting disk ve OCR diski için Oracle kullanıcısına sahiplik veriyoruz.
chown root:dba /dev/rdsk/c0t1d0s*
chmod 660 /dev/rdsk/c0t1d0s*
chown oracle:dba /dev/rdsk/ c0t2d0s*
chmod 660 /dev/rdsk/ c0t2d0s*
Her iki düğümdede gerekli UDP parametre değişikliklerini yapıyoruz.
Her açılışta UDP parametresi değişikliğinin aktif olması için /etc/init.d içinde script yazıyoruz.
⁄etc⁄rc3.d dizininde bu script için link oluşturuyoruz.
ssh,scp, rsh ve rcp yapılandırmasını yapın.
Oracle kullanıcısı ile oturum açın ve .ssh dizini oluşturun.
RSA anahtarı oluşturun. Yapılandırmada varsayılan lokasyonlarda kalsın, oracle şifresi dışında giriş kodu verin.
Public key ~/.ssh/id_rsa.pub dosyasına yazılacak ve private key is ise ~/.ssh/id_rsa dosyasına yazılacaktır.
DSA anahtarı oluşturun.
Public key ~/.ssh/id_dsa.pub dosyasına,private key ise ~/.ssh/id_dsa dosyasına yazılacaktır.
~/.ssh/id_rsa.pub and ~/.ssh/id_dsa.pub dosyası içeriğini bu düğümdeki ~/.ssh/authorized_keys dosyasına ve diğer düğümlerdede aynı dosya içine kopyalayın. Tüm düğümlerdeki ~/.ssh/authorized_keys dosyasıda ~/.ssh/id_rsa.pub and ~/.ssh/id_dsa.pub dosyası içeriklerini bulundurmalıdır.
Tüm cluster düğümlerinde ~/.ssh/authorized_keys dosyası izinlerini değiştirin.
Bir düğümden diğer düğüme oturum açmak veya bağlanmak istediğiniz herseferde şifre sorulacaktır. Bu servisin ssh ve scp komutlarında şifre sormasını iptal etmek için alttaki komutu tüm düğümlerde çalıştırın.
Tüm düğümlerde ilk ssh bağlantısında bu hostun ~/.ssh/authorized_keys dosyasında saklanması için tüm ip adreslerinden veya host isimlerinden diğer düğümlere test bağlantısı yapın. Private bağlantıları olduğundan bu gereklidir.
$ ssh rac1 uname -n
$ ssh rac2 uname –n
$ ssh rac1-priv uname -n
$ ssh rac2-priv uname –n
$ scp test1 rac2:test1
X11 yönlendirmesinin kurulumda hataya sebep olmaması için düğümlerde ~oracle/.ssh/config dosyası oluşturup alttaki girişi bu dosyaya ekleyin.
rsh ve rcp configure edin.
.rhosts (veya /etc/hosts.equiv) dosyasını tüm düğümlerdeki oracle home dizininde oluşturun ve alttaki girişleri ekleyin.
rsh servisini root hesabından aktive edin.
# svcadm enable svc:/network/shell:default
Tüm düğümlerde /etc/system kernel değerlerini ayarlayın.
Solaris 10 da paylaşımlı bellek ayarları için kernelde project oluşturmak gerekmekte ve artık /etc/system dosyası altına ilgili parametreleri eklemeye gerek bulunmamaktadır. Bunun için aşağıdaki adımları izleyin.
1. root hesabından “projadd user.oracle” komutu ile yeni bir proje açılır.
2. /etc/user_attr dosyasının en altına aşağıdaki eklenir.
3. Daha sonra root hesabından terminalde alttakiler çalıştırılır.
# projmod -sK "project.max-shm-memory=(priv,4gb,deny)" user.oracle
Tüm düğümlerde /etc/hosts dosyasına hostların girişini yapın.
Solaris düğümlerde CRS ve Oracle home dizinlerini oluşturun.
CRS Home Dizini: /u01/crs/oracle/product/10.2.0.1/crs1
Oracle Home Dizini: /u01/app/oracle/product/10.2.0.1/db1
Clusterware kurulumuna başlamadan once , cluster verification utility araçlarını kullanarak donanımsal/yazılımsal eksikliğimiz olup olmadığını kontrol etmeliyiz.
CVU ile network kurulumu kontrolü
# ./runcluvfy.sh comp nodecon -n node1,node2 -verbose
CVU ile donanım and işletim sistemi kurulumu kontrolü
# ./runcluvfy.sh stage –post hwos –n node1,node2
CVU ile işletim sistemi gereksinimleri kontrolü
# ./runcluvfy.sh comp sys -n node1,node2 -p crs –osdba crs -orainv oinstall
Kurulum öncesi gereksinimler tamamlanmışmı?
# ./runcluvfy.sh stage -pre crsinst -n node1,node2,node3
CVU ile yeterli shared depolama kontrolü
# ./runcluvfy.sh comp ssa -n node1,node2 –s /dev/c0t1d0s7,/dev/c0t2d0s7
2. AŞAMA: ORACLE 10g CLUSTERWARE YAZILIMININ KURULUMU
Alttaki komutu çalıştırdığınızdan emin olun.
$ setenv ORACLE_HOME=/u01/crs/oracle/product/10.2.0.1/crs1
$ ~/runinstaller & ile Oracle Clusterware kurulumuna başlıyoruz.
Eğer SSH’ye bağlı kurulum hatası alırsanız alttaki komutu kullanın.
# ./runInstaller –remoteshell /usr/bin/ssh
Inventory dizinini and hakları girin(oinstall olarak bırakın)
CRS Home detaylarını girin.
CRS path detaylarını girin.
Installer kurulum öncesi gereksinimleri kontrol edecektir.
Cluster konfigürasyonunu belirtin. “Add” düğmesine basarak tüm düğümlerdeki public düğüm ismi, private düğüm ismi ve virtual düğüm ismi detaylarını girin.
Network arayüzü kullanımını tanımlayın. En azından bir arayüz public olmalıdır. (Benim senaryomda public network 192.168.0.0 , private network ise 10.5.1.0 dir)
OCR lokasyonlarını belirleyin(/dev/rdsk/c0t1d0s7).
10. Voting Disk lokasyonlarını belirtin(/dev/rdsk/c0t2d0s7)
Install düğmesine basarak üstteki şekilde kuruluma başlayın.
Kurulum sonunda orainstRoot.sh ve root.sh scriptini sırasıyla her iki düğümdede root hesabından çalıştırın. oraRoot.sh scriptini her iki düğümde sırayla çalıştırdıktan sonra root.sh scriptini çalıştırın.
Now formatting voting device: /dev/rdsk/c0d1s1
İkinci düğümde alttaki scripti çalıştırın.
VIP(Virtual IP address) yapılandırmasını tamamlayın. İlk düğümde root kullanıcısı ile alttaki komutu çalıştırın.
VIP için kullanılacak olan network arayüzünü seçin ve yukardaki resimlerdeki gibi ilerleyin.
Kurulum sonrasında $CRS_HOME\bin dizininden CRS_STAT (cluster istatistikleri) bilgisini alalım.
ora....is1.gsd application ONLINE ONLINE rac1
ora....is1.ons application ONLINE ONLINE rac1
ora....is1.vip application ONLINE ONLINE rac1
ora....is2.gsd application ONLINE ONLINE rac2
ora....is2.ons application ONLINE ONLINE rac2
ora....is2.vip application ONLINE ONLINE rac2
bash-3.00$ ./olsnodes -n
bash-3.00$ ls -l /etc/init.d/init.*[d,s]
-r-xr-xr-x 1 root root 2236 Dec 15 18:14 /etc/init.d/init.crs
-r-xr-xr-x 1 root root 4857 Dec 15 18:14 /etc/init.d/init.crsd
-r-xr-xr-x 1 root root 41170 Dec 15 18:14 /etc/init.d/init.cssd
-r-xr-xr-x 1 root root 3197 Dec 15 18:14 /etc/init.d/init.evmd
3. AŞAMA: ORACLE 10g YAZILIMININ YÜKLENMESİ
$ .⁄runInstaller.sh komutu ile birinci düğümden veritabanı kurulumuna başlıyoruz.
“Enterprise Edition” seçeneğini tıklayarak ilerliyoruz.
ORACLE_HOME için alttaki isim ve yolu tanımlıyoruz.
rac1 ve rac2 düğümlerini seçerek ilerleyin. Eğer “node not reachable “hata mesajı alırsanız crs_stat –t komutu ile sorunlu düğümün çalışıp çalışmadığını belirleyin.
“Install database software only” seçeneğini tıklayarak ilerleyin.
Install düğmesine tıklayarak ilerleyin.
Kurulum sona erince her iki düğümdede sırasıyla teker teker root.sh scriptini çalıştırın.
4. AŞAMA: ORACLE 10g ASM YAPILANDIRILMASI
Önce Oracle için ASM disklerini oluşturacağız.
Alttaki büyüklükteki 3 disk için iSCSI hedeflerini ve partitionları oluşturun. 1. aşamada iSCSI yapılandırmasında OCR ve voting disk için izlediğimiz yolu izleyin. Ancak ASM disk olarak kullanılacak bu 3 disk için format ile partition oluştururken, partition slice olarak 6 kullanılması ve partition tag ID olarak "usr" atanması tavsiye edilir.
Bu üç yeni disk için gerekli oracle kullanıcısına gerekli kulllanım izinlerini verin.
# chown oracle:oinstall ⁄dev⁄rdsk⁄c2t5d0s6
# chown oracle:oinstall ⁄dev⁄rdsk⁄c2t6d0s6
# chown oracle:oinstall ⁄dev⁄rdsk⁄c2t7d0s6
# chmod 660 ⁄dev⁄rdsk⁄c2t5d0s6
# chmod 660 ⁄dev⁄rdsk⁄c2t6d0s6
# chmod 660 ⁄dev⁄rdsk⁄c2t7d0s6
Birinci düğümden oracle hesabından dbca komutunu çalıştırarak Database Configuration Assistant(DBCA) ile ASM Instance yapılandırmasına başlıyoruz.
Açılan sihirbaz penceresinde 1. adımda “Configure Automatic Storage Management” seçeneğini tıklayarak ilerliyoruz.
ASM instance’nın aktif olacağı düğümleri seçerek ilerliyoruz.(rac1 ve rac2 seçilecek)
2. adımda varsayılan ayarları sabit bırakarak ilerliyoruz. Bu aşamada listener servisi kurulmadığından dolayı hata mesajı alabiliriz. Listener servisini kurmak için her iki düğümdede bir terminal penceresi açarak NETCA komutu ile listener kurulumunu tamamlamamız gerekmektedir. ASM instance oluşturmal için SYS kullanıcı şifresini girip ileriliyoruz.
Listener servisini kurduktan sonraki adımda ASM diskgrup penceresinden CREATE NEW ile yeni bir ASM diskgrubu oluşturacağız. Redundancy EXTERNAL olacak ve ASM olarak kullanılacak diskleri üye diskler altında listelemek için \dev\rdsk\* şeklinde "Change Discovery Path" kısmına tanıtmamız gerekecek. Bunun sonucunda her 3 yeni disk üye adayı olarak listelenecektir.
Bu noktada hem veritabanı dosyalarında kullanılmak üzere hemde recovery alan için iki disk grubu oluşturmakta fayda var. Altta bu 2 diskgrup ve bu gruplara üye olarak mühürlenecek diskler listelenmektedir.
1. disk grup adı: DISKGROUP1
Üye diskler: ⁄dev⁄rdsk⁄c2t5d0s6, ⁄dev⁄rdsk⁄c2t6d0s6
2. disk grup adı: DISKGROUP2
Üye diskler: ⁄dev⁄rdsk⁄c2t7d0s6
Finish düğmesine tıklayarak kurulumu tamamlıyoruz.
5. AŞAMA: ORACLE 10g VERİTABANI KURULUMU
Birinci düğümde Oracle kullanıcısı ile $dbca komutunu çalıştırarak Database Configuration Assistant sihirbazı ile cluster veritabanı kurulumuna başlıyoruz.
“Oracle Real Application Clusters database” seçeneğini tıklayarak ilerliyoruz.
“Create a database” seçeneğini tıklayarak ilerliyoruz.
Her iki düğümüde seçerek ilerliyoruz.
3. adımda “create a spfile” seçeneğinin ASM içindeki bir lokasyonu işaret ettiğinden emin olarak ilerliyoruz.
“General purpose” veritabanı şablonunu seçerek ilerliyoruz.
4. adımda veritabanı adı ve SID sini giriyoruz. örneğin ben RAC olarak giriyorum her iki değeride.
5. ve 6. adımları varsayılan adımlarla geçerek 7. adımda depolama mekanizması olaral ASM seçeneğini işaretleyerek ilerliyoruz.
9. adımda Oracle Managed Files seçilerek veritabanı alanı olarak +DISKGROUP1 seçerek ilerliyoruz.
10.adımda “Specify flash recovery area” alanını seçerek Flash Recovery Area kısmında ikinci ASM diskgrubunu ekliyoruz(+DISKGROUP2), arşivleme özelliğini etkinleştirmek için “enable archiving” seçeneğini tıklıyoruz.
15. adıma kadar varsayılan ayarları muhafaza ederek “create database” seçeneğini tıklayarak RAC adlı veritabanının kurulumunu tamamlıyoruz.﻿
AHMET KILINÇ 19 Kasım 2013 10:59
Paylaşımlarınız için, teşşekkürler elinize sağlık