Cześć,
chciałbym dopytać się, czy jest jakaś możliwość ustawienia własnego tekstu, po którym mógłbym poznać sesje aplikacji? Dodam, że łączę się z bazą poprzez ODBC. Chciałby mieć coś na kształt: TSN;User;Pass;Unikalny_tekst/ID_sesji_aplikacji przy łączeniu się z bazą Oracle.
Może się nieprecyzyjnie wyraziłem. Mam taki stan na kształt tego na screenie z monitora sesji
No i tutaj ktoś sobie wstawił w tę kolumnę adresy IP. A ja chciałbym, żeby aplikacja tam wstawiała swój własny jakiś unikalny identyfikator. No i szukam parametru jaki trzeba podać przy tym tzw. stringi connection, aby tam wpisać swoją własną informację.
Masz tam unikalny sid. Czego Ci brakuje?
ale to jest wprost wyświetlenie sesji jakie trzyma oracle. Jak chcesz ustawić customowe CLIENT_INFO
to musisz po podłączeniu do oracle wywołać
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO('Twoja nazwa');
ale do tego trzeba mieć dostęp do źródeł aplikacji.
Fac napisał(a):
Masz tam unikalny sid. Czego Ci brakuje?
Mam n-połączeń tworzonych z jednej aplikacji, i po pewnym czasie wiszą jako INACTIVE
, wszystkie przedstawiają się nazwa_pliku.exe + SID, który mi nic nie mówi. Stąd chciałem coś wstawić, co mi określi bardziej ludzką nazwą źródło połączenia.
abrakadaber napisał(a):
Jak chcesz ustawić customowe
CLIENT_INFO
to musisz po podłączeniu do oracle wywołać
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO('Twoja nazwa');
Liczyłem, że da się bez, no ale trudno, jak trzeba grzebnąć w kodzie, to trzeba.
BartoSAS napisał(a):
Fac napisał(a):
Masz tam unikalny sid. Czego Ci brakuje?
Mam n-połączeń tworzonych z jednej aplikacji, i po pewnym czasie wiszą jako
INACTIVE
, wszystkie przedstawiają się nazwa_pliku.exe + SID, który mi nic nie mówi. Stąd chciałem coś wstawić, co mi określi bardziej ludzką nazwą źródło połączenia.abrakadaber napisał(a):
Jak chcesz ustawić customowe
CLIENT_INFO
to musisz po podłączeniu do oracle wywołać
EXEC DBMS_APPLICATION_INFO.SET_CLIENT_INFO('Twoja nazwa');
Liczyłem, że da się bez, no ale trudno, jak trzeba grzebnąć w kodzie, to trzeba.
To raczej nie puszczaj pary w gwizdek na detektywistykę, a na porządne zwalnianie zasobów, zależnie od języka, jak C# to using
, jak Java to try
with resources.
Można powiedziec, że wiem o czym móiwę, bo kilka lat temu przejsciowa wersja naszego programu miała to zaniedbane, i po kilku tygodniach wyczerpała konekszyny MS-SQL
@BartoSAS: możesz zmienić w pliku SQLNET.ORA
parametr SQLNET.EXPIRE_TIME=minutes
żeby "martwe" połączenia były szybciej usuwane
@ZrobieDobrze: na wojnie z legacy wszystkie chwyty dozwolone :D, łudzę się, że szybciej znajdę w ten sposób miejsce, gdzie źle są zwalniane zasoby
@abrakadaber: nie mam "pagonów", żeby móc sobie dłubać, aż tak na bazie
to się ustawia na serwerze nie na bazie