magnify
Home 3. Party Asm ile Oracle 11g Veritabani Kurulumu – Bolum 1
formats

Asm ile Oracle 11g Veritabani Kurulumu – Bolum 1

Tarih 20 Ocak 2009 yazar içinde 3. Party

 

Oracle 11g, Oracle 10g generasyonundan itibaren “kur ve unut” felsefesinin en son durak noktasıdır. Memory yönetiminin otomatikleştirilmesi, yeni bir takım “advisor” ların eklenmesi ve hayran bırakacak şekilde sürdürülebilirliğin arttırılması ve çökme riskinin neredeyse ortadan kaldırılması ile veritabanı teknolojisinde yeni bir süreçtir.

Oracle mimarisinde “database” ve “instance” kavramları farklılık göstermektedir. Diğer veritabanı ürünlerine gore Oracle tarafında bu iki kavram üzerinden hareket edilmektedir.

Database

Database, ilgili biligileri toplayan ve sürdüren bir database sunucusu üzerinde yer alan fiziksel disk üzerindeki  bir veya birden fazla dosya içindeki data topluluğudur. Database, çeşitli mantıksal ve fiziksel yapılardan oluşur. Tablolar, ilişkili datalardan yeralan satır ve kolonlardan meydana gelir. Genelinde, database datalara yetkisiz erişimi engeleyen güvenlik seviyelerini sağlar. Oracle 11g, güvenlik noktasında  pek çok mekanizma ile veritabanı yöneticilerinin ve yazılımcıların işlerini kolaylaştırır(oturum izleme, transaction izleme, objelerin izlenmesi, tablespace şifreleme metodu ile tablo kolonlarının şifrelenmesi, Oracle Wallet servisi v.b).

Dosya tarafında database 2 kategoriye ayrılır. database dosyaları ve database dışı dosyalar… Database dosyaları data ve metadata ile ilgili bilgileri içerir, database dışı dosyalar ise veritanabının çalışması için gerekli olan başlangıç parametreleri, kayıt günlükleri, alert dosyaları ve control dosyaları gibi sistem dosyaları ile ilgili bilgileri içerir.

Instance

Bir fiziksel sunucunun ana parçaları CPU(lar), disk alanı ve memory(RAM)’dir. Oracle database, fiziksel disk üzerinde saklanır, ancak bir Oracle instance memory içinde saklanır. SGA(system Global Area), içersinde veri barındıran bir grup paylaşımlı bellek yapısı(shared memory structure) ve Oracle veritabanı “instance”’ı hakkında kontrol bilgileri taşıyan bellek kısmıdır.Aynı “instance” ‘a bağlanan birden fazla kullanıcı SGA’da bulunan veriyi paylaşır. SGA ve Oracle işlemleri(processes) bir Oracle “instance”’ını oluşturur.Bu instance başlatıldığı anda SGA bellek alanı tutulur ve instance kapatılınca SGA alanı işletim sistemi tarafından bırakılır.Her bir instance’ın kendi SGA’sı vardır.SGA’da hem okuma hem de yazma işlemleri vardır.

image001

 

ASM-Automatic Storage Management

Otomatik Depolama Yönetimi (Automatic Storage Management-ASM), veritabanı tarafından kullanılan veri dosyalarını ve işletim sistemi seviyesi diğer dosyaların düzenini, ikiden fazla sayıdaki fiziksel disklere dağıtarak otomatikleştirmedir. ASM ortamına, yeni fiziksel diskler ilave edildiğinde veritabanı dosyaları, bu tanımlanan yeni “disk grubuna” optimum performans için yeniden dağıtılır. Bu multiplex özelliği veri kaybı olasılığını ortadan kaldırır ve yedeklerin farklı disklerde saklanması seçeneğine nazaran daha yüksek performans ve kolay yönetim sağlar.

Biz örneğimizde, ASM mimarisini kullanacağız.

ORACLE ENTERPRISE LINUX 5.0 ÜZERİNDE ORACLE 11g ENTERPRISE EDT. VE ASM KURULUMU

Örnekte yer alan Oracle 11g veritabanı için Oracle Enterprise Linux 5.0 işletim sistemi kullanılmış ve kurulum Wmware ESX Server 1.0.5 platformunda yapılmıştır.

Oracle 11g kurulumu için minumu gerekli olan OEL 5.0 gereksinimleri aşağıda yer almaktadır.

Fiziksel RAM : 1024 MB

Kernel : 2.6.18 (uname  -r komutu ile kernel verisyonu görülebilir)

Disk alanı: /tmp için 200 MB, / için 3,6 GB boş disk alanı

ASM için ilave 2 fiziksel disk gereklidir(tercihen RAID-1 yapılandırlımış)

Web browser olarak Mozilla 1.7 veya Firefox 1.5

Alttaki Linux rpm paketleri ayrıca yüklenmeli( OEL 5.0 kurulum CD leri içinde yer almaktadır)

binutils-2.17.50.0.6-2.el5

compat-libstdc++-33-3.2.3-61

elfutils-libelf-0.125-3.el5

elfutils-libelf-devel-0.125

gcc-4.1.1-52

gcc-c++-4.1.1-52

glibc-2.5-12

glibc-common-2.5-12

glibc-devel-2.5-12

glibc-headers-2.5-12

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.1-52

libstdc++-4.1.1

libstdc++-devel-4.1.1-52.e15

make-3.81-1.1

sysstat-7.0.0

unixODBC-2.2.11 (32 bit)

unixODBC-devel-2.2.11 (32 bit)

 

Oracle 11g kurulumu  öncesi LINUX üzerinde yapılacak işlemler;

Kurulum öncesinde, OEL 5.0 işletim sistemine “root” kullanıcısı olarak oturum açarak, adım-adım aşağıda yer alan bir takım ayarların yapılması gerekmektedir.

/etc/hosts dosyası altında ip ve host eşleştirilmesi yapılmalıdır(eğer isim çözümleme için DNS kullanılıyorsa, bu seçenek opsiyoneldir)

127.0.0.1     localhost.oradata.net    localhost

192.168.2.10      linux1.oradata.net         linux1

              2.     Aşağıdakileri /etc/sysctl.conf dosyasına ekleyin ve ekledikten sonra /sbin/sysctl  -p komutunu çalıştırarak kernel parametrelerini değiştirin.

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=4194304

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=262144

 

               3.     /etc/pam.d/login dosyasına aşağıdaki değerleri ekleyin.

session    required     /lib/security/pam_limits.so

session    required     pam_limits.so

 

               4.   Aşağıdaki parametreleri /etc/security/limits.conf dosyasına ekleyin

oracle               soft    nproc   2047

oracle               hard    nproc   16384

oracle               soft    nofile  1024

oracle               hard    nofile  65536

 

               5.   Yeni kullanıcı ve bu kullanıcı için gerekli grupları oluşturun ve yeni bir şifre girin.

#  groupadd oinstall

#  groupadd dba

#  groupadd oper

#  groupadd asmadmin

#  useradd -u 500 -g oinstall -G dba,oper,asmadmin oracle

#  passwd oracle

              

                6.  Oracle kurulumunun yapılacağı dizinleri ve klasörleri oluşturun ve ilgili kullanıcı-gruba sahiplik verin.

#  mkdir -p /u01/app/oracle/product/11.1.0/db_1

#  chown -R oracle:oinstall /u01 

 

                7.  Oracle kullanıcısı olarak oturum açın ve aşağıdakileri /home/oracle/.bash_profile dosyası içine ekleyin.

 

ORACLE_HOSTNAME=linux1.oradata.net; export ORACLE_HOSTNAME

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1; export ORACLE_HOME

ORACLE_SID=ORCL; export ORACLE_SID

 

if  [ $USER = “oracle” ]; then

  if [ $SHELL = “/bin/ksh” ]; then

    ulimit -p 16384

    ulimit -n 65536

  else

    ulimit -u 16384 -n 65536

  fi

umask 022

fi

 

ASM için fiziksel disklerin Vmware ESX Server üzerinde yapılandırılması

 

Senaryomuzda kullanmak üzere 3 adet fiziksel diski Vmware platformunda ekleyeceğiz.  DATA ve RECO1 olmak üzere 2 adet ASM disk grubu kullanacağız. Bunlar aşağıdaki disklere işaret edecek;

DATA1 ->  /dev/sdb1

DATA2 ->  /dev/sdc1

RECO1 -> /dev/sdd1

 

Flashback database olarak kullanacağımız disk alanımız RECO1 olacak ve mesela, herhangi bir tablodan silinen ve commit edilen kayıtları “as of timestamp” komutu ile ilgili zaman skalasından geri getirme işlemi (flashback query) gibi olağanüstü durumlarda kullanılacak bilgileri içerir. Böylece yedekten erişilemeyecek verilerin kaybıda engellenmiş olur(1 saat öncesi yanlışıkla silinen kayıtların geri çağrılması gibi durumlar v.b)

 

DATA disk grubunda ise veritabanı dosyaları yer alacaktır ve her iki disk birbirleri ile senkronize olarak verileri paylaşmaktadır.

 

Örnekteki her 2 disk grubunada, disk alanı yetersiz olduğu durumlarda ilave diskler ilave edilebildiği gibi, sorunlu olan disklerde kolayca disk grubundan çıkarılabilmektedir.

 

Vmware makinemizde OEM 5.0 işletim sistemini root kullanıcı olarak shutdown -h now komutu ile kapattıktan sonra Wmware Server sistemine 3 adet sanal disk ekleyeceğiz.

Edit Virtual Machine Settings > Add > Hard Disk seçeneklerini tıklıyoruz.

Create a new hard disk seçeneğini seçerek NEXT düğmesine tıklıyoruz.

SCSI seçeneğini değiştirmeden NEXT düğmesine tıklıyoruz.

Disk kapasitesi olarak 4GB giriyorum ve Allocate All Disk Space seçeneğini seçip NEXT düğmesine tıklıyorum.

 

image002

 

asm1.vmdk adını verdikten sonra aynı pencerede ADVANCED sekmesinden Virtual Device Node olarak SCSI 1:2 ve mode olarak Independent – Persistent seçeneğini seçip FINISH düğmesine basıp ASM disk grubunda kullanmak üzere ilk diskimizi oluşturuyorum.

image003

Sırasıyla ikinci ve üçüncü disklerimizi oluşturmak için 2-6 arasındaki maddeleri teker teker uygulayarak, disk isimlerini sırasıyla asm2.vmdk ve reco1.vmdk olarak veriyorum. 

 

Fiziksel diskleri /devsdb1, /dev/sdc1 ve /dev/sdd1 olarak oluşturmak için makimemizi çalıştırarak root kullanıcısı ile oturum açıyoruz ve açacağımız terminal penceresinde aşağıdaki kırmızı renkte yazılı komutları giriyoruz.

 

# fdisk  /dev/sdb

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-522, default 1): <ENTER’a basınız>

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-522, default 522): <ENTER’a basınız>

Using default value 391

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

 

Sırasıyla /dev/sdc1 ve /dev/sdb1 disk partitionlarını oluşturmak için üstteki adımları takip ediyoruz. (fdisk <disk>, n, p , 1 , ENTER tuşuna bas, ENTER tuşuna bas, w)

Oracle kullanıcımızın oluşturulan sdb1, sdc1 ve sdd1 partitionlarındaki ASM disk gruplarında veritabanı dosyalarını kurabilmesi 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 ve makinemizi reboot ediyoruz.

 

                      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

Reboot ederek tekrar açılan makinemizide root kullanıcısı ile oturum açarak ASM disk gruplarını oluşturacağız. Bu amaçla sırasıyla aşağıdaki kırmızı renkli komutları terminal penceresinde çalıştıyoruz.

 

# service oracleasm configure

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 []: oinstall
Start Oracle ASM library driver on boot (y/n) No: y
Fix permissions of Oracle ASM disks on boot (y/n) Yes: y
Writing Oracle ASM library driver configuration: [ OK ]
Loading module “oracleasm”: [ OK ]
Mounting ASMlib driver filesystem: [ OK ]
Scanning system for ASM disks: [ OK ]

 

        Oracle adlı kullanıcı ve bu kullanıcının asıl üyesi olduğu oinstall grubu Oracle veritabanı kurulumda kullanılacağından, ASM sürücü kütüphanesinde bu kullanıcı ve grubunaa sahiplik atadık. Her reboot esnasında ASM sürücüsünün otomatik çalıştılması, konfigürasyon dosyasının yazılması-yüklenmesi ve fix izinlerin atanmasını EVET seçeneği ile kabul ettikten sonra şimdi ASM disklerini aşağıdaki kırmızı renkli komutları çalıştırarak MÜHÜRLEYECEĞİZ ve ardından sistemimiz reboot edeceğiz.

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

                  # service oracleasm scandisks
                  # service oracleasm listdisks

Bir sonraki makalede ASM disk grupları üzerinde Oracle 11g veritabanı kurulumunu anlatacağız.

Uğur İNAL

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
Asm ile Oracle 11g Veritabani Kurulumu – Bolum 1 için yorumlar kapalı  comments 
© Hakan Uzuner
credit