oracle创建新用户,并且只给新用户赋予查询权限

创建账户

  • 拿到一个比较高权限的账号,最好是管理员的,创建用户
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;
相关推荐
Flying pigs~~17 小时前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
misL NITL18 小时前
mysql之如何获知版本
数据库·mysql
许彰午18 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
2401_8323655219 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
2301_7796224119 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_7662834419 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
北极的冰箱19 小时前
MySQL Ver 8.0.41 for macos14.7密码遗忘
数据库·mysql
XDH_CS20 小时前
MySQL 8.0 安装与 MySQL Workbench 使用全流程(超详细教程)
开发语言·数据库·mysql
treacle田20 小时前
达梦数据库-统计信息收集-记录
数据库·达梦数据库统计信息收集
审判长烧鸡21 小时前
PostgreSQL之索引/函数/触发器
数据库·postgresql·触发器·函数·索引