Kaynak : TurkOracle 

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.turkceoracle.com/2010/04/oracle-enterprise-linuxa-oracle-10g.html

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:

1
# 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.

1
2
3
$ 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:

1
$ 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:

1
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 scripti çalıştırıyoruz:

1
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:

1
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.
Etiketler : Etiket Yok
Kategoriler : Oracle
Yorumlar : 0 Yorum Yorum Yaz

Kaynak : TurkOracle

Oracle tüm yazılımlarını websitesinden indirebilmenize olanak tanır. Bu yazılımları ister eğitim, ister deneme amaçlı olarak, zaman sınırı olmadan kullanabilirsiniz. Yazılımları ticari amaçla kullanmadığınız sürece her hangi bir lisans ücreti ödemenize gerek yoktur. Şimdi beraberce Oracle 10g veritabanı yazılımını bir Linux sunucuya nasıl kurabileceğimizi göreceğiz.

Oracle 10g veritabanını (Oracle websitesine ücretsiz üye olduktan sonra) şu linkten indirebilirsiniz:

http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201linuxsoft.html

Öncelikle elinizde Oracle kurulumu için hazırladığınız, Linux işletim sistemi yüklü bir sunucu olduğunu varsayıyorum. Oracle Enterprise Linux'ı bir sisteme nasıl kuracağınızı "Oracle Enterprise Linux 5.1 Kurulumu" yazımda anlatmıştım. Şimdi bu sunucuya Oracle 10g veritabanını kuracağız.

İlk olarak sisteme "oracle" kullanıcısı olarak login olun. X Window Masaüstüne girdiğinizde, menüleri kullanarak bir terminal ekranı açın ve "su -" komutu ile root kullanıcısına geçin. root kullanıcısı olmamızın sebebi, sistemin root dizinine (/ dizini) oracle veritabanını kuracağımız dizini oluşturmak.

1
2
3
su -
# mkdir /u01
# chown oracle:oinstall /u01

u01 isimli dizini oluşturmak oracle'ın common practice'lerinden biridir. Oracle Flexible Architecture metodu, oracle ürünlerini bu şekilde isimlendirilmiş bir dizine kurmanızı tavsiye eder. İsterseniz siz başka bir isimde bir klasör (dizin) oluşturabilirsiniz.

Oracle 10g Installer, Redhat ile uyumlu olmasına rağmen Oracle Enterprise Linux dağıtımını uyumsuz bir Linux dağıtımı olarak görecektir. Installer'ın işletim sistemi kontrolünde hata vermemesi için, işletim sistemi adını değiştiriyoruz:

1
2
# echo redhat-4 > /etc/redhat-release
# exit

root kullanıcısı ile yapacaklarımız şimdilik bu kadar. exit ile root kullanıcısından çıkıp, oracle kullanıcısının bash ayar dosyasını (.bashrc) değiştirmeye başlıyoruz:

Grafik ekranda (X Window - GNOME) çalıştığımız halde ben genelde editor olarak gedit gibi araçlar yerine, vi editörünü kullanırım. Bence Linux ile uğraşacaksanız "vi" editörüne alışmanız gerekli. Bununla ilgili küçük bir klavuz hazırlayacağım, ileri ki zamanlarda blogumda bulabilirsiniz.

İstediğiniz bir editör ile .bashrc dosyasını açıp içine şunları ekleyiniz:

1
2
3
4
5
6
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
  
umask 022

Bu yaptığımız ayarların etkin olabilmesi için terminal penceresini kapatıp, yeni bir terminal açmamız gerekli. Bunu yaptıktan sonra download ettiğimiz oracle kurulum dosyasını unzip ile açıyoruz ve kurulum dosyalarının bulunduğu dizine geçiyoruz:

$ unzip
$ cd database

Bu ön hazırlıklardan sonra Java ile yazılmış olan Oracle Universal Installer'ı çalıştırıp, kurulumu gerçekleştirebiliriz:

$ ./runInstaller

Öncelikle karşımıza kurulumu nasıl yapacağımızı soran ekran geliyor:


Bu ekranda eğer basic installation'ı seçersek, neredeyse hiç bir ayar yapmadan"Next'lere tıklayarak kurulumu tamamlayabiliriz. Ben daha ayrıntılı ayarlar yapabileceğim advanced installation'ı seçip Next'e tıklıyorum.


Installer .bashrc'e girdiğimiz değerler sayesinde ORACLE_BASE bilgisini okuyup, bir inventory dizini seçecektir. Bu dizin, yüklediğimiz Oracle ürünleri ile ilgili bilgileri tutan dosyaları barındıracaktır. Varsayılan değerini kabul edip Next ile bir sonraki adıma geçiyoruz:


Oracle veritabanının hangi sürümünü (Enterprise veya Standard) kuracağımızı bu adımda seçiyoruz. İstersek "custom" seçeneği ile veritabanı birleşenlerini tek tek seçebiliriz.


Oracle veritabanı dosyalarının yükleneceği HOME dizinini seçiyoruz. Bu kısımda da her hangi bir şey yapmamız gerek olmayacak çünkü HOME dizinini .bashrc'de tanımladığımız ORACLE_HOME'dan alacak.


Bu adımda oracle universal installer (OUL), sistemin doğru olarak ayarlanmadığını (örneğin swap boyutu, kernel parametreleri vb.) kontrol ediyor. Ben bu kısımda bütün kontrollerin "Succeeded" olmasına dikkat ediyorum. Eğer OUL bu kontrollerde her hangi bir hata veya uyarı verirse, detayları "X requirements to be verified" yazısının altındaki textbox'da görebilirsiniz.



Şimdi kurulum sırasında veritabanı yaratılacak mı, yoksa bir ASM mi yaratılacak (ASM'ye ilerde değineceğim) yoksa sadece oracle yazılımı mı yüklecenecek onu şeçiyoruz. Eğer bu kısımda veritabanını yarat seçeneğini seçmezsek, ve sadece "software" kurulumu yaparsak, ilerde dbca (database configuration assistant) aracını kullanarak manuel olarak da veritabanı yaratabiliriz. Veritabanını yaratmasını istediğimizden, bu kısmı NEXT ile geçiyoruz.


Bu ekranda kuracağımız veritabanının tipini seçiyoruz. "Genel ihtiyaca" yönelik olanı, yani varsayılanı seçip Next'e basabiliriz. OLTP sistemler için "Transaction Processing", veri ambarı uygulamaları için "Data Warehouse" ve ileri düzey planlama gerektiren veriabanları için "Advanced" seçeneğini işaretleyebilirsiniz.


Veritabanına vereceğimiz ismi ve veri tabanında kullanmak istediğimiz dil ayarlarını buradan seçiyoruz. Ben veritabanına isim olarak orcl verdim, zaten .bashrc dosyasında da ORACLE_SID değeri olarak orcl yazmıştım. Eğer veritabanı ismini değişik verecekseniz, .bashrc'de de değişiklik yapmayı unutmayın. Karakter kodlaması olarak WEISO8859P9'u seçebilirsiniz. Blogum ve Oracle kurslarında kullanılan örnek schemalara sahip olmak istiyorsanız "create database with sample schemas" seçeneğinin işaretli olmasına dikkat edin.


Bu ekranı next ile geçiyoruz. İstersek burada veritabanının erişebileceği bir SMTP sunucusunun adresini girip, veritabanında oluşan hatalarda, veritabanının bize email atmasını sağlayabiliriz.


Bu ekranda veritabanını hangi dizine yükleyeceğimizi seçiyoruz. Eğer ASM teknolojisini kullanmak istersek file system yerine onu seçebiliriz. Raw Devices artık pek kullanılmadığı için onu göz ardı edebilirsiniz. Bu ekranı next ile geçiyoruz.


Şimdilik otomatik yedekleme ile ilgili bir ayar yapmayacağımızdan, bu ekranı Next ile geçiyoruz.



Veritabanımızdaki 4 önemli user için tek tek veya hepsine birden şifre tanımlaması yapıyoruz. Sisteminizin güvenliği açısından bunları ayrı şifreler vermenizi öneririm, ama ben bu veritabanını test için kurduğumdan hepsine ortak şifre verdim.



Özet ekranında yaptığımız tüm seçimlerin bize raporu gösteriliyor. Eğer seçimlerinizde hata yoksa, "install" düğmesine basıp, dosyaların kopyalanmasını başlatıyoruz:


Dosyalar kopyalanıp, veritabanı yazılımı çalışmaya hazır hale geldikten sonra, dbca aracı çalışıp veritabanını yaratıyor:



Bu işlem bittikten sonra, yaratılan veritabanında oluşturulmuş schemaların şifrelerini değiştirebileceğimiz ekran geliyor, bu ekranı OK düğmesine tıklayarak geçebilirsiniz.


OK düğmesine basınca Linux ve Unix sistemlerinde kurulumun önemli adımlarından bir karşımıza geliyor.


OUL, oracle kullanıcısı olarak çalıştırıldığından root yetkisine sahip değil ve bizim bir terminal açıp, root yetkisi ile ekranda yeri belirtilmiş olan orainstRoot.sh ve root.sh dosyalarını çalıştırmamız gerekiyor. Bu scriptleri çalıştırmdan ekrandaki OK tuşuna basmayınız!



Daha önce yaptığımız gibi bir terminal açıp, bu iki scripti çalıştırıyoruz. Script bizden "local bin" dizinini istediğinde <ENTER> 'a basıp varsayılan değeri kabul etmemiz yeterli. Bu işlemi tamamladıktan sonra terminal penceresini kapatıp, installerdaki OK tuşuna basıyoruz ve kurulum tamamlanıyor.




Veritabanın dbstart komutuyla açılabilmesi için, /etc/oratab dosyasında şu değişikliği yapıyoruz:

orcl:/u01/app/oracle/product/10.2.0/db_1:N

orcl:/u01/app/oracle/product/10.2.0/db_1:Y

Böylece instance başladığında Oracle, "orcl" veritabanını açacaktır. Veritabanını oracle kullanıcısı ile bağlanıp, dbstart ile çalıştırabilir ve dbstop ile kapatabilirsiniz. Bu iki komut sizden oracle'ı kurarken belirlediğiniz home dizinini isteyecektir. Biz .bashrc'ye bu bilgiyi girdiğimizden, bu iki komutu şu şekilde kullanabiliriz:

$ dbstart $ORACLE_HOME $ dbstop $ORACLE_HOME

Oracle 10g'nin Linux sürümünde bir bug var. Bu yüzden dbstart doğru çalışmıyor. Bunu düzeltmek için /u01/app/oracle/product/10.2.0/db_1/bin/dbstart dosyasını bir editör ile açıp,

ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle

satırını bulun. Bu satırı,

ORACLE_HOME_LISTNER=$1

olarak değiştirin. Bu işlem sonrası artık dbstart $ORACLE_HOME komutu hatasız çalışacaktır. Linux ve Solaris sistemlerde, sistem reboot edildikten sonra, Oracle veritabanı otomatik başlamaz. Veritabanını ya manuel olarak açmanız ya da bu işlemi otomatikleştiren bir script yazmanız gerecektir. Otomatik olarak başlatmak içi şuna benzer bir script kullanabilirsiniz:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# chkconfig: 345 99 10
# description: Oracle otomatik baslangic scripti.
#
# (C) 2008 Gokhan Atil - www.visiondanismanlik.com
#
  
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
ORACLE_USER=oracle
ORACLE_SID=orcl
  
export ORACLE_SID ORACLE_HOME
  
case "$1" in
start)
su $ORACLE_USER -c $ORACLE_HOME/bin/dbstart $ORACLE_HOME
#    su $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
;;
stop)
#    su $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su $ORACLE_USER -c $ORACLE_HOME/bin/dbshut $ORACLE_HOME
;;
*)
echo "Kullanim: /etc/init.d/dbora start|stop veya service dbora start|stop"
exit 1
;;
esac
  
exit 0

Bu scripti root kullanıcı olarak /etc/init.d/ içinde "dbora" adıyla yaratın. İsmin dbora olması zorunlu değil ama genelde bu isim verilir. Dosya modunu 755 yapın (çalıştırıabilir dosya olsun) ve sonra chkconfig --add dbora komutunu çalıştırarak sisteme servis olarak tanıtın.
Bu sayede sunucu açıldığında veritabanıda açılacaktır:
1
2
3
# cd /etc/init.d/
# chmod 755 dbora
# chkconfig --add dbora

Kurulum sırasında ve sonrasında yaşadığınız problemlerle ilgili sorularınızı bana sorabilirsiniz.
Etiketler : Etiket Yok
Kategoriler : Oracle
Yorumlar : 0 Yorum Yorum Yaz

DB’ deki trigger, procedure, function ‘lar içerisinde String Search yapan sql komutları aşağıdadır.

//tüm schema’larda arama yapar

SELECT * FROM dba_source WHERE instr(UPPER(text), UPPER(:srch_str)) > 0;

//çalışılan schema’da arama yapar.

SELECT * FROM user_source WHERE instr(UPPER(text), UPPER(:srch_str)) > 0;

DB’ deki tablolar arasında belli bir alan adının hangi tablolarda kullanıldığını gösterir.

select * from user_tab_columns where column_name=’alanadi’

Etiketler : Etiket Yok
Kategoriler : Oracle
Yorumlar : 0 Yorum Yorum Yaz

Window7 de Oracle 11g kurulumu tamamlandıktan sonra aşağıdaki hatayı alıyorsanız.!

Checking operating system requirements ...
Expected result: One of 5.0,5.1,5.2,6.0
Actual Result: 6.1
Check complete. The overall result of this check is: Failed <<<<
Problem: Oracle Database 11g is not certified on the current operating system.
Recommendation: Make sure you are installing the software on the correct platform.
================================================== ======

Şu işlemleri yaparsanız hatayı gidermiş olursunuz.

C:\Users\KULLANICIADINIZ\AppData\Local\Temp\OraIns tall2009-10-19_01-53-02PM\client
dizini altındaki refhost.xml dosyasını açın ve
<!--Microsoft Windows Vista-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.0"/>
</OPERATING_SYSTEM>
in altına;

<!--Microsoft Windows 7-->
<OPERATING_SYSTEM>
<VERSION VALUE="6.1"/>
</OPERATING_SYSTEM>

ekleyin. Gereksinimleri Retry dediğinizde hatanın Success e dönüştüğünü göreceksiniz.

Etiketler : Etiket Yok
Kategoriler : Oracle
Yorumlar : 0 Yorum Yorum Yaz
Arama
  Ara
Dil Seçin
Sayfalar
Son Yorumlar
Sayfalar
Blog Sayaç
Tag Bulutu