8 Aralık 2010 Çarşamba

RAC(Real Application Cluster) ARCHITECTURE(MİMARİSİ) uygulama

Oracle'ın Yüksek Kullanılabilirliği(High Availability/HA)  Çözüm Yığını




Paylaşılan Depolama Seçenekleri

  1. NFS Monte Depolama (Netapp)
  2. SCSI Paylaşılan depolama; OCFS, OFS, Raw Cihazlar ile
  3. Yapı Mimarisi ile Fiber Kanal depolama  
11i ADIM-1
  1. Tüm düğümlere RED HAT 2.1 yüklemek
  2. 11i Apps Tier tek bir düğüm olarak yüklemek 
  3. Paylaşılan Depolama Eklemek ve HBA için  Sürücüler Yüklemek
11i ADIM -2 (OS Yamalar kurulum)
  • rpm -Uv tar-1.13.25-9.i386.rpm
  • Bu Tar(Technical Assistance Request )'ın güncel versiyonuna ulaşımı sağlar
  • OCFS üzerinde çalışan bir veritabanından tar(Technical Assistance Request) dosyalarına bir kullanıcı sağlar
  • Örnekler,
  • tar --o_direct -cvf /tmp/backup.tar 
11i ADIM -2 ( OS Yamalar Kurulum)
  • rpm -Uv fileutils-4.1-4.2.i386.rpm
  • Bu dd(default date) ve Cp(command with web logic) nin güncelleştirlmiş Sürümünü Sağlar
  • OCFS üzerinde çalışan bir veritabanı dosyaları kopyalamak için bir kullanıcı sağlar
  • examples :
  • cp --o_direct /ocfs/quorum.dbf /tmp/backup/quorum.dbf
  • dd o_direct=yes if=/ocfs/quorum.dbf of=/tmp/backup/quorum.dbf
11i ADIM -3 RPM(Remote Preemptive Monitor) nin Oracle Sağlayıcılıarını Yüklemek 
  • ocfs-support-1.0.9-11.i686.rpm
  • ocfs-tools-1.0.9-11.i686.rpm
  • j2sdk-1_3_1_09-linux-i586.rpm.bin
  • unzip-5.50-30.i386.rpm
  • zip-2.3-10.i386.rpm
  • wu-ftpd-2.6.1-21.i386.rpm
  • hangcheck-timer-2.4.9-e.10-0.4.0-2.i686.rpm
  • hangcheck-timer-2.4.9-e.10-enterprise-0.4.0-2.i686.rpm
11i ADIM -4 Bağlantı ( interconnect)
  • ifconfig eth0:0 192.168.2.100
  • route add -host 192.168.2.100 dev eth0:0
  • Do this on each node
  • Create watchdog file (oracle installer checks for this to install cluster option)                                        # touch /dev/watchdog
  • Setup hangcheck-timer module                                                                                                            -# vi /etc/modules.conf                                                                                                               --     options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180                                                --# modprobe hangcheck-timer
11i ADIM -5 OCFS.conf – 5 
  • # ocfstool ( from x windows)
  • # ocfs config
  • # Ensure this file exists in /etc
  • #     node_name = linux3.home.com
      node_number = 
      ip_address = 192.168.1.100
      ip_port = 7000
      comm_voting = 1
      guid = 9D3B77AF2FF26E92E25D00E04CA44B58

11i ADIM -6  OCFS Kurulumu
  • mkfs.ocfs -F -b 128 -L /s01 -m /s01 -u 500 -g 500 0755 /dev/sda1
  • srvconfig_loc=/s01/oragsd-config ( touch this file)
11i ADIM -7 OCM
  • $ ls
  • If cmcfg.ora exists:
  • $ cp cmcfg.ora cmcfg.ora.original
  • If cmcfg.ora does not exist:
  • $ cp cmcfg.ora.tmp cmcfg.ora
  • $ echo HostName=dc1node3inter >> cmcfg.ora
  • $ vi cmcfg.ora
  • [comment out WatchdogSafetyMargin and WatchdogTimerMargin]
  • PrivateNodeNames=linux22 linux33 
  • PublicNodeNames=linux2 linux3
  • MissCount=210
  • KernelModuleName=hangcheck-timer
  • CmDiskFile=/u02/oracm-qourum
  • $ vi ocmargs.ora
  • [comment out first line, which contains the word “watchdogd”]
  • $ cd ../bin
  • $ cp ocmstart.sh ocmstart.sh.original
  • $ vi ocmstart.sh
  • [remove words “watchdog and” from line containing “Sample startup script...”]
  • [remove every line containing “watchdogd”, uppercase or lowercase.  If it’s in a if/then/fi then remove the whole if/then/fi.]
  • $ su – root
  • export ORACLE_HOME=/d02/oracle/proddb/9.2.0
  • /d02/oracle/proddb/9.2.0/oracm/bin/ocmstart.sh
  • Configure and Start Cluster Manager
  • $ cd $HOME/product/9.2/oracm/admin
11i ADIM -8 ( cp/dd - DB files to shared storage )

  • cp --o_direct /d03/oracle/proddata/* /s01/oracle/proddata/ 
  • Kontrol Dosyaları Yenileme
11i ADIM -8 – init.ora / spfile
  • Diğer örnekler için UNDO TBS Yaratmak
  • Örnek-2 için örnekleme 1 ve yerine versa(Menagement Systems)'den thread aktif ve pasifleştirme 
11i ADIM - 9 – Örnek 1
  • #   RAC-specific Parameters
  • #
  • #########
  • cluster_database = true
  • cluster_database_instances=2
  • thread = 1
  • instance_number = 1
  • instance_name = PRODi1
  • service_names = PROD
  • local_listener = PRODi1
  • remote_listener = PRODi2
11i ADIM -10 – Örnek 2
  • cluster_database = true
  • cluster_database_instances=2
  • thread = 2
  • instance_number = 2
  • instance_name = PRODi2
  • service_names = PROD
  • local_listener = PRODi2
  • remote_listener = PRODi1
11i Apps tier – 806/iAS tnsnames.ora
  • PROD = (DESCRIPTION=
  •         (ADDRESS_LIST =
  •                  (ADDRESS=(PROTOCOL=tcp)(HOST=linux1)(PORT=1521))
  •                  (ADDRESS=(PROTOCOL=tcp)(HOST=linux2)(PORT=1521))
  •         )
  •         (CONNECT_DATA=(SERVICE_NAME=PROD)(SERVER=DEDICATED))
  •        )

  • PRODi2 = (DESCRIPTION=
  •                 (ADDRESS=(PROTOCOL=tcp)(HOST=linux2)(PORT=1521))
  •                 (CONNECT_DATA=(INSTANCE_NAME=PRODi2)(SERVICE_NAME=PROD))
  •             )

  • PRODi1 = (DESCRIPTION=
  •                 (ADDRESS=(PROTOCOL=tcp)(HOST=linux1)(PORT=1521))
  •                 (CONNECT_DATA=(INSTANCE_NAME=PRODi1)(SERVICE_NAME=PROD))
  •             )
 Failover için DBC Dosya Düzeltme
  • APPS_JDBC_DRIVER_TYPE=THIN
  • FND_MAX_JDBC_CONNECTIONS=100
  • # Setup at Apps Tier
  • APPS_JDBC_URL=jdbc:oracle:thin:@(DESCRIPTION=
  • (ADDRESS_LIST=(LOAD_BALANCE=ON)
  • (ADDRESS=(PROTOCOL=TCP)(HOST=linux1)(PORT=1521))
  • (ADDRESS=(PROTOCOL=TCP)(HOST=linux2)(PORT=1521)))
  • (CONNECT_DATA=(SERVICE_NAME=prod)))
Failove ile ne Yapılabilir ve Ne Yapılamaz
  • SQL* PLUS TAF kullanarak Bağlanabilir
  • JDBC Failover ile Bağlanacak
  • Formların Çalışma Zamanı Bağlantılandırması Yapılamaz , Kullanıcılar Bağlantı Koparabilir

Soru ve Görüşleriniz için(For More information Please Contact with me):
mustafaaksoybm@gmail.com
Saygılarımla












Hiç yorum yok:

Yorum Gönder