创建账户
- 拿到一个比较高权限的账号,最好是管理员的,创建用户
sql
CREATE USER new_user IDENTIFIED BY password;
赋予登录权限
此时用户已经有了,但是还要赋予登录权限
sql
GRANT CREATE SESSION TO new_user;
赋予一个表的查询权限
sql
GRANT SELECT ON employees TO new_user;
赋予所有表的查询权限
sql
GRANT SELECT ANY TABLE TO new_user;
取消所有表的查询权限
sql
REVOKE SELECT ANY TABLE FROM new_user;
取消一个表的查询权限
sql
REVOKE SELECT ON employees FROM new_user;
查询
- 因为表隶属的用户不同,所以需要加前缀
- 确保在授权时,表名和用户名是正确的。
- 如果C##BIGSCREEN需要访问C##DCP下的多个表,你需要为每个表重复执行授权命令,或者考虑使用角色来集中管理权限。
- 如果实例(orcl)有特定的安全策略或配置,也需要考虑这些因素可能对权限授予产生的影响。
- 通过上述步骤,C##BIGSCREEN用户应该能够看到并访问C##DCP用户下的表。
sql
SELECT * FROM C##DCP.example_table;