Mit PG auf Oracle-View zugreifen

Alle Fragen und Probleme zu den externen Schnittstellen wie ODBC, JDBC, ...
pgSteffen
Benutzer
Beiträge: 81
Registriert: Di 14. Dez 2010, 09:46

Re: Mit PG auf Oracle-View zugreifen

Beitrag von pgSteffen » Do 20. Okt 2016, 13:51

Hallo,
nach gut einem Jahr habe ich es jetzt endlich geschafft die Verbindung zu Oracle herzustellen.
War gar nicht so kompliziert, man muss halt nur 32/64bit beachten.

Bliebe das bereits angedeutete Thema
Letztendlich ist die Frage ob ich mit der "Wrapper"-Lösung eine aktuelle Lösung hinbekomme. Eine "Livesicht" geht nicht, da die Daten zwingend in eine bestimmte pg-Tabelle geschrieben werden müssen. Ein Trigger wird nicht funktionieren, da dieser die Änderungen in der View wohl nicht mitbekommt. Bliebe noch ein fester Aktualisierungszyklus .....
Also ich muss also Daten aus der Oracle-VIEW in eine PG-Tabelle schaffen.
Dies muss mindestens einmal täglich bzw. optimaler Weise bei Änderungen in Oracle erfolgen.

Gibt es hierfür einen Ansatz?

Gruß Steffen :)
PostgreSQL 9.3.16, 64bit Windows (irgendwann aktualisiere ich versprochen :) )

akretschmer
Erfahrener Benutzer
Beiträge: 7532
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Mit PG auf Oracle-View zugreifen

Beitrag von akretschmer » Do 20. Okt 2016, 14:03

ein 'Ansatz' wäre logical replication. 2ndQuadrant hat dazu eine Entwicklung, pg_logical. IIRC wurde damit bei einem oder mehreren unserer Kunden damit schon sowas erfolgreich gemacht... bin da aber nicht involviert.

Falls Dein finanzieller Rahmen das zuläßt kannst ja mal bei uns anklopfen ;-)
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

pgSteffen
Benutzer
Beiträge: 81
Registriert: Di 14. Dez 2010, 09:46

Re: Mit PG auf Oracle-View zugreifen

Beitrag von pgSteffen » Do 20. Okt 2016, 14:22

Hallo,
vielen Dank für die schnelle Antwort. Der finanzielle Rahmen ist leicht beschrieben Null :rolleyes: .

Aber irgendwas zeitgesteuertes (terminierter Trigger??) sollte doch möglich sein!? Würde dann halt z.B. aller paar Minuten schauen, ob Änderungen in Oracle gemacht wurden.

Muss ich wirklich ein externes Programm erstellen, um PostgreSQL zu einer Aktion zu veranlassen?

Gruß Steffen
PostgreSQL 9.3.16, 64bit Windows (irgendwann aktualisiere ich versprochen :) )

akretschmer
Erfahrener Benutzer
Beiträge: 7532
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Mit PG auf Oracle-View zugreifen

Beitrag von akretschmer » Do 20. Okt 2016, 14:57

Du kannst Dir pgBucket anschauen, damit kannst Du innerhalb von PG quasi einen Cron laufen lassen: https://bitbucket.org/dineshopenscg/pgbucket

Du mußt halt zusehen, alle Änderungen aus Ora nachzuführen: Inserts, Updates, Deletes. Da aller N Sekunden/Minuten einen 'Snapshot' der Tabellen zu vergleichen ist um einiges mühsammer als wenn man diese Änderungen als logischen Stream bekommen könnte.

https://wiki.postgresql.org/images/2/25 ... ak-orq.pdf

Vielleicht kommst Du besser, in Ora via TRIGGER Änderungen zu protokollieren und daraus Anweisungen für PG zu generieren.

Oder, falls das reicht, einmal/mehrmals täglich in PG alles wegwerfen und komplett aus Ora neu ziehen. Das hängt letztendlich auch von der Datenmenge ab, über die wir reden.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

castorp
Erfahrener Benutzer
Beiträge: 1086
Registriert: Sa 27. Jun 2009, 22:24
Wohnort: Bayern

Re: Mit PG auf Oracle-View zugreifen

Beitrag von castorp » Do 20. Okt 2016, 14:59

pgSteffen hat geschrieben:Aber irgendwas zeitgesteuertes (terminierter Trigger??) sollte doch möglich sein!? Würde dann halt z.B. aller paar Minuten schauen, ob Änderungen in Oracle gemacht wurden.

Muss ich wirklich ein externes Programm erstellen, um PostgreSQL zu einer Aktion zu veranlassen?
Postgres hat leider keinen eingebauten Scheduler so Oracles dbms_scheduler.
Es gibt aber mehrere Extensions die das nachrüsten, z.B. diese hier https://github.com/citusdata/pg_cron/
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

pgSteffen
Benutzer
Beiträge: 81
Registriert: Di 14. Dez 2010, 09:46

Re: Mit PG auf Oracle-View zugreifen

Beitrag von pgSteffen » Do 20. Okt 2016, 17:03

Hallo,
vielen Dank für die Antworten.

Ich habe mir als ersten Schritt jetzt folgendes überlegt:
Mein GIS (welches auf PG zugreift) lasse ich beim Start einen Datensatz in eine PG-Tabelle schreiben. Dieser Insert löst dann den Trigger aus, welcher einen Oracle-PG Abgleich durchführt.
Werde außerdem versuchen nach dem gleichen Prinzip einen Knopf im GIS einzubauen, welcher dann die Aktion sofort auslöst.

Gruß Steffen
PostgreSQL 9.3.16, 64bit Windows (irgendwann aktualisiere ich versprochen :) )

akretschmer
Erfahrener Benutzer
Beiträge: 7532
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Mit PG auf Oracle-View zugreifen

Beitrag von akretschmer » Do 20. Okt 2016, 17:16

Btw.: PostgreSQL 9.3.6 (deine Signatur), aktuell ist 9.3.14. Da sind etlich kritische Bugs. Übrigends wird 9.3.15 (und andere Versionen) demnächst einen weiteren nicht ganz unkritischen Bug beheben:

http://blog.2ndquadrant.com/postgresql- ... guarantee/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Antworten