gpt4 book ai didi

sql - 如何查看 Oracle 数据库中 VPD 添加的谓词?

转载 作者:行者123 更新时间:2023-12-02 09:21:14 25 4
gpt4 key购买 nike

行级安全策略添加的谓词不会显示在 10046 跟踪文件中。一个建议是使用 10053(优化器)跟踪来查看 VPD 谓词,但很难从另一个 session 在给定 session 上设置 10053 跟踪。

是否有其他方法可以查看 RLS 策略添加了哪些谓词?

场景:RLS 策略应用于 session #1 中的查询。我们需要分析 session #1 和 session #2 中发生的情况。

数据库10g是Oracle 10g。

最佳答案

您需要一个有权访问 V$VPD_POLICY 的用户。默认情况下,只有 SYSDBA 用户,因此您可能需要 DBA 来授予您对 View 的访问权限。该 View 将谓词与 SQL 语句联系起来。您需要从 V$SQLAREA 获取 SQL_ID,因为这会为您提供 ADDRESS,这是将 SQL 语句链接到 V$SESSION 中正确行的唯一机制。

实际上访问的顺序是:V$SESSION 为您提供 session 1 执行的最后一条语句的地址。您可以使用它在 V$SQLAREA 中查找其 SQL_ID,这又允许您链接到 V$VPD_POLICY。

因此您需要访问多个 V$ View 。但如果您正在调整,您无论如何都应该可以访问它们,但 V$VPD_POLICY 除外。

关于sql - 如何查看 Oracle 数据库中 VPD 添加的谓词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17168781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com