Oracle Application Express (APEX), neredeyse hiç kod yazmadan veritabanı merkezli web uygulamaları geliştirebileceğiniz bir uygulama. Özellikle yurt dışında, ofis içi uygulama geliştirmek için kullanılan APEX, Oracle 10g üzerine nasıl kurulur onu inceleyeceğiz.
APEX’i Oracle 10g’ye kurmak için bir web/uygualama sunucusuna ihtiyacımız var. Bunun için Application Server 10g kurabiliriz, ama ben bunun yerine Oracle 10g Companion CD ile birlikte gelen HTMLDB yazılımını kuracağım. HTMLDB, APEX’in önceki adıdır. Ben kurulumu Linux’a yapacağım ama hemen hemen aynı adımlarla aynı kurulumu Windows üzerinde de gerçekleştirebilirsiniz.
Linux ve Oracle kurulumu için şu yazıma bakabilirsiniz:
http://www.gokhanatil.com/linuxa-oracle-10g-veritabani-kurulumu/
Oracle 10g Companion CD’yi bu adresten indirebilirsiniz:
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201linuxsoft.html
Kuruluma başlamadan önce, sistemde yapmamız gereken önemli bir işlem var. Companion CD ile gelen HTMLDB, web sunucusu olarak Apache 1.3 kullanıyor ve Apache’de libdb.so.2 kütüphanesine ihtiyaç duyuyor. Ne yazık ki bu kütüphane Oracle Enterprise Edition, RHEL ve CENTOS’da yok. Aslında güncel her hangi bir Linux dağıtımında bu kütüphanenin bulunması çok zor bunun sebebi bu kütüphanin artık 4.x’li versiyonlarının kullanılması. Neyseki Oracle (ve diğer Redhat türevleri) libdb.so.2 kütüphanesi ile uyumlu libgdb.so kütüphanesini ile geliyor. Bizim yapmamız gereken tek şey sisteme libdb.so.2 yerine elimizdeki libgdbm’yi kullanmasını söylemek.Bu yüzden bir symbolik link oluşturuyoruz:
# ln -s /usr/lib/libgdbm.so.2.0.0 /usr/lib/libdb.so.2
Bu işlemden sonra Oracle 10gR2 Companion CD’sini yerleştirip kuruluma başlıyoruz.
Next ile bir sonraki adıma geçip, Oracle HTML DB’yi kuracağımızı söylüyor ve tekrar NEXT ile bir sonraki adıma geçiyoruz:
Hem HTML DB hem de HTTP Server’ın kurulmasını istediğimizden ilk seçeneği işaretleyip NEXT ile bir sonraki ekrana geçiyoruz:
Önceden veritabanı kurduğumuz dizine web sunucuyu kuramıyoruz, bu yüzden HTTP Server için faklı bir kurulum dizini seçiyoruz. Bundan sonraki ekranda kurulum için sistemi kontrol ediliyor, sorun yoksa NEXT ile veritabanı ayarlarını verdiğimiz bir sonraki adıma geçiyoruz:
Burada HTML DB’nin kullanacağı veritabanı bilgisini giriyoruz. Oracle Kurulum Aracı, zaten sistemde var olan veritabanını bulup gerekli bilgileri otomatik olarak dolduracaktır. Bizim yapmamız gereken veritabanının SYS şifresini ve HTML DB’de yönetici kullanıcı olan “admin” kullanıcısının şifresini girmek. NEXT’e bastığımızda sistem veritabanına bağlanmaya çalışacak, bağlantı kurabilirse bir sonraki adıma geçecektir. Bundan sonraki adımları her hangi bir ayar yapmadan NEXT düğmesine basarak geçiyoruz.
Kopyalama sonrasında “root” olarak çalıştırmamız geken script’e sıra geliyor. Bir terminal ekranı açıp root kullanıcısına geçiyor ve verilen scripti çalıştırıyoruz. Scriptin sorduklarını ENTER tuşuna basarak geçiyoruz, script sonlanınca kurulum ekranındaki NEXT’e basıp kurulumu bitiriyoruz:
Bu ekranda gördüğümüz adres HTTP Server’ımızın adresi. Bu adresi direk olarak yazdığımızda HTTP Server’ın karşılama ekranı geliyor. HTML DB’ye erişmek için adresin sonuna /pls/htmldb ekliyoruz:
http://hostname:port/pls/htmldb
Bu adres kullanıcıların sisteme giriş adresidir.
Artık elimize bir uygulama sunucusu ve HTMLDB 1.x sürümü var, bunu en son sürüm olan 3.1.2′ye yükselmeliyiz. APEX’in son sürümünü şu adresten indirebilirsiniz:
http://www.oracle.com/technology/products/database/application_express/download.html
Ben APEX’i /tmp dizinine indirip açıyorum ama siz istediğiniz yere indirip açabilirsiniz. Bu dizin, kurulum sonrasında silenebilir.
$ cd /tmp
$ unzip apex_3.1.2.zip
$ cd apex
APEX kurulumu için bir PL/SQL scripti çalıştıracağız bu yüzden SQLPLUS ile veritabanına bağlanıyorum:
$ sqlplus / as sysdba
APEX kurulumu için çalıştıracağımız script bizden 4 parametre bekliyor, 1. parametre APEX’in hangi tablespace’de metadata’sını tutacağını belirliyor, 2.’si APEX içinde oluşturulan workspace’lerin tutulacağı tablespace, 3.’sü temporary olarak kullanılacak tablespace, 4.ü parametre ise imajların yerleştirileceği klasör. Deneyim kazandıkça bu parametreler üzerinde değişiklik yapabilirsiniz, ben şimdilik en basit şekilde kuracağım:
SQL> @apexins SYSAUX SYSAUX TEMP /i/
Bu komut ile APEX kurulumunu daha doğrusu güncellemesini başlatmış oluyoruz. Bu işlem biraz uzun sürüyor. Kurduğumuz sistemin hızına göre bekleme süremiz değişecek ama bir kahve molası verebiliriz. Kurulum bitince SQLPLUS’da sonlanacak.
Kurulum sonrasında imaj ve jscript dosyalarında sorun olduğunu göreceksiniz, bunu düzeltmek için apxldimg scriptini çalıştırıyoruz:
SQL> @apxldimg.sql /tmp
APEX kurulumu HTMLDB’yi ilk yüklerken verdiğimiz admin şifresini değiştireceğinden yeniden şifre belirlemek için şu scripti çalıştırıyoruz:
SQL> @apxchpwd
Bu işlemlerden sonra sıra APEX’e admin olarak bağlanmaya geliyor:
http://hostname:port/pls/htmldb/htmldb_admin
Oracle’ın ücretsiz olarak sunduğ APEX ile ne kadar kolay uygulama geliştirildiğini görünce şaşıracaksınız. Oracle World conferasında APEX’in yüksek iş yükü olan ortamlarda bile çok başarıyla ve sorunsuz çalıştığına ilişkin sunumlar vardı. Bu yüzden Oracle ile ilgilenen herkesin APEX’e bir göz atmasını tavsiye ederim.










12 Şubat 2009
Merhaba Gökhan Bey; APEX’e yeni başladım. OS Centos ve db olarakta Oracle 10g R1 kullanıyorum. Verdiğiniz bilgiler 10g R2 ile alakalı peki ben 10g R1 uzerine kurmak istiyorum. Bunu nasıl gerçekleştirebilirim. Teşekkür ederim.
12 Şubat 2009
Selam Yıldırım, bu anlattıklarımı Oracle 10g R1 içinde uygulayabilirsin. Oracle 10g R1′in de companion CDsi var, öncelikle onu indir ve HTMLDB’yi kur ve yazıda anlattığım şekilde APEX’in son sürümünü kur. Eğer hata oluşursa bana sorabilirsin.
13 Şubat 2009
10g r2′yi kurdum artık. Sorularım olursa sizi rahatsız edeceğim. Tşk ederim
13 Şubat 2009
Ayrıca 10gR2 için gereken rpmlerden bazılarını Centos 4.1 cd sinde bulamadım. Internetde de araştırdım bir sonuç cıkmadı.
Bulamadığım RPM’ler:
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
15 Şubat 2009
Oracle 10g R2, Redhat 4 ile uyumlu olduğundan CentOS 4.1′e kurarken sorun yaşamazsınız. Kurulum sırasında installer bu paketler gerekli diyerek uyarı verdi mi? CD’lerde kütüphanelerin daha düşük versiyonlarını olabilir, örneğin compat-gcc-c++-7.3 yerine 7.1 gibi. Bu sürümlere ihtiyaç duyduğunu installer’ın verdiği mesajdan mı gördünüz yoksa okuduğunuz bir dökümandan mı? Bu paketlerin CentOS kurulumu sırasında “development libraries” seçeneği seçilirse gelmesi gerekiyor. Oracle, CD’ler içinde çıkmayan her hangi bir pakete ihtiyaç duymuyor.
22 Nisan 2010
Selamlar Gökhan Bey,
Ubuntu’da Oracle üzerine Apex 3.2.1 kurulumu yaparken karşılaştığım bir hatanın çözümünü ararken sitenize yolum düştü. Çok güzel bir site, ileride kesinlikle faydalanacağımı düşünüyorum. Belki tam olarak bu konunun altına yazmak doğru olmaz ama bir önceki arkadaşın problemine benzer bir problemle karşı karşıyayım.
Apex’i kurduktan sonra sanırım apxldimg.sql dosyasını çalıştırırken bir problem çıkıyor zira Go To Database Home Page dediğimde Apex ana sayfasına erişiyorum ama login butonuna tıklayamıyorum, Enter tuşu da çalışmıyor, yani o sayfada kalıyorum.
İnternette araştırdığım çözümlerde genel itibariyle bu dosya üzerinde işlemler yapılmış ancak ben bir türlü işin içinden çıkamadım.
@apxldimg.sql /home/kubilay/Masaüstü (apex’in bulunduğu dizin) komutunu girdiğimde aldığım hata şu şekilde:
PL/SQL procedure successfully completed.
Directory created.
declare
*
ERROR at line 1:
ORA-22288: file or LOB operation FILEOPEN failed
No such file or directory
ORA-06512: at “SYS.DBMS_LOB”, line 523
ORA-06512: at “SYS.XMLTYPE”, line 287
ORA-06512: at line 15
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
Commit complete.
timing for: Load Images
Elapsed: 00:00:00.26
Directory dropped.
Problem tam olarak nerede çıkaramadım ve artık sabır taşım çatladı çatlayacak :) Ubuntu’da yeni olduğum için kaldır-kur yapmak da istemiyorum zira güvenemiyorum, Windows gibi temiz iş çıkaramayacağımdan korkuyorum.
Bu problem hakkında herhangi bir çözüm öneriniz var mı acaba?
Teşekkürler..
23 Nisan 2010
Kubilay,
Türkçe karakterler problem yaratıyor olabilir veya oracle dizine erişemiyordur. APEX dosyalarını açtığınız dizini /tmp/apex gibi bir dizine taşıyın ve sonra
SQL> @apxldimg.sql /tmp
şeklinde scripti çalıştırın.
4 Mayıs 2010
Tekrar selam,
Ubuntu’ya format atarak doğru bir kaynaktan Oracle 10g ve Apex 3.2.1 kurulumu gerçekleştirdim. Herşey güzelce çalışıyor.
Şu anda iki sorunum var. İlki şu:
-Bilgisayarı her yeniden başlattığımda Oracle açılmıyor. Bu sorunu halletmek için konsola /etc/init.d/oracle-xe force-reload komutunu giriyorum. Bu benim için büyük bir sorun değil çünkü Oracle’ın başlangıçta açılmasını zaten istemiyorum. Ancak bu sorunu nasıl halledebilirim onu da bilmiyorum.
-Diğer sorun daha ciddi. Veritabanına bağlanmak için Oracle SQL Developer aracını kullanıyorum ve APEX kontrol panelinde oluşturduğum yeni kullanıcıları maalesef SQL Developer’da kullanamıyorum. Sadece system ve hr kullanıcıları ile veritabanına erişebiliyorum, oluşturduğum diğer kullanıcılarda “invalid username/password” hatası alıyorum. Acaba sadece Apex’i kurmadan önce bu kullanıcılar tanımlı olduğu için mi böyle oluyor? Bu sorunu nasıl çözebilirim?
Teşekkürler..
5 Mayıs 2010
@Kubilay,
Açılır açılmaz başlamasıyla ilgili olarak “/etc/init.d/oracle-xe enable” komutunu deneyin. Bu komut bir sonraki açılışta XE’nin otomatik başlamasını sağlar.
APEX kontrol panelinde oluşturduğunuz kullanıcılar veritabanı kullanıcıları değil. APEX projesini (workspace) oluştururken, ikinci aşama olan “identify schema” aşamasında size schema ismi, şifresi soruluyor. İşte o schema bilgileri sizin veritabanına bağlanabileceğiniz kullanıcı adı ve şifredir. Proje içindeki kullanılan tüm nesneler veritabanında o schema/kullanıcı altında tutulur.
5 Mayıs 2010
Selam Gökhan Bey,
Söylediğiniz şekilde bağlanabilmeyi başardım. Admin kullanıcı adıyla girip yeni schemalar vasıtasıyla artık bağlanabiliyorum, teşekkür ederim.
Öte yandan başka bir çözüm daha buldum. SYSTEM kullanıcısı ile Oracle SQL Developer’da veritabanına bağlandıktan sonra yeni bir kullanıcı oluşturuyorum ve GRANT connect TO user IDENTIFIED BY pass komutuyla yeni haklar veriyorum. Daha sonra bu kullanıcı ile de veritabanına bağlanabiliyorum.
Kolay gelsin.
14 Temmuz 2010
Gökhan Hocam Merhaba,
Ubuntu ya apex 4.0 kurmak istiyorum.
“” /tmp/apex$ sqlplus / as sysdba “” kodunu yazıyorum ve benden user-name ve password istiyor. Kendi username ve password umu kabul etmiyor.
“”ERROR: ORA-01031: insufficient privileges hatası”" veriyor
Yardımcı olabilir misiniz?
Teşekkürler.
14 Temmuz 2010
Batuhan, şu yazıya göz atabilir misin?
http://www.gokhanatil.com/2010/05/ubuntuya-oracle-xe-ve-apex-yuklemek/
Orada yazdığı üzere, “Ubuntu’ya login olduğunuz kullanıcınızı” DBA grubuna dahil etmeniz gerekiyor. Bunun için /etc/group dosyasında “dba:x:1001:” satırına kullanıcı adınızı ekleyin.
14 Temmuz 2010
… Checking prerequisites
select privilege foo from session_privs where privilege = ‘SYSDBA’
*
ERROR at line 1:
ORA-01034: ORACLE not available
Disconnected
Kusura bakmayın Gökhan bey rahatsız ediyorum ama
Hocam dediklerini yaptım ama Bu hatayı veriyor.
14 Temmuz 2010
Terminal açıp aşağıdaki komutları sırayla çalıştırın ve sonuçlarını bana söyleyin:
ps -ef | grep pmon
echo $ORACLE_HOME
echo $ORACLE_SID
14 Temmuz 2010
————————————————————————
batuhan@batuhan-desktop:/tmp/apex$ ps -ef | grep pmon
oracle 3743 1 0 16:40 ? 00:00:00 xe_pmon_XE
batuhan 5398 5331 0 17:12 pts/0 00:00:00 grep –color=auto pmon
batuhan@batuhan-desktop:/tmp/apex$ echo $ORACLE_HOME
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
batuhan@batuhan-desktop:/tmp/apex$ echo $ORACLE_SID
XE
batuhan@batuhan-desktop:/tmp/apex$
————————————————————————
hocam bide /etc/group dosyasında yanlışlıkla bazı değişikler yaptım ve düzeltemiyorum. o dosyayı nasıl düzeltebilirim ne yapmam gerekli?
15 Temmuz 2010
Veritabanı açık görünüyor, ORACLE_HOME’un doğru olarak ayarlandığına emin misiniz? Veritabanının web arayüzününe erişebiliyor musunuz? /etc/gorup dosyasını düzeltmenizle ilgili buradan çok size yardımcı olmam pek mümkün değil.
11 Ağustos 2010
Oracle 10g üzerine apex 3.1 yüklü. Admin sayfasına ulaşamıyorum. Yani http://localhost:7777/pls/apex adresini yazdıgım zaman admin sayfası gelmiyor. İlginizi acilen bekliyorum.
11 Ağustos 2010
Selin hanım,
Hangi işletim sistemini kullanıyorsunuz? Kurulumu yaparken hangi dökümandan yararlandınız? Oracle 10g’nin sürümü nedir? Kurulum sonrasında her hangi bir hata aldınız mı?
11 Ağustos 2010
Hayır 2 yıldır da çalışıyordu. Yaklaşık bir haftadır giremiyorum.
Apex Release Notes
Release 3.1.2
E10495-02
Oracle
10g Release 2 (10.2) for Microsoft Windows (32-Bit)
Daha dogrusu sayfa görüntülenemiyor hatası veriyor. @apxdvins komutlarını yeniden çalışırarak ya da apex i yeniden kurarak çözebilir miyim. Teşekkürler.
11 Ağustos 2010
Apex’i yeniden kurmak son çareniz olmalı. Siz sistemde her hangi bir değişiklik yapmadıysanız windows’un aldığı güncellemeler ile ilgili olabilir. Sanırım Oracle 10g Express edition kullanıyorsunuz, windows servislerine girip OracleXE’nin çalışıp çalışmadığını kontrol edebilir misiniz? Servisin ayakta olduğundan emin olmak için sqlplus ile veritabanına bağlanmayı deneyin.
11 Ağustos 2010
Peki apex si yeniden kurarsam ya da üzerine kurarsam yapmış oldugum uygulamaları kaybetme ihtimalim olur mu ? Oracle Enterprise Edition kullanıyorum.
11 Ağustos 2010
Apex kullanıcısını silmeden yeniden kurmayı denerseniz kurulumda hatalarla karşılaşabilirsiniz. Apex kullanıcısını yani apex uygulamasının datasını tutan schemayı silmeye kalkarsanız (Apex 3.1 için FLOWS_030100 olması lazım), yaptığınız uygulamalarda problem olabilir. Bunu daha önce denemediğim için bilmiyorum, ama windowscular gibi her sorunda kaldırıp yeniden kurmak yerine sorunu araştırmanızı tavsiye ederim. 10g kullandığınızda göre APEX’i kurmadan önce HTMLDB paketi ile birlikte Apacheyi kurmuş olmanız gerekiyor. Apache web servisini ve firewall ayarlarınızı kontrol ettiniz mi?