创建一个只读用户user2,只能查询管理员用户user1下的表,不能增删改。

操作环境:PL/SQL Developer

1、用管理员用户user1登录,创建用户user2、并授权

--创建用户user1,密码123456

create user user2 identified by 123456;

--授权

grant connect to user2;

grant create synonym to user2;

grant create session to user2;

2、授予user2的查询表权限:复制下面的查询结果,执行

select 'grant select on '||owner||'.'||object_name||' to user2;'

from dba_objects

where owner in ('USER1')

and object_type='TABLE';

3、为user2创建同义词:复制下面的查询结果,执行

select 'create or replace SYNONYM user2.' || object_name|| ' FOR ' || owner || '.' || object_name|| ';'

from dba_objects

where owner in ('USER1')

and object_type='TABLE';

测试:

用user2登录数据库,查询正常,增删改提示没有权限。

PostgreSQL数据库创建只读用户总结

好久没有弄,有点忘了,今天有客户问这个问题,发现几个SQL还解决不了,于是总结一下: --以超级用户登录数据库,创建用户: postgres=# create user test_read_only ...

oracle 数据库创建用户并授权

oracle 数据库创建用户并授权 备注: userName 为用户名,123456 为密码 drop user userName cascade; create user userName iden ...

oracle 12c 创建PDB用户即Local User (PDB与CDB)

Oracle 12C用户创建与表空间分配  数据库安装完成后,首先用系统用户链接数据库容器(CDB), 在数据库容器(CDB)中创建表空间‘imei’ SQL>create tablespace ...

Azure SQL Database (25) Azure SQL Database创建只读用户

本文将介绍如何在Azure SQL Database创建只读用户. 请先按照笔者之前的文章:Azure SQL Databa ...

Oracle 数据库创建导入

Oracle 数据库创建导入 由 Alma 创建, 最后一次修改 2018-06-04 14:37:50 在本章教程中,将教大家如何在Oracle 中创建导入数据库. 注意:本教程中的有些命令您可能并 ...

Oracle数据库创建表是有两个约束带有默认索引

Oracle数据库创建表是有两个约束带有默认索引.1.主键primary Key:唯一索引.非空2.唯一Unique:唯一索引,可以是空值如果没有设定主键和唯一约束,表中不会有默认索引的. 建立主键/ ...

Linux oracle数据库创建表空间、用户并赋予权限

管理员用户登录oracle数据库 1.创建临时表空间 select name from v$tempfile;查出当前数据库临时表空间,主要是使用里面的存放路径: 得到其中一条记录/opt/oracl ...

随机推荐

接口(Java)

什么是接口:接口就是一些方法特征的集合,接口是对抽象的抽象. 在java语言中,接口有两种意思: ①概念性的接口,即系统对外提供的所有服务 ②指用interface关键字定义的接口,也称为接口类型 特 ...

[vsftp]500 OOPS: cannot change directory

这个报错需要检查 1./etc/passwd 用户的主目录 2./etc/vsftpd/vuser_conf 下每个用户的local_root 3.每个用户目录给ftpuser加上rwx权限,一定要有 ...

hdu 4937 Lucky Number

虽然算法清晰的不能再清晰,但是实现总是边角料错这错那. 题目大意: 给出n,找出一些进制,使得n在该进制下仅为3,4,5,6表示 解题思路: 首先,4-10000进制直接枚举计算出每一位 此外,最多只 ...

类 ArrayBlockingQueue<E>(一个由数组支持的有界阻塞队列。)

类型参数: E - 在此 collection 中保持的元素类型 所有已实现的接口: Serializable, Iterable, Collection, Blo ...

普林斯顿大学算法课 Algorithm Part I Week 3 排序算法复杂度 Sorting Complexity

计算复杂度(Computational complexity):用于研究解决特定问题X的算法效率的框架 计算模型(Model of computation):可允许的操作(Allowable oper ...

react-router 学习笔记

前言: 本文为个人学习react-router的总结.包括路由基础配置,跳转,权限管理,组件与路由配置的关系,代码分割.欢迎交流指导. 一.路由基础 1.路由配置 & 显示路由组件的view( ...

算法训练 K好数

算法训练 K好数   时间限制:1.0s   内存限制:256.0MB 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数 ...

python 学习 argparse

1. argparse python 中用于解析命令行参数和选项的标准模块 创建一个解析器对象,解析器类ArgumentParser add_argument() 方法用来指定程序接受那些命令行参数, ...

2016年3月9日Android实习日记

1. 解决 org.eclipse.swt.SWTException: Graphic is disposed 问题. 参考:http://www.xuebuyuan.com/1896964.html ...

ef linq 中判断实体中是否包含某集合

我有一个需求,问题有很多标签,在查询时,需要筛选包含查询标签的一个集合(List),以前的做法是先查询出来符合查询标签条件的标签id的结果集A,再查询问题时,加上判断是否包含该标 ...

更多推荐