首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何强制用户使用自治数据库中的特定版本?

如何强制用户使用自治数据库中的特定版本?
EN

Stack Overflow用户
提问于 2021-11-24 23:29:30
回答 1查看 17关注 0票数 0

我正在使用自治数据库中的Edition Based Redefinition。如何强制用户使用我想要的版本?

免责声明:我是自治数据库的产品经理。

EN

回答 1

Stack Overflow用户

发布于 2021-11-24 23:29:30

这可以使用登录触发器和dbms_session包来完成。

下面是一个例子。我使用admin用户创建了两个版本,并授予测试用户对它的访问权限。

代码语言:javascript
复制
SQL> create edition e1;

Edition created.

SQL> create edition e2;

Edition created.

SQL> grant use on edition e2 to test;

Grant succeeded.

然后,我创建了一个登录触发器,用于在用户登录时设置该用户的版本。

代码语言:javascript
复制
create or replace trigger sess_logon
after logon on database
begin
if sys_context('USERENV','SESSION_USER') = 'TEST'
then
    DBMS_SESSION.SET_EDITION_DEFERRED ('E2');
end if;
END;
/

当该用户登录时,她可以使用该查询看到当前版本。

代码语言:javascript
复制
SQL> select sys_context('userenv', 'current_edition_name') from dual;

SYS_CONTEXT('USERENV','CURRENT_EDITION_NAME')
--------------------------------------------------------------------------------
E2

免责声明:我是自治数据库的产品经理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70104145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档