Wie sehen die Prädikate Hinzugefügt, die von einem VPD in einer Oracle-Datenbank?
Prädikate Hinzugefügt, indem eine Row Level Security policy zeigen nicht in die 10046 trace-Datei. Ein Vorschlag ist die Verwendung des 10053 (optimizer) Spur zu sehen, die VPD-Prädikate, aber es ist schwierig, die 10053 trace auf eine Sitzung von der anderen Sitzung.
Gibt es einen anderen Weg, um zu sehen, was Prädikate Hinzugefügt wurden durch einen RLS-Politik ?
Szenario : Die RLS-policy angewendet wird, auf eine Abfrage in Sitzung #1. Wir müssen analysieren, was passiert in der Sitzung #1 aus der session #2.
Die Datenbank 10g Oracle 10g.
- Diese Frage ist eine legitime Datenbank Programmieren Frage und sollte nicht geschlossen wurden.
- Das Q scheint besser geeignet für dba.stackexchange.com als StackOverflow. Es ist zu off-topic hier.
- Warum? In meiner Erfahrung DBAs nicht bekommen, an der Umsetzung des Row-Level-Security-Richtlinien. Es sei denn, deine Behauptung ist, dass jede Frage berühren, auf Datenbanken gehört auf den dba.se Seite?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benötigen Sie einen Benutzer, der Zugang zu V$VPD_POLICY. Standardmäßig wäre das nur der SYSDBA-Benutzer, so dass Sie wahrscheinlich benötigen, ein DBA zu gewähren Sie Zugriff auf die Ansicht. Der Blick Bindungen Prädikate, um SQL-Anweisungen. Sie brauchen, um die SQL_ID aus V$SQLAREA, denn das gibt Ihnen die ADRESSE, das ist der einzige Mechanismus zur Verknüpfung der SQL-Anweisung, um die richtige Zeile in der V$SESSION.
Eigentlich die Reihenfolge des Zugriffs ist: V$SESSION gibt Sie die ADRESSE des zuletzt ausgeführten Anweisung durch session-1. Verwenden Sie, dass zu finden, seine SQL_ID in V$SQLAREA, was wiederum ermöglicht es Ihnen, Verknüpfungen zu V$VPD_POLICY.
So müssen Sie Zugriff auf einige der V$ - views. Aber wenn du tuning sollten Sie Zugang zu Ihnen haben, eh, mit Ausnahme von V$VPD_POLICY.