Firebird de kullanıcı baglantısını kill yapmak?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Firebird de kullanıcı baglantısını kill yapmak?

Mesaj gönderen gkimirti »

Serverdaki Firebird vt ye 15 kadar user baglanmakta
belli sure baglantısı acık kalan yada baska nedenlerden sonlanmayan transactionlar kullanıcı programı kapatsa dahi yok olmuyor
ibexpertten baktıgımda o kullanıcı adıyla 3 tane oturum acılmıs olarak goruyorum
bu oturumları bir sekilde sonlandırabilirmiyim,
eger sonlandırılabilirsem (server ı kapat-ac yapmadan) nasıl?

belli bir sure sonra bu baglantı artıklarını firebird server kendisi siliyor ama o kadar bekleyene kadar, bir kayıt uzerinde duzenleme yapan bir transaction o kayıtı kilitlemis oluyor. Sonuc olarak ya restart etmek yada beklemek gerekiyor.
ÜŞENME,ERTELEME,VAZGEÇME
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

Merhaba,

gfix aracını -sweep parametresi ile kullanarak çöp transactionları temizleyebilirsiniz sanırım. Hatta housekeeping aralığını düşürerek FB'nin bu işlemi kendisi yapması için gereken süreyi kısaltabilirsiniz.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
su housekeeping i biraz açabilirmisin?
buna benzer bi sorun bendede var da.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

aslangeri yazdı:su housekeeping i biraz açabilirmisin?
gfix -sweep ile yaptığınız işlemi aslında veritabanı belirli aralıklarla yapabiliyor, housekeeping interval ise ne kadar süre ile bu temizliği yapacağını belirtiyor. Varsayılan değeri 20000 (saniye sanırım).

IBExpertte Database Properties seçeneğinde sweep interval olarak adlandırılmış.. o aralığı düşürmek bir çözüm olabilir.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Sweep zamanını çok düşürmeyin :! aksi halde uzun süre açık kalan transaction'lar kendiliğinden sonlanacaktır.
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

peki bu vt sweep e ihtiyaci oldugunu nasil anlarız.

boyle bir sql komutu varmi
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

kullanıcı baglı olmadıgı halde baglı gorunuyorsa kapatılamamıs (yada duzgun sonlandırılamamıs) bir transaction var demekttir
belli aralıklarla bunların temizlenmesi gerekli
ama ben hala manuel bir denemesini yapmadım
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

bagli olmadıgı halde nasıl bagli gorundugunu anlamak ici bir komut varmı abi.

yani if(...... ) then gifx -sweep

burdaki ..... icin bir cozum varmı.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

kullanıcılara sorabilirsin baglımısın diye :)
baska bir yol yok sanırım
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
musti
Üye
Mesajlar: 527
Kayıt: 11 Tem 2005 09:44

Mesaj gönderen musti »

:)
ben daha mantıklı bir yol dusunuyorum
ornegin png ttl cevabı ile
Cevapla