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;
相关推荐
廿一夏1 天前
MySql存储引擎与索引
数据库·sql·mysql
lzhdim1 天前
SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题
数据库·sql
瀚高PG实验室1 天前
瀚高企业版V9.1.1在pg_restore还原备份文件时提示extract函数语法问题
数据库·瀚高数据库
TDengine (老段)1 天前
TDengine Tag 设计哲学与 Schema 变更机制
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
YOU OU1 天前
Spring IoC&DI
java·数据库·spring
Muscleheng1 天前
Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
数据库·postgresql
罗超驿1 天前
18.事务的隔离性和隔离级别:MySQL面试高频考点全解析
数据库·mysql·面试
jran-1 天前
Redis 命令
数据库·redis·缓存
小江的记录本1 天前
【Java基础】Java 8-21新特性:JDK21 LTS:虚拟线程、模式匹配switch、结构化并发、序列集合(附《思维导图》+《面试高频考点清单》)
java·数据库·python·mysql·spring·面试·maven
June`1 天前
多线程redis下如何解决aof重写和rdb持久化的数据一致性问题
数据库·redis·缓存