问题描述
我有几个VPD问题,我试图根据阅读Oracle数据库12c安全性的第7章来确保我完全理解。我看过这两个备受尊敬的Oracle作者的例子。关于SYS_CONTEXT函数的绑定变量引用,我目前在为WHERE子句返回的策略函数中有第一种情况:
1. lvar_where_clause := 'activity_sa_id = '| | SYS_CONTEXT ('app_user_ctx','ACTIVITY');
生产:
其中 (活动 _ sa_id = 8)
2. lvar_where_clause := 'activity_sa_id = SYS_CONTEXT (''app_user_ctx '',''activity'') ';
生产:
其中 (activity_sa_id = SYS_CONTEXT ('app_user_ctx','ACTIVITY'))
我在大多数应用程序查询上看到多个游标。我有7个不同的活动在系统和这个单一的策略是在80% 1,500的表。这每天有超过1000万次点击,当整个客户端基础转换完成时,可能会达到5-10倍。从引用的章节中,#2将允许绑定,我应该看到更多的计划重用。
这导致VPD策略类型的最佳选择。我们目前正在使用动态。我想知道为什么我不能/不应该使用SHARED_CONTEXT_SENSITIVE。一个用户可以属于多个活动,但是所有应用程序都在启动时强制为具有多个分配的用户选择活动。他们还可以在一些无状态的web应用程序中切换活动,但它完全将它们移动到选定的活动中,并且所有SYS_CONTEXT参数都将重置。我有来自COBOL的多种技术,Forms,Net,冷融合以及受VPD限制的其他客户端-服务器怪胎,因此不能容忍任何远程出血的机会。Shared_context_sensitived与 #2 WHERE子句是这样的会话静态参数的正确路径吗?
1. lvar_where_clause := 'activity_sa_id = '| | SYS_CONTEXT ('app_user_ctx','ACTIVITY');
生产:
其中 (活动 _ sa_id = 8)
2. lvar_where_clause := 'activity_sa_id = SYS_CONTEXT (''app_user_ctx '',''activity'') ';
生产:
其中 (activity_sa_id = SYS_CONTEXT ('app_user_ctx','ACTIVITY'))
我在大多数应用程序查询上看到多个游标。我有7个不同的活动在系统和这个单一的策略是在80% 1,500的表。这每天有超过1000万次点击,当整个客户端基础转换完成时,可能会达到5-10倍。从引用的章节中,#2将允许绑定,我应该看到更多的计划重用。
这导致VPD策略类型的最佳选择。我们目前正在使用动态。我想知道为什么我不能/不应该使用SHARED_CONTEXT_SENSITIVE。一个用户可以属于多个活动,但是所有应用程序都在启动时强制为具有多个分配的用户选择活动。他们还可以在一些无状态的web应用程序中切换活动,但它完全将它们移动到选定的活动中,并且所有SYS_CONTEXT参数都将重置。我有来自COBOL的多种技术,Forms,Net,冷融合以及受VPD限制的其他客户端-服务器怪胎,因此不能容忍任何远程出血的机会。Shared_context_sensitived与 #2 WHERE子句是这样的会话静态参数的正确路径吗?
专家解答
其中一些将归结为您的 “活动” 价值观。您说 “活动” 的不同值的数量很小 (即小于10),并且您说您有〜1500表。根据所编写的查询的种类,这可能是一组非常小的不同的查询,或者它可能是巨大的 (例如,与10个活动的5方式可以通过几个不同的查询,或者它可能是数千个排列)。
假设其 (潜在的) 后者 (即,大量的活动),而不是仅仅从 (1) 切换到 (2) 将产生显著的好处。
策略 * 类型 * 是一个稍微不同的事情,更多的是运行策略 * 功能 * 的成本/频率-这将决定您对策略类型的选择。从您在问题中所说的内容来看,当然context_sensitive或shared_context_sensitive似乎适用于您的用例。
假设其 (潜在的) 后者 (即,大量的活动),而不是仅仅从 (1) 切换到 (2) 将产生显著的好处。
策略 * 类型 * 是一个稍微不同的事情,更多的是运行策略 * 功能 * 的成本/频率-这将决定您对策略类型的选择。从您在问题中所说的内容来看,当然context_sensitive或shared_context_sensitive似乎适用于您的用例。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle DataGuard高可用性解决方案详解
孙莹
561次阅读
2025-03-26 23:27:33
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
521次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
424次阅读
2025-04-18 14:18:38
墨天轮个人数说知识点合集
JiekeXu
423次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
422次阅读
2025-04-08 09:12:48
Oracle SQL 执行计划分析与优化指南
Digital Observer
418次阅读
2025-04-01 11:08:44
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
415次阅读
2025-04-22 00:20:37
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
399次阅读
2025-04-22 00:13:51
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
382次阅读
2025-04-20 10:07:02
Oracle 19c RAC更换IP实战,运维必看!
szrsu
361次阅读
2025-04-08 23:57:08