Merhaba arkadaşlar bu yazımda Linux üzerine ASM mimarisiyle Oracle 11gR2 kurulumunu anlatmaya çalışacağım.Bu yazıyı okudugunuza göre ASM hakkında az çok fikir sahibinizi oldugunuzu düşünüyorum ama adet yerini bulsun diye ASM hakkında kısa bir tanım yapacak olursak.

ASM(Automatic Storage Management) yani Oracle’ın Otomatik Depolama Yönetim sistemidir.ASM’in avantajları nedir neden bunu kullanmak lazım dersek de ;

  • Blok seviyesinde okuma yazma işlemi yapabilir
  • Veriyi fiziksel diskler üzerinde dagıtır
  • I/O’u mevcut disklere dağıtarak performansı arttırma
  • Yeni disk ekleme, mevcut alanı değiştirme gibi işlemleri kesilme süresi olmadan yapabiliyoruz.

İleriki yazılarımda ASM mimarisi ile ilgili daha ayrıntılı yazılar yazmaya çalışacagım ama şimdi Linux işletim sisteminde ASM mimarisi üzerine Oracle 11gR2 kuralım bunun için bize ne lazım sıralayacak olursak ;

  • Kurulu bir Linux işletim sistemi(Ben VMware üzerine Red hat enterprise linux 5.5 kurdum)
  • ASM mimarisi kullanacagımız için birden fazla diske ihtiyacımız var(Ben VMware’de 3 adet sanal disk oluşturdum)
  • Oracle 11gR2 veritabanı kuracagımız için Oracle  Grid Infrastructure yazılımına ihtiyacımız var.(Oracle Grid Infrastructure)
  • Haliyle bir de Oracle 11gR2 veritabanının olması lazım.(Oracle 11gR2)


Linux üzerine ASM mimarisiyle Oracle 11gR2 veritabanı kurulumunu anlaşılır olması açısından 4 adıma bölüp anlatmak daha dogru olur düşüncesi ile aşagıda ki adımları sırası ile yapacagız;

  • Linux işletim sisteminin Oracle veritabanı kurulumuna hazırlanması,
  • VMware’den disk eklemek ve ASM disklerin yapılandırılması,
  • Oracle  Grid Infrastructure yazılımının kurulması,
  • Oracle 11gR2 veritabanının kurulması

a-)Linux işletim sisteminin Oracle veritabanı kurulumuna hazırlanması

1.Host dosyasını aşagıdaki gibi düzeltiriz.
$ vi /etc/hosts

127.0.0.1       localhost.localdomain  localhost
192.168.1.125   test.localdomain       test

2.Kernel parametrelerini aşagıda ki gibi set ederiz.

NOT : Kernel parametrelerinin set edilmesi sırasında, yapmamız gereken birkaç ufak hesaplama olacak. Öncelikle bunlar kernel.shmmax ve kernel.shmall parametrelerinin hesaplanması.
kernel.shmmax değeri toplam bellek(ram) değerinin yarısının byte cinsinden yazımıdır. (Sunucumuzda 8GB RAM var ise, 8*1024*1024*1024/2 işlemini yaparak shmmax parametresini ayarlamamız gerekiyor.)-(Sunucumuzda ki toplam bellek miktarını ise grep MemTotal /proc/meminfo bu komutla ögrenebiliriz)
kernel.shmall parametresi için ise oracle’in kullanacağı değerin page size’a bölünmesiyle bulunur. (Sunucumuzda 8GB RAM var ise ve bunun 6GB sini Oracle kullanacaksa, 6*1024*1024*1024/4096 olacaktır.)-(Sunucumuzda ki page size’ı getconf PAGESIZE komutuyla ögrenebiliriz)
$ vi /etc/sysctl.conf

fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586

3.Degişikliklerin uygulanması için işletim sistemini yeniden başlatmalıyız ama yeniden başlatılmadan da aşağıda ki komut çalıştırılarak yeniden başlatılmaya gerek kalmadan degişiklikleri uygulayabiliriz.

/sbin/sysctl –p

4.Oracle veritabanının üzerinde çalışacağı işletim sistemi oracle kullanıcısı için limit değerleri aşağıdaki gibi set edilmelidir.
$ vi /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

5.Selinux’u aşagıda ki gibi disable yaparız.
$ vi /etc/selinux/config

SELINUX=disabled

6.Oracle’ın ihtiyaç duydugu rpm’leri yükleriz.Bunun için de Linux cd’mizi mount eder ve aşagıdaki scripti çalıştırırız.
cd /media/RHEL_5.5\ x86_64\ DVD/Server/

rpm -Uvh binutils-2*x86_64*
rpm -Uvh glibc-2*x86_64* nss-softokn-freebl-3*x86_64*
rpm -Uvh glibc-2*i686* nss-softokn-freebl-3*i686*
rpm -Uvh compat-libstdc++-33*x86_64*
rpm -Uvh glibc-common-2*x86_64*
rpm -Uvh glibc-devel-2*x86_64*
rpm -Uvh glibc-devel-2*i686*
rpm -Uvh glibc-headers-2*x86_64*
rpm -Uvh elfutils-libelf-0*x86_64*
rpm -Uvh elfutils-libelf-devel-0*x86_64*
rpm -Uvh gcc-4*x86_64*
rpm -Uvh gcc-c++-4*x86_64*
rpm -Uvh ksh-*x86_64*
rpm -Uvh libaio-0*x86_64*
rpm -Uvh libaio-devel-0*x86_64*
rpm -Uvh libaio-0*i686*
rpm -Uvh libaio-devel-0*i686*
rpm -Uvh libgcc-4*x86_64*
rpm -Uvh libgcc-4*i686*
rpm -Uvh libstdc++-4*x86_64*
rpm -Uvh libstdc++-4*i686*
rpm -Uvh libstdc++-devel-4*x86_64*
rpm -Uvh make-3.81*x86_64*
rpm -Uvh numactl-devel-2*x86_64*
rpm -Uvh sysstat-9*x86_64*
rpm -Uvh compat-libstdc++-33*i686*
rpm -Uvh compat-libcap*

7. Oracle veritabanının işletim sisteminde çalışacağı kullanıcı ve grupları aşagıda ki gibi oluştururuz ve parolalarımızı belirleriz.

groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin

useradd -g oinstall -G dba,oper,asmadmin oracle
passwd oracle

8. Oracle software in kurulacağı dizin oluşturur ve yetkileri veririz.

mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

9.Oracle kulanıcısının .bash_profile’ını düzeltiriz bunun için oracle kullanıcısından giriş yapılır ve aşagıda ki adımları uygularız.
$ vi /home/oracle/config

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=test.localdomain; export ORACLE_HOSTNAME
ORACLE_UNQNAME=ORCL; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=ORCL; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

b-)VMware’den disk eklemek ve ASM disklerin yapılandırılması

Senaryomuza göre 2 adet ASM sanal disk grubu oluşturacagız.Bunlar için de 3 adet sanal disk oluşturacagız ilk disk grubumuzda 2 adet sanal disk ve bu disk grubunda data file’larımız,ikinci disk grubumuzda ise 1 adet sanal disk olacak ve içinde de  flashback için gerekli dosyaları tutacak.

1.VMware’den sanal disk eklemek için VMware’de kurulu olan Linux işletim sistemimizi kapatıyoruz ve işletim sistemize tıklayarak oradan da “Edit virtual machine settings => Add”  seçerek disk eklemeye başlayabiliriz.

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

2. “Hard Disk” seçenegini seçerek devam ediyoruz.

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

3. “Create a new virtual disk” seçenegini seçerek devam ediyoruz.

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

4. “SCSI(Recommended)”,”Independent”,”Persistent” seçeneklerini seçerek devam ederiz.

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

5. Sanal diskimizin boyutunu belirleriz ve “Allocate all disk space now” seçerek devam ederiz.

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

6. Sanal diskimizin ismini belirleriz benim ilk sanal diskimin ismi asm1.vmdk.Finish diyerek ilk sanal diskimizi oluşturmuş olduk.

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

7. Aynı adımları ikinci ve üçüncü sanal diskimizi oluşturmak için tekrardan yaparız ama bu defa ikinci sanal diskimizin ismi asm2.vmdk,üçüncü sanal diskimizin ismi reco1.vmdk.

8. fdisk komutu ile disklerimiz üzerinde partition(bölüm) oluşturmamız gerekiyor. /dev/sdb1 bölümü oluşturmak için aşagıda ki komutu çalıştırır ve resimde kare içine alınmış soruların cevaplarını resimdeki gibi cevaplarız.(root kullanıcısı ile)


fdisk  /dev/sdb

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

9.  /dev/sdc1 bölümü oluşturmak için aşagıda ki komutu çalıştırır ve resimde kare içine alınmış soruların cevaplarını resimdeki gibi cevaplarız.(root kullanıcısı ile)


fdisk  /dev/sdc

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

10.  /dev/sdd1 bölümü oluşturmak için aşagıda ki komutu çalıştırır ve resimde kare içine alınmış soruların cevaplarını resimdeki gibi cevaplarız.(root kullanıcısı ile)


fdisk  /dev/sdd

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

11. Oracle kullanıcımızın oluşturulan sdb1, sdc1 ve sdd1 partitionlarındaki ASM disk gruplarında veritabanı dosyalarını kurabilmesi ve yazabilmesi  için sahiplik ve erişim izinleri vermemiz gerekmektedir. Bu amaçla /etc/rc.local dosyasını açarak içine aşağıdaki satırları ekliyoruz.(root kullanıcısı ile)

vi /etc/rc.local

chown oracle:oinstall /dev/sdb1
chown oracle:oinstall /dev/sdc1
chown oracle:oinstall /dev/sdd1
chmod 600 /dev/sdb1
chmod 600 /dev/sdc1
chmod 600 /dev/sdd1

12. Makinemizi yeniden başlatıyoruz.

13. ASM için gerekli rpm paketlerini yüklemeliyiz.(root kullanıcısı ile)

rpm -Uvh oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm
rpm -Uvh oracleasmlib-2.0.4-1.el5.x86_64.rpm
rpm -Uvh oracleasm-support-2.1.7-1.el5.x86_64.rpm

14. Veritabanı kurulumuzu işletim sisteminde ki oracle kullanıcısıyla yapacagımız için ASM kütüphane sürücüsünde(library driver) bu kullanıcıya ve bu kullanıcının birincil oinstall grubuna aşagıda ki gibi sahiplik(owner) verelim ve bu sırada bize birtakım sorular soracak bunlarıda aşagıdaki resimdekiler gibi cevaplayalım.  (root kullanıcısı ile)

service oracleasm configure

Linux Uzerine ASM mimarisi ile Oracle 11g R2 Kurulumu

15. Aşagıdaki komutları çalıştırarak da disklerimize etiket veririz. (root kullanıcısı ile)

service oracleasm createdisk DATA1 /dev/sdb1
service oracleasm createdisk DATA2 /dev/sdc1
service oracleasm createdisk RECO1 /dev/sdd1

16. Makinemizi yeniden başlatıyoruz.

c-)Oracle  Grid Infrastructure yazılımının kurulması

1. Indirdigimiz grid infrastructure yazılımını aşagıda ki kod ile zip’ten çıkartırız.(oracle kullanıcısı ile)


unzip linux.x64_11gR2_grid.zip

2. Zip’ten çıkan grid adlı dosyaya cd grid/ komutu ile girer ve aşagıda ki kod ile kurulumu başlatırız.(oracle kullanıcısı ile)


./runInstaller

3. Karşımıza gelen pencereden “Install and Configure Grid Infrastructure for a Standalone Server” seçenegini seçerek devam edelim.

Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

4. Kurulum dilini “English” olarak seçip ilerleriz.

Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

5. Disk grubumuz için bir isim veriyoruz DATA1 ve DATA2 ‘yi seçip ilerliyoruz.RECO’yu seçmememizin sebebi onu ilerde flashback için kullanacak olmamamız.

Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

6. ASM için SYS ve ASMSNMP şifresini belirleyelim.

Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

7. Şifre için uyarı gelirse Yes diyerek devam edelim.

Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

8. Gruplarımızı aşagıdaki gibi seçip ilerleyelim.

Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

9. Gruplarımız için uyarı gelirse Yes diyerek devam edelim.

Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

10. Yazılımımızın Oracle Base ve Oracle Home dizinini seçelim ve ilerleyelim.

Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

11. Yazılımımızın Inventory dizinini seçelim ve ilerleyelim.

Oracle Enterprese Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

12.Sistem son kez kontrol edilecek ve hatalı bir durum varsa gösterecektir bu aşamada beklemeliyiz.

Oracle Enterprese Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

13. Herşeyin yolunda oldugunu gösteriyor Finısh diyerek devam ediyor ve kuruluma başlıyor.

Oracle Enterprese Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

14. Kuruluma devam ediyor.

Red Hat Enterprese Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

15. Kurulumda son aşamaya geldiginde çalıştırmamız için 2 tane script veriyor bu scriptleri root kullanıcısıyla çalıştırırız.

Red Hat Enterprese Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

16. Kurulum başarı ile bitmiştir Close diyerek pencereyi kapatıyoruz.

Red Hat Enterprese Linux uzerine Oracle Grid Infrastructure 11g R2 Kurulumu

Yazının devamı Linux üzerine ASM mimarisiyle Oracle 11gR2 Kurulumu-2

Yararlı olması Dilegiyle…
Yazar : Mustafa Bektaş Tepe
Java && Oracle

Kaynaklar ; 
www.uguroracle.blogspot.com
www.taliphakanozturk.wordpress.com
www.cagataycebi.com
http://www.datadisk.co.uk/html_docs/oracle/asm.htm
http://docs.oracle.com/cd/B28359_01/server.111/b31107/asmcon.htm

Loading