oracle grant select any table,select any table的测试
近期,生产的测试系统需要读取实际数据,为了区分用户,做了如下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的测试相关推荐
- 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 ...
- IE6/7/8/9中Table/Select的innerHTML不能赋值
IE6/7/8/9中Table/Select的innerHTML赋值会报错,如下 <!DOCTYPE HTML> <html> <head><meta cha ...
- Statement violates GTID consistency: CREATE TABLE ... SELECT.
1.情况描述 在执行sql:create table table_a_copy as select * from table_a 时,发现sql执行后,并未生成新的表,而是提示Statement v ...
- MYSQL:Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.
这是因为在5.6及以上的版本内,开启了 enforce_gtid_consistency=true 功能导致的,MySQL官方解释说当启用 enforce_gtid_consistency 功能的时候 ...
- Arcgis ToolBox学习之二——Extract之select与Table Select
学习记录二: toolbox-Analysis-Extract-select 其实这个工具没什么好说的,和使用下图中的by attribute再导出的结果是一样的 至于table select是将某一 ...
- mysql create table as select from_MySQL不能用create table as select 的原因
1.新表不会自动创建创建和原表相同的索引. 2.一个事务中混合了事务和非事务语句.它会提交当前和未完成的事务. 例如,该例子中,第2个update未执行成功,会导致第1个update回滚,但是其中的C ...
- mysql select table_MySQL中的CREATE TABLE……SELECT语句
在MySQL中,可使用CREATE TALBE. . .SELECT语句将查询结果转存到一个新表中. 创建新表 create table tabname(col1 type1 [not null] [ ...
- Oracle数据库-第一章:select语句,数据查询操作
前言: 1.一个认知 认知什么是oracle? oracle:商业运用第一的关系型数据库 实质:关系型数据库 了解oracle数据库发展历史(文档) 2.二个概念 数据库:数据存储的仓库 关系型数据库 ...
- 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 ...
- oracle索引组织表(Index Organizied Table)
索引组织表(index organized table, IOT)就是存储在一个索引结构中的表.存储在堆中的表是无组织的(也就是说,只要有可用的空间,数据可以放在任何地方),IOT中的数据则按主键存储 ...
最新文章
- python叫什么语言-Python代码是什么语言
- 【组合数学】生成函数 简要介绍 ( 生成函数定义 | 牛顿二项式系数 | 常用的生成函数 | 与常数相关 | 与二项式系数相关 | 与多项式系数相关 )
- 2D 游戏引擎 AlloyGameEngine
- 使用随机数以及扩容表进行join代码
- Class的getName、getSimpleName与getCanonicalName的区别
- Html跨页面调用函数,一个cshtml如何在另一个cshtml中调用一个函数?
- python练手经典100例-Python入门练手100例
- 【Java例题】7.5	文件题2-学生成绩统计
- Python:threading(多线程操作)(转载)
- 登录界面软键盘遮挡登入按钮 空间
- 完整的40页UI/UX作品集展示、简历模板、面试模板
- 均匀分布取某一点概率_统计概率思维
- 【建站笔记】:在wordpress博客文章中插入代码段并高亮显示
- python中for c in s是什么意思_以下程序s=3for c in Python:s=s+2print(s)的输出结果是:()...
- Electron屏幕截图的技术方案MacWindows
- CANoe.DiVa 操作指南 - DTC自动化测试
- 2020深圳计算机职称考试,2019年深圳市职称考评专业知识考试报名时间
- 融资性担保公司VS非融资性担保公司
- 一步一步学linux操作系统: 21 内存管理_小内存分配与页面换出
- 爬虫——百度图片爬取