Merhaba arkadaşlar bu yazımda Oracle Database 11g Release 2 Enterprise Edition veritabanını Linux işletim sistemi üzerine kurulmasını anlatacagım.

Öncelikle http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html sitesinden Oracle Database 11g Release 2 veritabanımızı indiriyoruz.
Oracle’ı linux işletim sistemine kurmak için öncelikle bir takım parametreler set etmemiz gerekiyor.
NOT : Dökümandaki degişiklikleri ben vi editörüyle hazırladım başkalarıda kullanılabilir.

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

127.0.0.1 localhost.localdomain localhost
192.168.0.191 mustafa.localdomain mustafa

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.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=262144
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=mustafa.localdomain; export ORACLE_HOSTNAME
ORACLE_UNQNAME=DB11G; 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=DB11G; 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

10.Daha sonra ise Oracle kullanıcısı ile Oracle’ın sitesinden indirdigimiz dosyaları rar’dan çıkartıız ve bize database isimli bir klasör verir.Bu aşamadan sonra terminal ile database klasörünün içine girip orada ki runInstaller ile setup işlemine başlarız.

$ ./runInstaller

11.Email adresimizi ve update’ler ile Oracle’dan destek almak için oracle support şifremizi isteyen ekran karşılayacaktır.Ben burayı boş geçiyorum.İstersek bu alanı doldurabiliriz ya da sonradan da bu alanları ekleyebiliriz.
Oracle 11g Linux üzerine kurulması

12.Boş bıraktığımız alanları teyit etmek için uyarı penceresi gelecektir. YES diyerek devam edelim.

Oracle 11g Linux üzerine kurulması

13.Burada 3 seçenek karşımıza çıkıyor ve ne yapmak istedigimizi soruyor.
• Create and configure a database : RDBMS yazılımını ve veritabanını kurar.
• Install database software only : Sadece RDBMS yazılımını kurar veritabanını istersek sonradan oluşturabiliriz.
• Uprgade an existing database : Varolan veritabanımızı günceller.
Ben 1.seçenegi seçerek RDBMS yazılımını ve veritabanını kurmasını istiyorum.

Oracle 11g Linux üzerine kurulması

14.Kurulumun nasıl yapılacagını soruyor arada ki fark ise Server Class ile daha ayrıntılı konfigurasyon yapabiliyoruz.

Oracle 11g Linux üzerine kurulması

15.Kurulumun tek sunucuda mı yoksa Rac ortamında mı kurulacagını seçmemizi istiyor.Single Instance seçerek devam ediyoruz.

Oracle 11g Linux üzerine kurulması

16.Kurulumun nasıl yapılacagını soruyor arada ki fark ise Advanced Install ile daha ayrıntılı konfigurasyon yapabiliyoruz.

Oracle 11g Linux üzerine kurulması

17.Ürün dilinizi seçecegimiz ekran karşımıza gelecektir English seçerek devam ediyoruz.

Oracle 11g Linux üzerine kurulması

18.Enterprese Edition’u seçerek Next ile devam edebiliriz.Select options ile ek özellikler de ekleyebiliriz.

Oracle 11g Linux üzerine kurulması

19.Oracle base ve Oracle home klasörlerimizi seçiyoruz.

Oracle 11g Linux üzerine kurulması

20.Oracle inventory bilgilerinin tutulduğu klasör dizinini seçiyoruz. Grup olarak daha önceki makalede oluşturduğumuz oinstall grubu seçiyoruz.

Oracle 11g Linux üzerine kurulması

21.Veritabanının ne amaçla kullanılacağını seçiyoruz.OLTP veritabanı için ilk seçenegi,veri ambarı için ikinci seçenegi seçmeliyiz.

Oracle 11g on Linux install

22.Veritabanı adını ve SID i giriyoruz. DB adı ve SID aynı isim olabileceği gibi farklıda olabilir.

Oracle 11g on Linux install

23.Automatic Memory management ı kullanıp kullanmayacagımızı belirtiyoruz.

Oracle 11g on Linux install

24.Veritabanı yönetimi için Enterprese Manager’ün yükleyip yüklememek istedigimizi belirtiriz.

Oracle 11g on Linux install

25.File system mi ASM’mi mi kulanacagımızı soruyor.File System’i seçerek devam ediyoruz.

Oracle 11g on Linux install

26.Automated backup kullanıp kullanmayacağımızı belirtiyoruz.Bu işlemi kurulumdan sonrada yapabiliriz ya da şimdi enable yapıp FRA dizinini belirtiriz.

Oracle 11g release 2 on Linux install

27.SYS,SYSTEM,SYSMAN ve DBSNMP kullanıcıları için şifre belirliyoruz,tek tek her birine ayrı şifrede verebiliriz hepsine tek sefer de bir şifrede verebiliriz.

Oracle 11g release 2 on Linux install

28.Şifremiz kurallara uymuyorsa teyit etmemizi ister Yes diyerek geçebiliriz.

Oracle 11g release 2 on Linux install

29.OSDBA ve OSOPER için daha önce oluşturduğumuz gruplarımızı seçiyoruz aynıda olabilir farklıda olabilir.

Oracle 11g release 2 on Linux install

30.Parametreleri kontrol etmesini bekleriz ve hata yoksa devam ederiz.

Oracle 11g release 2 on Linux install

31.Kurulum öncesi parametreleri kontrol ediyor.Hata varsa hataları düzeltip tekrardan denemeliyiz hata yoksada Finish diyerek devam edebiliriz.

Oracle 11g release 2 Linux'e kurulması

32.Kurulumun bitmesini bekleriz.

Oracle 11g release 2 Linux'e kurulması

33.Kurulum tamamlandığında aşağıdaki gibi veritabanını oluşturan DBCA (Database Configuration Assistant) otomatik başlayacaktır.

Oracle 11g release 2 Linux'e kurulması

34.Kurulum tamamlandığında aşağıdaki gibi bir uyarı penceresi gelecektir. “Root” kullanıcısı ile iki script sırasıyla çalıştırılmalıdır. Scriptler çalıştırılmadan bu pencereye OK denilmemelidir.Birinci script ile yetkiler düzenlenir,ikinci script ile ortam degişkenlikleri set edilir.
$/u01/app/oraInventory/orainstRoot.sh
$/u01/app/oracle/product/11.2.0/db_1/root.sh

Oracle 11g release 2 Linux'e kurulması

35.Scriptleri çalıştırdıktan ve yukarıdaki çıktıları elde ettikden sonra uyarı penceresine OK diyebiliriz. Son olarak aşağıdaki ekran gelecektir. Close ile çıkabiliriz.

Oracle 11g release 2 Linux'e kurulması

36.Oracle 11gR2 veritabanımız kurulmuştur.Terminale girilerek aşagıda ki kod yazılarak da veritabanına baglanabiliriz.
Sqlplus / as sysdba;

Yazar : Mustafa Bektaş Tepe
Java && Oracle

Loading