我们的DBA团队创建了一个角色(standardRole)来轻松地管理我们组织中的最低系统权限,这个角色目前拥有一个系统特权,即'Create Session‘特权。
我创建了一个用户并授予他这个角色(standardRole),用户试图使用蟾蜍连接,但是他失败了,出现了这个错误消息- ORA-01045: user user1 lacks CREATE SESSION privilege; logon denied。
然后,我直接授予他'Create‘特权,这一次除了他已经拥有的角色之外,他还成功地连接到了数据库。
所以,我有点困惑,为什么“创建会话”通过角色授予不工作,但如果它直接授予它的工作罚款?!!
我试着在谷歌上搜索这个话题,我在Oracle帮助中心上找到了一些有趣的信息,但老实说,我没有百分之百地理解它。
发布于 2018-04-22 10:24:06
当授予默认角色时,我们必须指定角色,如果角色是默认的,数据库将在用户创建会话时自动设置该角色。
用户还可以通过使用以下命令使角色启用:
set role (role name)发布于 2022-10-03 12:44:35
您需要将该角色设置为默认角色。要做到这一点,请跑
ALTER USER DEFAULT ROLE CONNECT;如果有几个角色,那么您需要执行
ALTER USER DEFAULT ROLE ALL;https://stackoverflow.com/questions/49964615
复制相似问题