Hallo,
folgendes Szenario:
Ein übergeordnetes System bedient mehrere untergeordnete Systeme mit Daten. Die Verbindungen zwischen den über- und untergeordneten Systemen sind durch DBLinks realisiert.
Das Auslesen vom untergeordneten System funktioniert so:
select * into var from tabelle1@dblink1;
Danach erfolgt ein insert ins unterg. System mit Parametern.
Nun kann es vorkommen, dass Spalten in tabelle1 hinzukommen. Ich musste feststellen, dass es in diesem Fall zu einem Laufzeitfehler auf dem untergeordneten System kommt, da die Session wohl noch die alte Tabellendefinition im Cache hat.
Gibt es eine Möglichkeit einen Art Cacherefresh auf den untergeordneten Systemen zu erzwingen ohne das die Session neu gestartet werden muss? Einen Zeitpunkt zu finden in dem alle untergeordneten Systeme sich nicht in Produktion befinden und ich die Prozesse neu starten kann ist recht schwierig.
Danke schon mal für die Hilfe!
Mephi
folgendes Szenario:
Ein übergeordnetes System bedient mehrere untergeordnete Systeme mit Daten. Die Verbindungen zwischen den über- und untergeordneten Systemen sind durch DBLinks realisiert.
Das Auslesen vom untergeordneten System funktioniert so:
select * into var from tabelle1@dblink1;
Danach erfolgt ein insert ins unterg. System mit Parametern.
Nun kann es vorkommen, dass Spalten in tabelle1 hinzukommen. Ich musste feststellen, dass es in diesem Fall zu einem Laufzeitfehler auf dem untergeordneten System kommt, da die Session wohl noch die alte Tabellendefinition im Cache hat.
Gibt es eine Möglichkeit einen Art Cacherefresh auf den untergeordneten Systemen zu erzwingen ohne das die Session neu gestartet werden muss? Einen Zeitpunkt zu finden in dem alle untergeordneten Systeme sich nicht in Produktion befinden und ich die Prozesse neu starten kann ist recht schwierig.
Danke schon mal für die Hilfe!
Mephi
Comment