首页 > 数据库 > Oracle > Oracle23ai新特性SCHEMA级授权
Oracle23ai之前的版本,想要实现一个用户可以访问另一个用户下的所有表,需要把该用户下所有的表的访问权限依次授权给该用户。这一方式存在的问题是,每当源端用户新创建一个表时,还需要额外地给相关用户做授权。
Oracle 23ai的SCHEMA级授权特性较简单易用的解决了以上问题。通过把SELECT ANY TABLE ON SCHEMA给到另外一个用户,来将原始用户查询的任何权限给到新的用户。
用户TESTUSER的表及查询信息:
以下为常见用户授权命令
GRANT connect, resource TO test_user;
GRANT dba TO test_user;
GRANT create session TO test_user;
SELECT * FROM user_sys_privs; -- 当前用户系统权限
CREATE role my_role;GRANT create session TO my_role;GRANT my_role TO test_user;
TESTUSER@FREEPDB1> select tname from tab;
TNAME
--------------------------------------------------------------------------------
PERSONNEL
T_MULTIROWS
T_IDENTITY
TESTUSER@FREEPDB1> select * from T_MULTIROWS;
ID INFONAME
---------- ------------------------------
1 oracle23c
2 oracle23ai
3 mysql8.4
TESTUSER@FREEPDB1> select * from T_IDENTITY;
ID NAMEINFO SYSGUID
---------- ------------------------------ ------------------------------------
1 generated by 18EFA5E23DDC0BA1E063E650A8C05A76
2 DEFAULT 18EFA5E23DDD0BA1E063E650A8C05A76
3 AS identity 18EFA5E23DDE0BA1E063E650A8C05A76
4 values meger 18EFA5E23DE10BA1E063E650A8C05A76
5 table_ddl 18EFA5E23DE00BA1E063E650A8C05A76
7 table 18EFA5E23DE20BA1E063E650A8C05A76
8 expressions 18EFA5E23DE30BA1E063E650A8C05A76
7 rows selected.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26342786/viewspace-3105390/ ,如需转载,请注明出处,否则将追究法律责任。