ďťż
 
oracle - zlinkowane bazy ďťż
 
oracle - zlinkowane bazy
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

oracle - zlinkowane bazy



Marek Horodyski - 31-03-2006 00:15
oracle - zlinkowane bazy
  W srodowisku sa dwie bazy oracl polaczone dblinkiem z bazy B do bazy A.
Otwarcie linku w bazie B jest niejawne. Baza A ( argumentujac potrzebami
wydajnosciowym) zamyka polaczenie po pownym czasie jego niewykorzystywania
po swojej stronie. Ponowna proba uzycia go po stronie bazy B generuje blad z
bazy A. Aby temu zapobiec, z bazy B probuje jawnie zamknac polaczenie.
Jednakze sledzenie w aplikacji czy link zostal otwarty (nie zawsze byl),
wymaga zmian w kilku miejscach, a wydaje mi sie, ze tą informacje powinienem
moc dostac z samej bazy. I tu jest moje pytanie : czy i jak mozna sprawdzic
status polaczenia o okreslonej nazwie, aby swiadomie a nie w ciemno wydac
polcenie "alter session close databases link xxxx" ? Admini poustawiali
"samopas" zamkniecia po stronie bazy A, ale niestety nie umieli mi
odpowiedziec jak mam to sprawdzic po stronie klienta.

Popzdrawiam,
Marek Horodyski





dap - 31-03-2006 00:16

  Marek Horodyski wrote:
> W srodowisku sa dwie bazy oracl polaczone dblinkiem z bazy B do bazy A.
> Otwarcie linku w bazie B jest niejawne. Baza A ( argumentujac potrzebami
> wydajnosciowym) zamyka polaczenie po pownym czasie jego
> niewykorzystywania po swojej stronie. Ponowna proba uzycia go po stronie
> bazy B generuje blad z bazy A. Aby temu zapobiec, z bazy B probuje
> jawnie zamknac polaczenie. Jednakze sledzenie w aplikacji czy link
> zostal otwarty (nie zawsze byl), wymaga zmian w kilku miejscach, a
> wydaje mi sie, ze tą informacje powinienem moc dostac z samej bazy. I tu
> jest moje pytanie : czy i jak mozna sprawdzic status polaczenia o
> okreslonej nazwie, aby swiadomie a nie w ciemno wydac polcenie "alter
> session close databases link xxxx" ? Admini poustawiali "samopas"
> zamkniecia po stronie bazy A, ale niestety nie umieli mi odpowiedziec
> jak mam to sprawdzic po stronie klienta.

Prawdopodobnie dba ustawili na Bazie A timeout dla polaczen - i to
powoduje ich zamkniecie.

Z tego co przetestowalem (9i) nie da sie tego sprawdzic po stronie B czy
ma otwarty link. Po stronie A jest otwarta sesja z komputera B.
Mozesz to jednak zrobic zgodnie z filozofia Oracle a nie Microsoftu.
Microsoft (MSSQL) zwykle sprawdza czy cos istnieje, i jesli nie to dany
obiekt jest tworzony.
Oracle tworzy obiekt, a jak wystapi jakichs wyjatek to go odpowiednio
obsluguje.

Jesli mozesz to zrob obsluge wyjatku, a nie baw sie w pytanie bazy czy i
co istnieje. Z drugiej strony jak jest to zbyt duzym problemem, wysylaj
po prostu co pewnie czas;
select sysdate from dual@A ;
Z tego co pisales bedzie ono zawsze poprawne - bo jak link jest otwarty
to zostanie wykonane, jak zamkniety to otworzy i nastepnie wykona.

dap




Marek Horodyski - 31-03-2006 00:16

 
Użytkownik "dap" <news997@gazeta.pl> napisał w wiadomości
news:e0g9k0$cbn$1@inews.gazeta.pl...
> Marek Horodyski wrote:

[ ... ]

> Prawdopodobnie dba ustawili na Bazie A timeout dla polaczen - i to
> powoduje ich zamkniecie.
>
dokladnie tak zrobili, o czym my sie dowiedzielismy z informacji o bledach

> Z tego co przetestowalem (9i) nie da sie tego sprawdzic po stronie B czy
> ma otwarty link. Po stronie A jest otwarta sesja z komputera B.

A to jest wlasnie 9i, a b niestety 8.1.7

> Mozesz to jednak zrobic zgodnie z filozofia Oracle a nie Microsoftu.
> Microsoft (MSSQL) zwykle sprawdza czy cos istnieje, i jesli nie to dany
> obiekt jest tworzony.
> Oracle tworzy obiekt, a jak wystapi jakichs wyjatek to go odpowiednio
> obsluguje.

I tu mam problem - gdyz jest to cos ksztalt przetwarzania wsadowego, i
obsluzyc wyjatek moge, a tak troche "na okolo". Musze dopisac obsluge
wyjatkow w wykonaniu skryptow - ale ten czas :(.
Idealnym rozwiazaniem byloby sprawdzenie stanu.

> Jesli mozesz to zrob obsluge wyjatku, a nie baw sie w pytanie bazy czy i
> co istnieje. Z drugiej strony jak jest to zbyt duzym problemem, wysylaj po
> prostu co pewnie czas;
> select sysdate from dual@A ;
> Z tego co pisales bedzie ono zawsze poprawne - bo jak link jest otwarty to
> zostanie wykonane, jak zamkniety to otworzy i nastepnie wykona.

Zeby bylo smieszniej - to po powyzszym zapytaniu dostane systime bazy
lokalnej, ale pomysl jest dobry, gdyz teraz mam tylko problem z zamknieciem.
Wolam skrypt ktory ma cos wyslac, a on nie znalazl znacznika do wyslana i
nie otworzyl polaczenia, i jak wolajacy probuje zmknac, dostaje wyjatek, ze
nie ma co zamykac. Wiec przed zamknieciem doloze powyzsze, co na pewno nie
moze obciazac bazy A, i zaraz po tym zamkne polaczenie.
Dzieki za "wydajny" pomysł :)

Pozdrawiam,
Marek Horodyski
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= Oracle 19g +Insert +Insert +Insert... [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?= =?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?= [oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?= [oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?= MSSQL Express czy Oracle Express =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nawschodzie.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com