关于under any table/view 权限的解释

关于under any table/view 权限的解释

用户拥有这个权限之后,对其它用户下的对象如果存在的话会显示 权限不足,而不会显示 表或视图不存在了,废话少说,直接看例子吧:

 

C:\Users\Administrator>sqlplus sys/lhr@orclasm as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 9月 10 11:10:20 2014

 

Copyright (c) 1982, 2010, Oracle. All rights reserved.

 

 

连接到:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Automatic Storage Management, OLAP, Data Mining

and Real Application Testing options

 

SQL> select * from v$version;

 

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

PL/SQL Release 11.2.0.3.0 - Production

CORE 11.2.0.3.0 Production

TNS for Linux: Version 11.2.0.3.0 - Production

NLSRTL Version 11.2.0.3.0 - Production

 

---回收scott用户的2个权限

SQL> revoke under any table from scott;

 

撤销成功。

 

SQL> revoke under any view from scott;

 

撤销成功。

 

--查看lhr用户下的表products_lhr和视图vw_tmp_lhr,不存在表ttttttt

SQL> conn lhr/lhr@orclasm

已连接。

SQL> select count(1) from lhr.products_lhr;

 

COUNT(1)

----------

0

 

SQL> select count(1) from lhr.vw_tmp_lhr;

 

COUNT(1)

----------

0

 

SQL> select * from lhr.ttttttt;

select * from lhr.ttttttt

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

 

--使用scott用户来查看lhr用户下的表products_lhr和视图vw_tmp_lhr,不存在表ttttttt

---这里的错误为 不存在

SQL> conn scott/tiger@orclasm

已连接。

SQL> select count(1) from lhr.products_lhr;

select count(1) from lhr.products_lhr

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

 

 

SQL> select count(1) from lhr.vw_tmp_lhr;

select count(1) from lhr.vw_tmp_lhr

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

 

--- 使用sys用户对scott用户授权

SQL> conn sys/lhr@orclasm

已连接。

SQL> grant under any table to scott;

 

授权成功。

 

---使用scott用户查询,错误变为了权限不足,至此大家就明白了这个权限的干啥用的了

SQL> conn scott/tiger@orclasm

已连接。

SQL> select count(1) from lhr.products_lhr;

select count(1) from lhr.products_lhr

*

第 1 行出现错误:

ORA-01031: 权限不足

 

 

SQL> select count(1) from lhr.vw_tmp_lhr;

select count(1) from lhr.vw_tmp_lhr

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

 

 

SQL> conn sys/lhr@orclasm as sysdba

已连接。

SQL> grant under any view to scott;

 

授权成功。

 

SQL> conn scott/tiger@orclasm

已连接。

SQL> select count(1) from lhr.vw_tmp_lhr;

select count(1) from lhr.vw_tmp_lhr

*

第 1 行出现错误:

ORA-01031: 权限不足

 

 

 

SQL> select * from lhr.ttttttt;

select * from lhr.ttttttt

*

第 1 行出现错误:

ORA-00942: 表或视图不存在

 

 

SQL>

 

时间: 2024-09-20 08:38:18

关于under any table/view 权限的解释的相关文章

sql: table,view,function, procedure created MS_Description in sql server

--添加描述 Geovin Du --https://msdn.microsoft.com/en-us/library/ms180047.aspx --https://msdn.microsoft.com/zh-cn/library/ms180047(v=sql.120).aspx --https://msdn.microsoft.com/zh-cn/library/ms179853(v=sql.120).aspx --为表添加描述信息 EXECUTE sp_addextendedpropert

linux中chmod命令修改权限详细解释

chmod 经常用.但是基本局限于chmod 755 a1 这样的用法.或者777. 今天遇到一个问题想,让一个文件夹仅仅自己能看,别人都不能看.不知道是几了.特意学习一下这些数字背后的意义. 语法为:chmod abc file 其中a,b,c各为一个数字,分别表示User.Group.及Other的权限. r=4,w=2,x=1 若要rwx属性则4+2+1=7: 若要rw-属性则4+2=6: 若要r-x属性则4+1=5. 比如我现在希望这个文件夹a1 只有拥有者可以看,可以改,可以执行.其他

苹果开发中segment control控制table view切换

方案一: 一个tableview,三个数据数组(一个最新,一个最热,一个指针引用),然后用segment切换来控制tableview的加载数据,切换时用reloaddata重新加载需要显示的数据.需要说明tableview加了下拉刷新的功能. 实现:功能已实现. 问题: 切换时重新加载内容,徒增性能损耗:     因为cell中有作者头像,是从互联网上加载的,因此每次重新加载tableview时都重新下载一遍头像,这对流量无端的损耗是不可饶恕的,是注定要被用户抛弃的.即使使用了异步加载,图像缓存

小麦苗BLOG文章索引

小麦苗BLOG文章索引            自从2014年7月1号开始写blog到2015年5月5日,历时10个月的时间,大概写了90篇文章,这blog多了就乱了,今天抽空出来整理整理,方便大家也方便自己阅读,本文将一直更新,另外,最后我把所有的blog文章全列出来,可能会有用.    小麦苗的所有文章:itpub文章链接-小麦苗.zip     2015年06月03日更新一次,我写的blog数量:109 篇    2015年07月03日更新一次,我写的blog数量:126 篇    2016

PostgreSQL · 特性分析 · 逻辑结构和权限体系

本文旨在帮助用户理解PostgreSQL的逻辑结构和权限体系,帮助用户快速的理解和管理数据库的权限. 逻辑结构 最上层是实例,实例中允许创建多个数据库,每个数据库中可以创建多个schema,每个schema下面可以创建多个对象. 对象包括表.物化视图.操作符.索引.视图.序列.函数.- 等等. 在数据库中所有的权限都和角色(用户)挂钩,public是一个特殊角色,代表所有人. 超级用户是有允许任意操作对象的,普通用户只能操作自己创建的对象. 另外有一些对象是有赋予给public角色默认权限的,所

使用SQL语句赋予SQL Server数据库登录用户权限

server|数据|数据库|用户权限|语句 GRANT在安全系统中创建项目,使当前数据库中的用户得以处理当前数据库中的数据或执行特定的 Transact-SQL 语句.语法语句权限: GRANT { ALL | statement [ ,...n ] } TO security_account [ ,...n ] 对象权限: GRANT    { ALL [ PRIVILEGES ] | permission [ ,...n ] }    {         [ ( column [ ,...n

使用SQL语句取消SQL Server数据库登录用户权限

server|数据|数据库|用户权限|语句 REVOKE删除以前在当前数据库内的用户上授予或拒绝的权限.语法语句权限: REVOKE { ALL | statement [ ,...n ] } FROM security_account [ ,...n ] 对象权限: REVOKE [ GRANT OPTION FOR ]    { ALL [ PRIVILEGES ] | permission [ ,...n ] }    {         [ ( column [ ,...n ] ) ]

MySQL权限的详细解答

MySQL权限的详细解答 一.权限表 mysql数据库中的3个权限表:user .db. host 权限表的存取过程是: 1)先从user表中的host. user. password这3个字段中判断连接的IP.用户名.密码是否存在表中,存在则通过身份验证: 2) 通过权限验证,进行权限分配时,按照user?db?tables_priv?columns_priv的顺序进行分配.即先检查全局权限表 user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db, tabl

oracle的权限

oracle权限分为系统权限和对象权限: 系统权限主要是指用户对系统的使用权限,如CREATE SESSION.CREATE TABLE.CREATE ANY TABLE等等,这里要特别说明下DROP TABLE不是系统权限,也没有这个权限,可能是因为oracle认为你有了CREATE TABLE的权限,默认就给你DROP TABLE.但DROP ANY TABLE这个系统权限是有的. 对象权限主要是对对象操作的权限,如select.update.insert.delete等等. 系统权限的赋权