Ubuntu 12.04 – Oracle 11gR2 Express Edition Kurulumu

    Ubuntu , Oracle belgelerine göre desteklenen işletim sistemleri listesinde değil. Fakat Oracle 11gR2 XE , sorunsuz bir şekilde Ubuntu 12.04 de kurulabilir ve çalıştırılabilir. Tamamen ücretsizdir, projelerinizde telif hakkı problemi olmadan kullanabilirsiniz.
Malesef Oracle Database Windows işletim sisteminde olduğu gibi next next seçilerek Ubuntu işletim sistemine kurulamıyor. Bu yüzden Ubuntu da kurulumu başlatmadan önce bazı adımları gerçekleştirmemiz gerekiyor.

Kurulum adımlarına geçmeden önce şunu hatırlatmak isterim ; Oracle 11gR2 Express Edition sadece 64-bit mimarili işletim sistemlerine kurulmaktadır. Anlatacağım adımlar Ubuntu 12.04 – 64 bit işletim sistemi için geçerlidir.

    Sisteminizde daha önce Oracle Xe kurduysanız veya kurulum sırasında bir hata ile karşılaştıysanız ilk adımı uygulayarak Oracle Xe sisteminizden kaldırın.

    İlk Adım: Oracle Xe Silmek

    Uç birimi açın ve aşağıdaki kodu yazıp Enter tuşuna basın ardından şifrenizi girip root kullancı olun.

    sudo -s

    Şimdi Oracle Xe çalışmasını durdurup, önceden girilen ayarları kaldırdıkdan sonra sistemden tamamen silicez. Bunun için aşağıdaki komutları sırası ile Uç Birime yazın ve Enter tuşuna basın.

    /etc/init.d/oracle-xe stop
    ps -ef | grep oracle | grep -v grep | awk '{print $2}' | xargs kill
    dpkg --purge oracle-xe
    rm -r /u01
    rm /etc/default/oracle-xe
    update-rc.d -f oracle-xe remove

    1.Adım : Oracle 11gR2 Express Edition İndirelim

    Oracle 11gR2 Express Editionı http://www.oracle.com/technetwork/products/express-edition/downloads /index.html?ssSourceSiteId=ocomen adresinden indirelim. İndirmek için “Accept License Agreement” kutuçuğunu işratleyin, ardından “Oracle Database Express Edition 11g Release 2 for Linux x64” tıklayarak (Sizden üyelik istenecekdir. Eğer üyeliğiniz yoksa, çıkan ekranda kaydola tıklayarak formu doldurup ücretsiz üyelik alın) yükleme işlemini başlatın.

    2.Adım : Bağlantı Terminali

    Yükleme işlemi devam ederken, sistemimizi kuruluma hazır hale getirelim. Öncelikle uç birime ( terminal ) giriş yapmalıyız. Bunun için Şeçke Anasayfasına(Dash Home) Uç Birim yazıp Enter tuşuna basın. Ubuntuya varsayılan olarak giriş yapıldığında , güvenli bir çekirdek girişi ile gelmiyor. Bunu yüklemek için Uç Birime aşağıdaki kodu yazın (yada kopyalayıp yapıştırın) ve Enter tuşuna basın.

sudo apt-get install openssh-server

    3.Adım : Gerekli Yazılımların Yüklenmesi

    Oracle Database 11gR2 Express Edition sorunsuz bir şekilde çalışmak için bazı yazılımlara ihtiyaç duyar. Bu yazılımların bazıları Ubuntu da hali hazırda yüklü bir şekilde gelmiyor. Bu yazılımları yüklemek için Uç Birime aşağıdaki kodu kopyalayın ve Enter tuşuna basın.

sudo apt-get install alien libaio1 unixodbc

4.Adım : Özel Bir chkconfig Scripti Oluşturalım   

   /sbin/chkconfig bağlı Red Hat tabanlı Oracle Xe kurulumunu, Ubuntu desteklememektedir. Bu yüzden özel bir chkconfig scripti oluşturucaz. Bunun için aşağıdaki kodu Uç Birime yazın ve Enter tuşuna basın.

sudo gedit /sbin/chkconfig

Gedit ile açılan script içerisine aşağıdaki kodu kopyalayıp yapıştırın ve kaydedip çıkın.

  #!/bin/bash
  # Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
  file=/etc/init.d/oracle-xe
  if [[ ! `tail -n1 $file | grep INIT` ]]; then
  echo >> $file
  echo '### BEGIN INIT INFO' >> $file
  echo '# Provides: OracleXE' >> $file
  echo '# Required-Start: $remote_fs $syslog' >> $file
  echo '# Required-Stop: $remote_fs $syslog' >> $file
  echo '# Default-Start: 2 3 4 5' >> $file
  echo '# Default-Stop: 0 1 6' >> $file
  echo '# Short-Description: Oracle 11g Express Edition' >> $file
  echo '### END INIT INFO' >> $file
  fi
  update-rc.d oracle-xe defaults 80 01

Aşağıdaki kodu Uç Birime girip,  Enter tuşuna basarak scripti çalıştırılabilir hale getirelim.

 chmod 755 /sbin/chkconfig

5.Adım : Kernel Parametrelerini Değiştirelim

    Oracle Database 11gR2 Express Edition sorunsuz bir şekilde çalışması için Aşağıdaki kernel parametrelerini değiştirmemiz gerekli. Bunun için Uç Birime temel kullanıcı girişi yapmamız gerekir. Aşağıdaki kodu Uç Birime yazıp Enter tuşuna basın.

sudo su -
sudo gedit /etc/sysctl.d/60-oracle.conf

Aşağıdaki kodun hepsini seçin ve kopyalayıp gedit ile açılan dosyanın en sonuna yapıştırın. Kaydedip  çıkın.

# Oracle 11g XE kernel parameters  
fs.file-max=6815744  
net.ipv4.ip_local_port_range=9000 65000  
kernel.sem=250 32000 100 128 
kernel.shmmax=536870912

    Yukarıda girdiğimiz yeni kernel parametrelerin geçerli olup olmadığını görmek için Uç Birime aşağıdaki kodu yazın ve Enter tuşuna basın.

sudo cat /etc/sysctl.d/60-oracle.conf

   Şimdi kernel parametrelerini yükleyelim. Aşağıdaki kodu Uç Birim ekranına yapıştırın ve Enter tuşuna basın.

service procps start

   Parametrelerin doğru girildiğini test edelim. Aşağıdaki kodu Uç Birime yapıştırın ve Enter tuşuna basın. 

(Ekranda görmeniz gereken değer: fs.file-max = 6815744)

       sudo sysctl -q fs.file-max 

6.Adım: Uyumluluk Ayarları

    Öncelikle sisteminiz mevcut RAM’nizin  %50 kadar bir swape space bulunması gerekli. Örneğin 4gb RAM için  2048 MB lık bir swap space alanına ihtiyacınız var. Bu alanın mevcut olup olmadığını öğrenmek  için aşağıdaki kodu Uç Birime girin ve Enter tuşuna basın.

free -m

    Oracle Xe bazı dosyalara ihtiyaç duyar bu dosyaların sistemde bulunduğunu göstermek için aşağıdaki komutları sırası ile Uç Birime girin ve Enter tuşuna basın.

ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys
touch /var/lock/subsys/listener

7.Adım : ORA-00845 : MEMORY_TARGET Hatasını Engellemek

    Birçok arkadaşın bu sorunla karşılaştığını gördüm. Bu sorunu engellemek için aşağıdaki komutları Uç Birime sırası ile girin ve Enter tuşuna basın.

sudo rm -rf /dev/shm
sudo mkdir /dev/shm
sudo mount -t tmpfs shmfs -o size=2048m /dev/shm

Oracle_Home/product/11.2.0/xe/config/scripts/oracle-xe start

         Yukarıdaki Oracle_Home adresi sizin Oracle -xe yi kurdugunuz dosya konumu olmalıdır. (Örneğin benim bilgisayarımda “/u01/app/oracle/product/11.2.0/xe/config/scripts/oracle-xe start”). Bu 4 komutun bilgisayar her yeniden başlatıldığında otomatik yüklenmesi için /etc/rc.local kayıt edilmesi gerekir. Bunun için  aşağıdaki komutu Uç Birime girin ve Enter tuşuna basıp rc.local ‘i gedit ile açın. İçerisine yukarıdaki 4 komutu kopyalayın( “exit 0”  komutundan önceki satırlara kayıt edin) ve rc.local içerisine kayıt edip çıkın.

sudo gedit /etc/rc.local

    8.Adım : Oracle 11gR2 Express Edition  kurulumu

    Nihayet Oracle 11gR2 Express Edition kurulumuna geçebiliriz. İlk önce Uç Birimi açın. Ardından Oracle 11gR2 Express Editionı indirdiğiniz dizine geçiş yapmanız gerekli. Eğer nasıl yapacağınızı bilmiyorsanız bu adrese https://eyupalemdar.wordpress.com/2012/05/09/uc-birimde-terminal-dizin-yolunu-gostermek-resimli-anlatim/ tıklayın. İndirdiğiniz paketin “/Home/Bilgisayarim/Downloads” adresinde olduğunu varsayarak anlatıma devam edeceğim.

   Paketi Downloads klasörüne açmamız gerekli. Uç Birime aşağıdaki kodu yazıp Enter tuşuna basın.

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

    Paket açıldığında içerisinde Disk1 klasörü çıkar. Bu klasör içerisinde “rpm” uzantılı bir paket vardır. Debian Linux tabanlı Ubuntu paket yöneticisi Red Hat paket yöneticisi ile uyumlu değildir. Oracle Express Edition kurulumu için bu (rpm uzantılı) paketin dönüştürülmesi gerekir. Bunun için Uç Birimin Disk1 klasörüne erişmesi gerekir. Yukarıda ki yönetimle Disk1 klasörüne erişin ( cd /Home/Bilgisayarim/Downloads/Disk1 ). Ardından aşağıdaki kodu Uç Birime yazın ve Enter tuşuna basın.

sudo alien --to-deb --scripts oracle-xe-11.2.0-1.0.x86_64.rpm

Oracle Database kurulumunu başlatmak için aşağıdaki kodu Uç Birime kopyalayın ve Enter tuşuna basın.

sudo dpkg --install ./oracle-xe_11.2.0-2_amd64.deb

  Oracle Database kurulum işleminin ardından ilk ayarları yapmak için aşağıdaki kodu Uç Birime yazıp Enter tuşuna basın. Sizden geçerli bir port numarası girmenizi isteyecek varsayılan olarak 8080 dir fakat 8080 portu Tomcat vb. programlar tarafından kullanılıyor olabilir. Bu yüzden ilk port girişine 8090 gibi bir değer atayabilirsiniz. Ardından listener için bir port girişi istenecektir varsayılan olarak 1521 dir. Bu portada 1525 gibi bir değer girebilirsiniz. Ardından sizden şifre atamanız istenecek, geçerli bir şifre atayın. Son olarak yes no sorusu çıktığında “y” tuşuna basıp Enter tuşuna basın.

sudo /etc/init.d/oracle-xe configure

Kurulum başarılı bir şekilde sonuçlanmış ise aşağıdaki mesajı göreceksiniz.

Starting Oracle Net Listener...
Done Configuring database...
Done Starting Oracle Database 11g Express Edition instance...
Done Installation completed successfully.

Tebrikler  Oracle 11gR2 Express Edition kurulumunu tamamladınız.

Kurulumun ardından oluşturulan Oracle kullanıcısına password atamak için aşağıdaki kodu Uç Birime girin ve Enter tuşuna basın ardından şifresinizi girerek işlemi tamamlayın.

sudo passwd oracle 

    9.Adım : Kurulum Sonrası Ayarlar

    Öncelikle çevresel değişkenleri ayarlamamız gerekli. Yeni bir Uç Birim açın ve aşağıdaki komutu girip Enter tuşuna basın.

sudo gedit .bashrc

    Açılan .bashrc içerisine aşağıdaki kodları girin ve kayıt edip çıkın.

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe 
export ORACLE_SID=XE  
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh` 
 export ORACLE_BASE=/u01/app/oracle  
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH 
 export PATH=$ORACLE_HOME/bin:$PATH 
mkdir /var/lock/subsys 2>/dev/nulltouch /var/lock/subsys/listener

   Ardından girdiğimiz değişikliklerin etkinleştirilmesi için .profile çalıştırmalıyız.Bunun için Uç Birime aşağıdaki kodu girin ve Enter tuşuna basın.

. ./.profile 

Şimdi aşağıdaki kodu girerek Oracle-Xe çalıştırın.

sudo service oracle-xe start

   Oluşturduğunuz Oracle hesabı Sqlplus ve diğer araçları kullanmak için,  bazı özel ortam değişkenlerine ihtiyaç duyar. Aşağıda yapıcağımız değişiklikler Oracle hesabınıza her bağlandığınızda otomatik olarak yapılacakdır. Temel kullanıcı moduna geçmek için aşağıdaki kodu Uç Birime girin ve Enter tuşuna basın.

    sudo su -

Aşağıdaki kodu Uç Birime girin ve Enter tuşuna basın.

cp /etc/skel/.bash_logout ./ 
cp /etc/skel/.bashrc ./ 
cp /etc/skel/.profile ./ 
echo "" >>./.profile
echo '. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh' >>./.profile

    Varsayılan olarak, Oracle Database XE grafik kullanıcı arayüzü yalnızca yerel sunucuda mevcut, şağıdaki kod uzaktan erişimi sağlayacaktır. Aşağıdaki kodu Uç Birime girin ve Enter tuşuna basın.

sqlplus / as sysdba
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit

    10.Adım : Hatalar ve Çözümleri

10.a) http://localhost:8080/apex/ Giriş Hatası

   Bu hatayı çözmek için Uç Birime aşağıdaki kodu yazın ve Enter tuşuna basın.

   sudo /etc/init.d/oracle-xe force-reload

Ayrıca sistem her yeniden başladığında bu komutu girmeye ihtiyaç duymamak için 7. adımı tekrarlayın.

12 thoughts on “Ubuntu 12.04 – Oracle 11gR2 Express Edition Kurulumu

  1. Merhaba,

    Anlatımınız çok güzel. Beğendiğimi itiraf etmeliyim. Bire bir söylediklerinizi uyguladım. Kurulum başarı ile tamamlanmış durumda. Ancak Login ekranından içeriye henüz giriş yapamadım.🙂 Sanırım bilgi eksikliğimden kaynaklı.

    Teşekkürler.

  2. karabinaa@cyber:/media/karabinaa/ARMAGAN/Disk1$ sudo alien –to-deb –scripts oracle-xe-11.2.0-1.0.x86_64.rpm
    komutu ile rpm paketini deb paketine çevirmeye çalıştığımda aşağıdaki şekilde hata alıyorum…

    chown: changing ownership of `oracle-xe-11.2.0//etc/init.d/oracle-xe’: Operation not permitted
    failed chowning /etc/init.d/oracle-xe to 0:0: Illegal seek at /usr/share/perl5/Alien/Package/Rpm.pm line 282, line 1.

    Sorunun kaynağı ve çözümü hakkında yardımcı olur musunuz ?

    • Sadece “root” kullanıcı bu komutu koşturabilir ve dosyaya erişim hakkı tanıyabilir. “sudo -i” komutu ile root olduktan sonra “sudo alien –to-deb –scripts oracle-xe-11.2.0-1.0.x86_64.rpm” komutunu tekrar dene.

    • I had the same error message. The RPM file was on FAT32 FS – moving the Disk1 directory to ext3 or another linux friendly FS solves the problem for me.

  3. Öncelikle yazınız için cok Teşekkürler Gercekten güzel bir kaynak.
    sudo alien –to-deb –scripts oracle-xe-11.2.0-1.0.x86_64.rpm
    kodunu yazdıgımda
    mkdir: cannot create directory ‘oracle-xe-11.2.0’: File exists
    unable to mkdir oracle-xe-11.2.0: at /usr/share/perl5/Alien/Package.pm line 257.
    hatası alıyorum bu hataneden alıyorum ve nasl cözebilirim yardımcı olabilirmisiniz
    Teşekkürler

    • oracle-xe-11.2.0-1.0.x86_64.rpm dosyası oracle-xe-11.2.0 adlı klasöre açılıp daha sonra ubuntu paketine dönüştürülüyor. Aynı isimle bir klasör zaten varsa bu hatayı verebilir. Bu durumda önce o klasörü silip ardından işlemi tekrar etmek gerek. Terminalde Oracle dosyasını açtığın klasöre gel ve aşağıdaki kodu yaz.
      – “sudo rm -r oracle-xe-11.2.0”
      ardından tekrar “sudo alien –to-deb –scripts oracle-xe-11.2.0-1.0.x86_64.rpm” komutunu uygula

  4. oracle sqlplus / as sysdba baglandigimda kullanici adi soruyor kullanici adi atatik mi sadece sifre girmistik … sacma bi sorumu soruyorum acaba

    • kullanıcı adı olara “system” yazıp atadığın parolayı girerek ordan bir workspace ve kullanıcı oluşturuyorsun.

  5. Merhaba 8. Adıma kadar yapılanları uyguladım.(Linux Mint)

    dpkg –install ./oracle-xe_11.2.0-2_amd64.deb

    Önceden seçili olmayan oracle-xe paketi seçiliyor.
    (Veritabanı okunuyor… mevcut 165053 dosya veya klasör yüklü.)
    Açılmaya hazırlanan ./oracle-xe_11.2.0-2_amd64.deb …
    oracle-xe (11.2.0-2) paketi açılıyor …
    oracle-xe (11.2.0-2) ayarlanıyor…
    ureadahead (0.100.0-16) için tetikleyiciler işleniyor …
    gnome-menus (3.10.1-0ubuntu2) için tetikleyiciler işleniyor …
    desktop-file-utils (0.22-1ubuntu1) için tetikleyiciler işleniyor …
    mime-support (3.54ubuntu1.1) için tetikleyiciler işleniyor …
    libc-bin (2.19-0ubuntu6.6) için tetikleyiciler işleniyor …

    Benden port ve şifre istemedi ve

    sudo: /etc/init.d/oracle-xe: command not found

    Sorun tam olarak nedir ne yapmalıyım teşekkürler.🙂

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s