Oracle 11g中的角色授权是否已更改?

Pet*_*ang 0 oracle roles grant oracle11g ora-01045

我试图CONNECT通过角色授予用户:

CREATE ROLE my_role IDENTIFIED BY "passwd";
GRANT CONNECT TO my_role;

CREATE USER my_user IDENTIFIED BY "passwd";
GRANT my_role TO my_user;
Run Code Online (Sandbox Code Playgroud)

当我在10g中尝试这个时它工作正常,而在11g登录时被拒绝:

ORA-01045:user MY_USER lacks CREATE SESSION privilege; logon denied

授予CREATE SESSION角色并没有什么不同.
我只能在直接授予CONNECT(或CREATE SESSION)用户后登录.

Oracle是否改变了这种行为,或者我做错了什么?

Ada*_*sch 6

我想你可能已经获得了10g的安全"功能".我阅读11g SQL参考和安全指南的方式表明,启用密码的角色需要使用SET ROLE my_role IDENTIFIED BY passwd该角色授予的任何权限才有效.

你不能CREATE SESSION,直到你的角色,你不能有作用,直到发出SET ROLE.

第二十二条军规.