Paket yüklemeleri
1) Ubuntunun depolarında OLMAYAN kurulum paketini buradan indiriyoruz.
2) dpkg -i oracle-xe-client_10.2.0.1-1.0_i386.deb ile indirdiğimiz paketi kaynak listesine ekliyoruz.
3) sudo apt-get update ile paketleri güncellemiş oluyoruz (yeni eklediğimiz paket için zorunlu olarak yapmamız gerekiyor)
4) sudo aptitude search oracle komutunu çalıştırdığımızda dönecek olan listede oracle-xe-client olacak.
5) sudo apt-get install oracle-xe-client komutu ile programı kurabiliriz artık.
~/.profile dosyasının içerisine aşağıdaki satırları ekleyelim
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export SQLPATH=$ORACLE_HOME/sqlplus
export PATH=$ORACLE_HOME/bin:$PATH
Bağlantı ayarlarının yapılması
/etc/tnsnames.ora dosyasını oluşturup içine tns ayarlarını girelim.
Örn.:
10GTEST =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.91.171)
(PORT = 1521)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 10GTEST)
)
)
şimdi bilgisayarı kapatıp açalım.
SQL*Plus arabiriminin konsoldan çalıştırılması
sqlplus 10GTEST
artık konsoldan veritabanı işlemleri yapabiliriz.
Bazı düzenlemeler
1)
SQL*Plus komut satırında oldukça KULLANIŞSIZ bir arabirim. Bunu kullanışlı hale getirmek için rlwrap gibi bir programa ihtiyacımız var. rlwrap komut satır için kod tamamlama, history tutma, yön tuşları ile komutlar arasında geçiş işlemleri gibi işimize yarayacak pekçok şeyi sunuyor.
hemen sudo apt-get rlwrap ile yüklüyoruz.
rlwrap sqlplus
şeklinde çağırıyoruz ve konsoldaki tuş kullanım rahatlığına kavuşuyoruz.
Ayrıca rlwrap ın sözlük desteği de bulunuyor. Sözlük desteği ile, daha önceden girdiğiniz keywordleri 1-2 karakter yazpı TAB tuşuna bastığınızda elde edebiliyorsunuz.
Diyelim $~/sql.dic diye bir dosyanız olsun ve bunun içerisi de şu şekilde olsun
select
from
where
recyclebin
purge
sqlplus komut satırında iken re yazıp TAB tuşuna basarsanız komut satırı sözlükteki recyclebin keywordunu getirecektir. rlwrap a sözlük kullanımını bildirmek içinse
rlwrap -f sql.dic sqlplus
dememiz yetecektir. Ben daha kolay olsun diye sistemimi aşağıdaki şekilde ayarladım.
1) $ORACLE_HOME/bin dizinindeki sqlplus u sqlpuls_asil olarak değiştirdim
2) /usr/bin dizini altına sqlplus adında bir dosya oluşturdum (x+ özellikli), içeriği ise;
#!/bin/bash
case "$1" in
db1)
info="db1/passdb1@10GTEST"
;;
db2)
info="db2/passdb2@10GTEST"
;;
esac
if [[ -z "${info}" ]] ; then
echo $"Usage: sqlplus {db1|db2}"
else
cd $ORACLE_HOME/bin/
rlwrap -b "" -f $HOME/.sql.dic sqlplus_asil $info
cd -
fi
kullanımı ise;
sqlplus db1 //db1 e bağlanıyor
ya da
sqlplus db2 //db2 ye bağlanıyor
2)
SQL*Plus hazır halde çalıştırıldığında gerek prompt olsun gerek kolon genişliği gibi ayarlar olsun oldukça kullanışsız, bunları düzenlemek için normalde promptan set komutları girilebilir (bu her oturumda tekrar edilmeli). Her oturumda tekrar edecek olan set komutlarının önüne geçebilmek için bir yol var. $ORACLE_HOME/bin dizini altına login.sql adında bir dosya oluşturup içine de gerekli set komutlarını koyarsak, bu her oturum açıldığında işletilecektir.
Benim kullandığım login.sql in içeriği ise;
/* SQL Plus parameters required for each session */
set timing on;
set linesize 150;
set pagesize 500;
set space 1;
set termout off
set sqlprompt "&&_CONNECT_IDENTIFIER'.'&&_USER > "
set pages 500 lines 150
set null empty;
set time on;
set trim on;
set wrap off;
set sqlnumber on;
set describe line on;
set termout on
def _editor=vim
artık sqlplus ı çalıştırdığımızda konsolda
SQL> yerine 13:24:33 10GTEST.db1 > ibaresini göreceğiz.