Thx Pak Ujang,

Saya sudah kordinasi dengan rekan developer scripting PHP untuk ngecek 
ulang tentang kepastian untuk command release resource/connection di 
PHP-nya.

Kebetulan saya dapat artikelnya di:
http://www.weberdev.com/ViewArticle/Simple-Connection-to-Oracle-with-PHP
Sepertinya ada modul untuk 'free resources and close connection' di 
akhir setiap koneksi.
*// free resources and close connection
**OCIFreeStatement($sql_result);
OCILogoff($connection**); *

Mereka janji untuk recheck ulang.

Sementara saya masih menggunakan solusi crontab/scheduled task di Win2K 
-nya, per 30 menit pake ORAKILL, tapi tetap aja sepertinya tidak 
sepenuhnya me-released resource, karena setiap hari pasti Oracle pasti 
kehabisan resource dengan pesan error : cannot make dedicated server 
process untuk session baru.

Salam,
Andy Siregar  - Balikpapan


Ujang Jaenudin wrote:
>
> pak andy,
>
> Pertanyaannya:
> Apakah ada trik lain (yang terlewatkan) di sisi scripting PHP, sehingga
> session yang terbentuk ketika akses oracle tidak otomatis di-release??
>
> >> musti di check di koding apakah setelah melakukan transaksi/process
> apakah ada coding untuk close connection??
> >> kalau memang di mid tier nya di pasang connection pooling, mustinya ini
> bukan issue, karena session tsb akan dipakai oleh yg lain.
>
> Apakah ada setting lain di init.ora / listener.ora / sqlnet.ora yang
> bisa memaksa untuk meng-kill secara otomati session yang sudah tidak
> aktif/sniped?
>
> >> salah satu work around yg mungkin dengan membuat jobs dari OS (misalnya
> running setiap 5 menit sekali) untuk query session yg SNIPED dan kill 
> dengan
> orakil (windows) atau kiil -9 (linux or unix)
>
> shell script utk linux/unix:
>
> #!/bin/sh
>
> tmpfile=/tmp/tmp.$$
> sqlplus system/manager <<EOF
> spool $tmpfile
> select p.spid from v\$process p,v\$session s
> where s.paddr=p.addr
> and s.status='SNIPED';
> spool off
> EOF
> for x in `cat $tmpfile | grep "^[0123456789]"`
> do
> kill -9 $x
> done
>
> rm $tmpfile
>
> regards
> ujang
> @jakarta
>
> On 8/22/07, Andy Siregar <[EMAIL PROTECTED] 
> <mailto:andys%40telkom.co.id>> wrote:
> >
> > Dear All,
> >
> > Salam kenal buat semua.
> >
> > Mohon bantuan untuk kasus kill koneksi di Oracle.
> > (Oracle 8.1.7 OS : Win2k Server)
> >
> > Oracle Server ini diakses oleh beberapa aplikasi Web (PHP) via SQLNet
> > (Oracle Client).
> > Session yang terbentuk oleh aplikasi sampai ratusan, padahal user tidak
> > sampai 30, dan kebanyakan statusnya INACTIVE.
> >
> > Dari beberapa referensi telah dilakukan action berikut:
> > - Dicreate profile baru dengan melakukan setting di parameter
> > *idle_time* & *connect_time* untuk user database dari aplikasi yang
> > bersangkutan.
> > Hasilnya, banyak session yang berstatus SNIPED setelah idle_time
> > terlampaui. Hanya saja, sessionnya masih tetap muncul di V$Session.
> >
> > - Menambahkan parameter SQLNET.EXPIRE_TIME=10 di sqlnet.ora.
> > Tapi sepertinya tidak berefek apa-apa.
> >
> > - Melakukan kill tread proses lewat command OS: ORAKIL sid spid
> > (terhadap spid session yang berstatus SNIPED)
> > select p.spid
> > from v$process p, v$session s
> > where p.addr=s.paddr and s.status='SNIPED';
> >
> > Hasilnya session berhasil di-kill dan tidak muncul lagi dalam V$SESSION.
> >
> > Pertanyaannya:
> > Apakah ada trik lain (yang terlewatkan) di sisi scripting PHP, sehingga
> > session yang terbentuk ketika akses oracle tidak otomatis di-release??
> > Apakah ada setting lain di init.ora / listener.ora / sqlnet.ora yang
> > bisa memaksa untuk meng-kill secara otomati session yang sudah tidak
> > aktif/sniped?
> >
> > Salam,
> > Balikpapan
> >
> > [Non-text portions of this message have been removed]
> >
> >
> >
>
>


[Non-text portions of this message have been removed]

Kirim email ke