近期,生产的测试系统需要读取实际数据,为了区分用户,做了如下select any Table系统权限的测试

--1.用户test有表T1

TEST@ORA10G>desc t

Name                                                              Null?    Type

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

OWNER                                                                      VARCHAR2(30)

OBJECT_NAME                                                                VARCHAR2(128)

SUBOBJECT_NAME                                                             VARCHAR2(30)

OBJECT_ID                                                                  NUMBER

DATA_OBJECT_ID                                                             NUMBER

OBJECT_TYPE                                                                VARCHAR2(19)

CREATED                                                                    DATE

LAST_DDL_TIME                                                              DATE

TIMESTAMP                                                                  VARCHAR2(19)

STATUS                                                                     VARCHAR2(7)

TEMPORARY                                                                  VARCHAR2(1)

GENERATED                                                                  VARCHAR2(1)

SECONDARY                                                                  VARCHAR2(1)

--2. 创建用户test1,授予create session的权限

SYS@ORA10G>create user test1 identified by test1;

User created.

SYS@ORA10G>grant create session to test1;

Grant succeeded.

--3. 测试用户test1是否可以访问test用户下的t表

TEST1@ORA10G>select count(*) from test.t;

select count(*) from test.t

*

ERROR at line 1:

ORA-00942: table or view does not exist

--4. 授予test1用户select any table的系统权限并测试

SYS@ORA10G>grant select any table to test1;

Grant succeeded.

--发现test1用户可以访问test用户下的t表

TEST1@ORA10G>select count(*) from test.t;

COUNT(*)

----------

405720

--5. 测试是否可以访问test用户下的视图

--创建视图

TEST@ORA10G>create view v_t as select * from t;

View created.

--test1也可以访问test用户下的视图

TEST1@ORA10G>select count(*) from test.v_t;

COUNT(*)

----------

405720

--6. 测试同义词(用户需要有create pubilc synonym 的系统权限)

TEST@ORA10G>create or replace public synonym t for test.t;

Synonym created.

TEST1@ORA10G>select count(*) from t;

COUNT(*)

----------

405720

--能够实现此过程的前提是:test1用户下,不能拥有同名的对象t;且test1用户需要具有select any table的权限;

--需要给应用连接用户create public synonym的权限;

不知道思路是否正确,有待验证~~

oracle grant select any table,select any table的测试相关推荐

  1. Oracle - SELECT 1 FROM table; SELECT COUNT(1) FROM table;

    SELECT 1 SELECT 1 FROM table SELECT anyColumn FROM table SELECT * FROM table 效率上:1 > anyColumn &g ...

  2. IE6/7/8/9中Table/Select的innerHTML不能赋值

    IE6/7/8/9中Table/Select的innerHTML赋值会报错,如下 <!DOCTYPE HTML> <html> <head><meta cha ...

  3. Statement violates GTID consistency: CREATE TABLE ... SELECT.

    1.情况描述 在执行sql:create table table_a_copy  as select * from table_a 时,发现sql执行后,并未生成新的表,而是提示Statement v ...

  4. MYSQL:Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.

    这是因为在5.6及以上的版本内,开启了 enforce_gtid_consistency=true 功能导致的,MySQL官方解释说当启用 enforce_gtid_consistency 功能的时候 ...

  5. Arcgis ToolBox学习之二——Extract之select与Table Select

    学习记录二: toolbox-Analysis-Extract-select 其实这个工具没什么好说的,和使用下图中的by attribute再导出的结果是一样的 至于table select是将某一 ...

  6. mysql create table as select from_MySQL不能用create table as select 的原因

    1.新表不会自动创建创建和原表相同的索引. 2.一个事务中混合了事务和非事务语句.它会提交当前和未完成的事务. 例如,该例子中,第2个update未执行成功,会导致第1个update回滚,但是其中的C ...

  7. mysql select table_MySQL中的CREATE TABLE……SELECT语句

    在MySQL中,可使用CREATE TALBE. . .SELECT语句将查询结果转存到一个新表中. 创建新表 create table tabname(col1 type1 [not null] [ ...

  8. Oracle数据库-第一章:select语句,数据查询操作

    前言: 1.一个认知 认知什么是oracle? oracle:商业运用第一的关系型数据库 实质:关系型数据库 了解oracle数据库发展历史(文档) 2.二个概念 数据库:数据存储的仓库 关系型数据库 ...

  9. oracle cache keep pool,请问:alter table ……storage(buffer_pool keep) 与cache的区别

    keep 与catch 是独立的,应该是一个是池,一个是lru冷热端 SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 11月 7 10:14:17 2 ...

  10. oracle索引组织表(Index Organizied Table)

    索引组织表(index organized table, IOT)就是存储在一个索引结构中的表.存储在堆中的表是无组织的(也就是说,只要有可用的空间,数据可以放在任何地方),IOT中的数据则按主键存储 ...

最新文章

  1. python叫什么语言-Python代码是什么语言
  2. 【组合数学】生成函数 简要介绍 ( 生成函数定义 | 牛顿二项式系数 | 常用的生成函数 | 与常数相关 | 与二项式系数相关 | 与多项式系数相关 )
  3. 2D 游戏引擎 AlloyGameEngine
  4. 使用随机数以及扩容表进行join代码
  5. Class的getName、getSimpleName与getCanonicalName的区别
  6. Html跨页面调用函数,一个cshtml如何在另一个cshtml中调用一个函数?
  7. python练手经典100例-Python入门练手100例
  8. 【Java例题】7.5 文件题2-学生成绩统计
  9. Python:threading(多线程操作)(转载)
  10. 登录界面软键盘遮挡登入按钮 空间
  11. 完整的40页UI/UX作品集展示、简历模板、面试模板
  12. 均匀分布取某一点概率_统计概率思维
  13. 【建站笔记】:在wordpress博客文章中插入代码段并高亮显示
  14. python中for c in s是什么意思_以下程序s=3for c in Python:s=s+2print(s)的输出结果是:()...
  15. Electron屏幕截图的技术方案MacWindows
  16. CANoe.DiVa 操作指南 - DTC自动化测试
  17. 2020深圳计算机职称考试,2019年深圳市职称考评专业知识考试报名时间
  18. 融资性担保公司VS非融资性担保公司
  19. 一步一步学linux操作系统: 21 内存管理_小内存分配与页面换出
  20. 爬虫——百度图片爬取

热门文章

  1. Flappy bird
  2. 科普一下网络的灵魂 ACL
  3. 很全的zencart 模板修改
  4. 简述多媒体计算机的特点,多媒体课件的特点和作用
  5. 自动以管理员身份运行bat脚本
  6. 李宏毅作业十 Generative Adversarial Network生成对抗网络(代码)
  7. 基于IMDb数据集的情感分析(TF-IDF与机器学习实现)
  8. C++安装失败解决办法
  9. 硬盘分区大学计算机,电脑硬盘容量要怎么选?又要怎么硬盘合理分区?今天我再说一次!...
  10. 运动神经元病是怎么回事?