Ich muss meine Datenreihe von vorne nach hinten visualisieren (welche Tabellen zu welchen Tabellen etc. gehen), indem ich im Wesentlichen meinen gesamten gespeicherten Proc-Code verarbeite. Gibt es ein kostenloses Tool, das dies tut, oder irgendwelche Bibliotheken in Java/C#, die das können?Oracle Data Lineage von gespeicherten Procs
1
A
Antwort
1
Wenn ich richtig verstehe, möchten Sie sehen, welche Tabellen welche anderen usw. Es handelt sich also um ein hierarchisches/rekursives Problem.
In Oracle, können Sie dies mit dem CONNECT-BY/START-WITH
Operator lösen, indem die Metadaten Abfrage der Primärschlüssel und relationaly-Einschränkungen und Benutzer SYS_CONNECT_BY_PATH
, um eine lesbare Zeichenfolge aus ihm enthalten:
WITH tabrels AS (
SELECT t.table_name, pk.constraint_name PrimKey, rel.table_name referenced_by
FROM all_tables t
LEFT JOIN all_constraints pk ON pk.constraint_type = 'P' AND pk.table_name = t.table_name
LEFT JOIN all_constraints rel ON rel.r_constraint_name = pk.constraint_name
WHERE t.owner ='**<your schema owner here>**'
AND (rel.table_name IS NULL OR t.table_name <> rel.table_name) -- exclude self-references
)
SELECT LEVEL, substr(sys_connect_by_path(tr.table_name,' <- '), 5) datapath
FROM tabrels tr
CONNECT BY NOCYCLE tr.referenced_by = PRIOR tr.table_name
START WITH tr.referenced_BY IS NULL
ORDER SIBLINGS BY tr.table_name
0
Es scheint mehr für mich wie eine klassische Datenflussanforderung, die von Oracle PL/SQL oder anderen Arten von Programmiercode viel schwerer zu bekommen ist. Ich empfehle, https://getmanta.com zu überprüfen. Es handelt sich um eine einzigartige Data Lineage-Lösung mit Schwerpunkt auf der Programmierung von Code wie Oracle Stored Procedures.
Verwandte Themen
- 1. Enterprise-Bibliothek Caching-Parameter auf gespeicherten Procs?
- 2. Was sind gute Probleme zu lösen mit CLR gespeicherten Procs?
- 3. Bindung von Procs
- 4. Data Guard Oracle 11g
- 5. Spark RDD Lineage Graph Darstellung
- 6. So verbinden Sie Amazon S3 von Oracle/Oracle Data Integrator
- 7. Spark RDD Lineage und Speicherung
- 8. Allgemeines Oracle Data Collection Storage
- 9. Programmgesteuertes Ersetzen von verknüpften Serververweisen durch lokale Datenbankverweise in SQL Server gespeicherten Procs?
- 10. Oracle Data Dump und Datenwiederherstellung
- 11. Verwenden von MySql gespeicherten Prozeduren für .NET Data Access Layer
- 12. Ausgabe auf Ausführen Azure Data Warehouse gespeicherten Prozedur von Java
- 13. Gespeicherte Procs neu kompilieren?
- 14. Wie schreibe ich eine Endlosschleife mit gespeicherten Prozeduren von Oracle?
- 15. Zurückgeben von Oracle-Ausgabeparametern aus einer gespeicherten Prozedur in .NET
- 16. Ausführen einer gespeicherten Prozedur von Oracle SQL Developer
- 17. Stackoverflow aufgrund der langen RDD Lineage
- 18. Verständnis Procs in Ruby
- 19. procs, fork() und mutexes
- 20. Oracle Data Miner - Vereinfachen Oracle R Enterprise-Schnittstelle
- 21. Konvertieren von Array Procs und Symbolen
- 22. Warum prüft Microsoft SQL Server Spalten, aber keine Tabellen in gespeicherten Procs?
- 23. Oracle Connect von Top-Level zurückkehren nur
- 24. C# data- types -> oracle datatypes
- 25. , wie Daten aus gespeicherten Prozedur in Oracle holen
- 26. Verwendung von gespeicherten Funktionen im Entity-Framework
- 27. Migrieren von Sybase-Abfragen zu Oracle Sql: Oracle sql Entwickler
- 28. Ausnahmemanagement in gespeicherten Prozeduren?
- 29. Wie ändere ich die Zeitzone von Oracle SQL Developer/Oracle Data Modeler?
- 30. Aufruf der gespeicherten Prozedur mit 'IS IN' Anweisung in Oracle
Dank oratom. Leider geht es nicht nur um pk/fk- oder fact/dimension-Beziehungen, sondern z. Im Data Warehousing von der Quelle zur Tabelle mache ich möglicherweise mehrere Joins und Vereinigungen und platziere Daten in Quellen, exponiere diese in Sichten und verwende dann die Sichten für mehr Joins zur Präsentationsschicht usw. Diese "Fluss" - Information wird im Wesentlichen in geschrieben PL/SQL gespeicherte Procs. – Ronbear