Oracle-PL/SQL-XML Laden

Ich weiß nicht, der beste Weg, das zu Fragen, aber lassen Sie mich erklären Sie das Problem, und es kann helfen.

Wir haben derzeit ein feed-Daten, verteilten, um uns eine Oracle-OAI-hub. Die Daten werden an uns über DBLinks.

Informationen Anbieter wird die Aktualisierung auf Oracle ODI, und für eine Vielzahl von Gründen sind Vorschrift, dass alle Daten, die zu übertragen ist, unter Verwendung der verschlüsselten XML-Dateien über SFTP.

Jetzt dies führt zu einem neuen Problem für uns als Daten-Empfänger, wie wir jetzt ändern müssen unsere Systeme zum laden von XML-Daten in den Tabellen, die einst bevölkert waren, durch DBLinks.

Set-up, was wir derzeit haben ist:

  • Oracle 10g (10.2.0.4)
    • Oracle läuft auf Unix (HP-UX)
  • Zahlreiche Win2k3 Server controlling-Schnittstelle /ETL fließen.

Also aktuell die OAI-hub, Daten in eine Anzahl von Tabellen in der ETL-Schicht. Sagen Sie zum Beispiel "PERSON". Die Struktur dieser Tabelle, ich glaube nicht, dass relevant ist...

Wenn die Daten geladen wurden, in die Tabelle PERSON, die OAI-Lieferung wird die übertragung einer Datei-Ende-Markierung in der Datenbank, dieser wird gespeichert in der Tabelle "EOF" - es enthält eine Anzahl von erhalten Datensätze erwartet in "PERSON".

Dem windows-server einen batch-Prozess, Abstimmungen alle 30 Sekunden prüft, ob ein Datensatz vorhanden, EOF, wenn es dann funktioniert, es startet unsere ETL-Verarbeitung.

Ich möchte, um zu vermeiden, ändern Sie diesen Teil des Systems, wenn möglich, also was ich dir Vorschlage, eine Lösung ist, analysieren die neuen XML-Dateien und laden Sie Sie in der Oracle-Datenbank, die Frage ist, was ist der beste Weg, dies zu tun:

  • Die XML-Dateien geliefert werden, die Windows-Server
  • Präferenz wäre die Verwendung von PL/SQL um die Daten zu laden

Was ist der beste Weg, um zum laden der Daten in die Oracle (Unix) Datenbank, mit der Quell-Daten auf der Windows-Seite.

Ich möchte vermeiden, dass auf jedem Unix-scripting-wenn möglich - als mein Entwicklungsteam nicht genug Unix-Erfahrung, lassen Sie Sie lose auf.

Anregungen werden dankbar sein.

XML-format ist wie unten - und Elementnamen anzeigen, um Spaltennamen in der DB:

<PERSON>
  <HEADER>
    <Creator>~</Creator>
    <DigitalSigniture>~</DigitalSigniture>
    <Owner>~</Owner>
    <Title>~</Title>
    <Marking>~</Marking>
   </HEADER>

   <PERSONS>
     <EMPLOYEE_NUMBER>~</EMPLOYEE_NUMBER>
     <FIRST_NAME>~</FIRST_NAME>
     <LAST_NAME>~</LAST_NAME>
     ......
   </PERSONS>
<PERSON>

BEARBEITEN:
Ich bin auch der Tatsache bewusst, volumes, auf einer normalen (durchschnittlichen) Tag, an dem ich die Verarbeitung etwa 80.000 von XML-Datensätzen und auf einen außergewöhnlichen Tag, an dem ich die Verarbeitung von bis zu 300.000 (in der Regel einmal pro Jahr).

InformationsquelleAutor diagonalbatman | 2011-03-14

Schreibe einen Kommentar