Pages

24 Ocak 2011 Pazartesi

Solaris 10 platformunda Oracle 10g Real Application Clusters(RAC) Kurulumu - Adım adım

Senaryomuzda, Oracle 10g R2 RAC çalışacak her bir düğüm aşağıdaki donanımsal gereksinimlere ihtiyaç duymaktadır;

  • OCR, Voting Disk dosyası ve veritabanı dosyalarını depolamak üzere SAN depolama ünitesi (her bir düğüm bu paylaşımlı SAN ünitesine bağlı olmalı)
  • iSCSI arayüzü
  • Her bir sunucu için 2 adet Ethernet kartı(NIC). Bir NIC public olarak lokal networke ait switche bağlanacak, diğer NIC ise private olarak cluster switchine bağlanarak Virtual Ip address ataması ile istemci bağlantılarında ve bağlantı düşmelerinde kullanılmak üzere diğer düğüm ile veri alışverişini sağlayacak. Her bir düğümde private, public ve Virtual IP adresleri diğer düğümlerden farklı olacaktır.
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.

ÖNEMLİ NOT:
  • 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.
 # pkginfo SUNWiscsiu SUNWiscsir

Sun sunucu için volume oluşturun ve ekleyin. Sun sunucu üzerinde Initiator bilgisini almak için;
 iscsiadm list initiator-node

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
# iscsiadm modify discovery --static enable

Lokal sistem için iSCSI device linklerinin oluşturulması
# devfsadm -i iscsi

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.
       # format
AVAILABLE DISK SELECTIONS:
0. c1t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w500000e010685cf1,0
1. c1t2d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424>
/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w500000e0106e3ba1,0
2. c0t1d0 <EQLOGIC-100E-00-2.2 cyl 546 alt 2 hd 16 sec 63>
/iscsi/disk@0000iqn.2001-05.com.equallogic%3A6-8a0900-deca50901-805ff036ff445ca2-volume1FFFF,0
3. c0t2d0 <EQLOGIC-100E-00-2.2 cyl 546 alt 2 hd 16 sec 63>
/iscsi/disk@0000iqn.2001-05.com.equallogic%3A6-8a0900-dcca50901-971ff036ff145ca2-volume1FFFF,0

Specify disk (enter its number): 2
selecting c0t2d0
[disk formatted] format> partition
partition> print
partition> modify
Select partitioning base:
0. Current partition table (original)
1. All Free Hog
Choose base (enter number) [0]? 1
Part Tag Flag Cylinders Size Blocks
0 root wm 0 0 (0/0/0) 0
1 swap wu 0 0 (0/0/0) 0
2 backup wu 0 - 2035 1002.09MB (2036/0/0) 2052288
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 usr wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
Do you wish to continue creating a new partition
table based on above table[yes]? y
Free Hog partition[6]? 7
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]:
Part Tag Flag Cylinders Size Blocks
0 root wm 0 0 (0/0/0) 0
1 swap wu 0 0 (0/0/0) 0
2 backup wu 0 - 2035 1002.09MB (2036/0/0) 2052288
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 usr wm 0 0 (0/0/0) 0
7 unassigned wm 0 - 2035 1002.09MB (2036/0/0) 2052288
Okay to make this the current partition table[yes]? yes
Enter table name (remember quotes): "home"
Ready to label disk, continue? y
partition> q
format> verify
format> q

Diğer iSCSI volume içinde(c0t1d0) yukardaki adımları izleyerek aynı şekilde partition oluşturun

  • Volumleri tanıtın.
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
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
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.
#chown –R oracle:oinstall /u01/app/oracle
#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.
umask 022
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
LD_LIBRARY_PATH=/usr/lib:/usr/X11R6/lib
ORA_CRS_HOME=/u01/crs/oracle/product/10.2.0.1/crs1
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0.1/db1
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/lib:
$ORACLE_HOME/jdk/fre/lib/i386:$ORACLE_HOME/jdk/jre/lib/i386/server:
$LD_LIBRARY_PATH:$CRS_HOME/lib:$CRS_HOME/rdbms/lib
PATH=$ORACLE_HOME/bin:$PATH:$ORA_CRS_HOME/bin:/home/oracle
export PATH LD_LIBRARY_PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID ORA_CRS_HOME
unset USERNAME
  • 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.
       OCR disk device
chown root:dba /dev/rdsk/c0t1d0s*
chmod 660 /dev/rdsk/c0t1d0s*
Voting disk
chown oracle:dba /dev/rdsk/ c0t2d0s*
chmod 660 /dev/rdsk/ c0t2d0s*
  • Her iki düğümdede gerekli UDP parametre değişikliklerini yapıyoruz.
# ndd -set /dev/udp udp_xmit_hiwat 65536
# ndd -set /dev/udp udp_recv_hiwat 65536

  • Her açılışta UDP parametresi değişikliğinin aktif olması için /etc/init.d içinde script yazıyoruz.
# !⁄sbin⁄sh
case “$1″ in
‘start’)
ndd -set ⁄dev⁄udp udp_xmit_hiwat 65536
ndd -set ⁄dev⁄udp udp_recv_hiwat 65536
;;
‘state’)
ndd ⁄dev⁄udp udp_xmit_hiwat
ndd ⁄dev⁄udp udp_recv_hiwat
;;
*)
echo “Usage: $0 { start | state }”
exit 1
;;
esac

⁄etc⁄rc3.d dizininde bu script için link oluşturuyoruz.
# ln -s ⁄etc⁄init.d⁄udp_rac ⁄etc⁄rc3.d⁄S86udp_rac
  • ssh,scp, rsh ve rcp yapılandırmasını yapın.
Oracle kullanıcısı ile oturum açın ve .ssh dizini oluşturun.
$ mkdir ~/.ssh
$ chmod 755 ~/.ssh
  • RSA anahtarı oluşturun. Yapılandırmada varsayılan lokasyonlarda kalsın, oracle şifresi dışında giriş kodu verin.
$ /usr/bin/ssh-keygen -t rsa
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.
$ /usr/bin/ssh-keygen -t dsa
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.
$ chmod 644 ~/.ssh/authorized_keys
  • 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.
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add
  • 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.
Host *
ForwardX11 no
  • 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.
rac1                         oracle
192.168.0.1             oracle
rac2                         oracle
192.168.0.2             oracle
  • rsh servisini root hesabından aktive edin.
# svcadm enable svc:/network/shell:default
  • Tüm düğümlerde /etc/system kernel değerlerini ayarlayın.
set noexec_user_stack=1

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.
oracle::::project=user.oracle
3. Daha sonra root hesabından terminalde alttakiler çalıştırılır.
# projmod -sK "project.max-shm-memory=(priv,4gb,deny)" user.oracle
# projmod -sK "project.max-sem-nsems=(priv,256,deny)" user.oracle
# projmod -sK "project.max-sem-ids=(priv,100,deny)" user.oracle
# projmod -sK "project.max-shm-ids=(priv,100,deny)" user.oracle

Tüm düğümlerde /etc/hosts dosyasına hostların girişini yapın.
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.1 rac1
192.168.0.2 rac2
# Private IP addresses for the rac nodes
10.5.1.51 rac1-priv1
10.5.1.61 rac2-priv1
# Virtual IP addresses for the rac nodes
192.168.0.50 rac1-vip
192.168.0.50 rac2-vip

  • 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

  1. Alttaki komutu çalıştırdığınızdan emin olun.
$ exec /usr/bin/ssh-agent $SHELL
$ /usr/bin/ssh-add
$ setenv ORACLE_HOME=/u01/crs/oracle/product/10.2.0.1/crs1
  1. $ ~/runinstaller & ile Oracle Clusterware kurulumuna başlıyoruz.
  2. Eğer SSH’ye bağlı kurulum hatası alırsanız alttaki komutu kullanın.
               # ./runInstaller –remoteshell /usr/bin/ssh

  1. Inventory dizinini and hakları girin(oinstall olarak bırakın)
  2. CRS Home detaylarını girin.
  3. CRS path detaylarını girin.
  4. Installer kurulum öncesi gereksinimleri kontrol edecektir.
  1. 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.
  2. 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)
  3. OCR lokasyonlarını belirleyin(/dev/rdsk/c0t1d0s7).


















10.  Voting Disk lokasyonlarını belirtin(/dev/rdsk/c0t2d0s7)

  1. Install düğmesine basarak üstteki şekilde kuruluma başlayın.
  2. 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.
# /u01/app/oracle/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oracle/oraInventory to 770.
Changing groupname of /u01/app/oracle/oraInventory to dba.
The execution of the script is complete

# /u01/app/oracle/product/10.2.0/db_1/root.sh
WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/u01/app/oracle/product' is not owned by root
WARNING: directory '/u01/app/oracle' is not owned by root
Checking to see if Oracle CRS stack is already configured
Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/u01/app/oracle/product' is not owned by root
WARNING: directory '/u01/app/oracle' is not owned by root
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node <nodenumber>: <nodename> <private interconnect name> <hostname>
node 1: rac1 rac1-priv rac1
node 2: rac2 rac2-priv rac2
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Now formatting voting device: /dev/rdsk/c0d1s1
Format of 1 voting devices complete.
Startup will be queued to init within 30 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
rac1
CSS is inactive on these nodes.
rac2
Local node checking complete.
Run root.sh on remaining nodes to start CRS daemons.

İkinci düğümde alttaki scripti çalıştırın.
# ./root.sh
WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/u01/app/oracle/product' is not owned by root
WARNING: directory '/u01/app/oracle' is not owned by root
Checking to see if Oracle CRS stack is already configured
Setting the permissions on OCR backup directory
Setting up NS directories
Oracle Cluster Registry configuration upgraded successfully
WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
WARNING: directory '/u01/app/oracle/product' is not owned by root
WARNING: directory '/u01/app/oracle' is not owned by root
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node <nodenumber>: <nodename> <private interconnect name> <hostname>
node 1: rac1 rac1-priv rac1
node 2: rac2 rac2-priv rac2
clscfg: Arguments check out successfully.
NO KEYS WERE WRITTEN. Supply -force parameter to override.
-force is destructive and will destroy any previous cluster
configuration.
Oracle Cluster Registry for cluster has already been initialized
Startup will be queued to init within 30 seconds.
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
rac1
rac2
CSS is active on all nodes.
Waiting for the Oracle CRSD and EVMD to start
Waiting for the Oracle CRSD and EVMD to start
Waiting for the Oracle CRSD and EVMD to start
Waiting for the Oracle CRSD and EVMD to start
Waiting for the Oracle CRSD and EVMD to start
Waiting for the Oracle CRSD and EVMD to start
Oracle CRS stack installed and running under init(1M)
Running vipca(silent) for configuring nodeapps
Creating VIP application resource on (2) nodes...
Creating GSD application resource on (2) nodes...
Creating ONS application resource on (2) nodes...
Starting VIP application resource on (2) nodes...
Starting GSD application resource on (2) nodes...
Starting ONS application resource on (2) nodes...
Done.

  1. VIP(Virtual IP address) yapılandırmasını tamamlayın. İlk  düğümde root kullanıcısı ile alttaki komutu çalıştırın.
# $CRS_HOME/bin/vipca
  1. VIP için kullanılacak olan network arayüzünü seçin ve yukardaki resimlerdeki gibi ilerleyin.
  2. Kurulum sonrasında $CRS_HOME\bin dizininden CRS_STAT (cluster istatistikleri) bilgisini alalım.
# ./crs_stat -t
Name Type Target State Host
------------------------------------------------------------
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
rac1   1
rac2   2
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İ

  1. $ .⁄runInstaller.sh komutu ile birinci düğümden veritabanı kurulumuna başlıyoruz.
  2. “Enterprise Edition” seçeneğini tıklayarak ilerliyoruz.
  3. ORACLE_HOME için alttaki isim ve yolu tanımlıyoruz.
Name: OraDb10g_home1
Path: /u01⁄app/oracle⁄product⁄10.2.0⁄db_1
  1. 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.
  2. “Install database software only” seçeneğini tıklayarak ilerleyin.
  3. Install düğmesine tıklayarak ilerleyin.
  4. 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.
/dev/rdsk/c2t5d0s6 100GB
/dev/rdsk/c2t6d0s6 100GB
⁄dev⁄rdsk⁄c2t7d0s6   100GB
  • 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
            Redundancy: External

            2. disk grup adı: DISKGROUP2
            Üye diskler: ⁄dev⁄rdsk⁄c2t7d0s6
            Redundancy: External
  • Finish düğmesine tıklayarak kurulumu tamamlıyoruz.

5. AŞAMA: ORACLE 10g VERİTABANI KURULUMU

  1. Birinci düğümde Oracle kullanıcısı ile $dbca komutunu çalıştırarak Database Configuration Assistant sihirbazı ile cluster veritabanı kurulumuna başlıyoruz.
  2. “Oracle Real Application Clusters database” seçeneğini tıklayarak ilerliyoruz.
  3. “Create a database” seçeneğini tıklayarak ilerliyoruz.
  4. Her iki düğümüde seçerek ilerliyoruz.
  5. 3. adımda “create a spfile” seçeneğinin ASM içindeki bir lokasyonu işaret ettiğinden emin olarak ilerliyoruz.
  6. “General purpose” veritabanı şablonunu seçerek ilerliyoruz.
  7. 4. adımda veritabanı adı ve SID sini giriyoruz. örneğin ben RAC olarak giriyorum her iki değeride.
  8. 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. 9. adımda Oracle Managed Files seçilerek veritabanı alanı olarak +DISKGROUP1 seçerek ilerliyoruz.
  10. 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.
  11. 15. adıma kadar varsayılan ayarları muhafaza ederek “create database” seçeneğini tıklayarak RAC adlı veritabanının kurulumunu tamamlıyoruz.

1 yorum: