Oracle23ai新特性SCHEMA级授权

来源:这里教程网 时间:2026-03-03 22:58:17 作者:

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.

相关推荐