Oracle Alter session set current_架构权限
基本上,我有一个java应用程序,它使用oracle作为数据源。现在,我的应用程序与一个用户连接,并使用连接的用户的模式创建表等 现在我有一个要求,我的应用程序也应该在另一个模式下工作 所以我不得不选择其他的选择 1-使用前缀更改我的表名,如Oracle Alter session set current_架构权限,oracle,session,privileges,alter,Oracle,Session,Privileges,Alter,基本上,我有一个java应用程序,它使用oracle作为数据源。现在,我的应用程序与一个用户连接,并使用连接的用户的模式创建表等 现在我有一个要求,我的应用程序也应该在另一个模式下工作 所以我不得不选择其他的选择 1-使用前缀更改我的表名,如 select * from other_schema.table 2-在运行任何查询之前更改会话,如 alter session set current_schema=other_schema 我很好奇dba是否有可能撤销alter会话特权 甲骨文文档
select * from other_schema.table
2-在运行任何查询之前更改会话,如
alter session set current_schema=other_schema
我很好奇dba是否有可能撤销alter会话特权
甲骨文文档说
除非另有说明,否则执行此语句的其他操作不需要任何特权
请注意,我的应用程序用户将拥有其他\u架构的所有权限
我的应用程序将运行许多环境
因此,采用第一种方法看起来更安全,但可能需要很长时间
第二个更快,但看起来很棘手。是的,他们会。有一个名为
CONNECT
的角色。此角色通常(取决于版本)为您提供两种系统权限:
创建会话
alter session
创建会话
权限时,您可以不使用任何更改会话…
语句
Se Oracle文档:
请注意,设置事件需要ALTER SESSION权限。
很少有数据库用户需要alter session权限
SQL> ALTER SESSION SET EVENTS ........
其他alter session不需要alter session权限
命令
SQL> ALTER SESSION SET NLS_TERRITORY = FRANCE;
因此,这实际上取决于Oracle版本。是的,他们是这样做的。有一个名为
CONNECT
的角色。此角色通常(取决于版本)为您提供两种系统权限:
创建会话
alter session
创建会话
权限时,您可以不使用任何更改会话…
语句
Se Oracle文档:
请注意,设置事件需要ALTER SESSION权限。
很少有数据库用户需要alter session权限
SQL> ALTER SESSION SET EVENTS ........
其他alter session不需要alter session权限
命令
SQL> ALTER SESSION SET NLS_TERRITORY = FRANCE;
因此,这实际上取决于Oracle版本。在10gR2中更改了连接角色。它以前拥有资源的大部分权限,但这些权限在10gR2中被撤销
我刚刚与一个只有CREATE SESSION的用户尝试了ALTER SESSION,这让我非常惊讶,至少在11.2.0.4中是这样的。连接角色在10gR2中被更改了。它以前拥有资源的大部分权限,但这些权限在10gR2中被撤销 我刚刚和一个只有CREATE会话的用户尝试了altersession,这让我很惊讶,至少在11.2.0.4版本中是这样