在数据库中,表是我们接触得最多的数据库对象,接下来对与表有关的系统权限与对象权限做一个小结。

(1)与表有关的系统权限

CREATE TABLE 在当前Schema中创建、删除、修改表。
SELECT ANY TABLE 查询数据库中的任何表
ALTER ANY TABLE 更改数据库中的任何表
DROP ANY TABLE 删除数据库中的任何表

还有许多关于表的系统权限,这里不在一一列出,值得注意的是CREATE TABLE权限,它允许在当前Schema中创建table,同时,也赋予它了一些隐形的权限信息,例如:DROP TABLE、ALTER TABLE等,其实,用户对自己Schema下的对象拥有任何权限。

(2)与表有关的对象权限

首先我们要明确什么是对象权限?对象权限是指对某个特定Schema对象的操作权限。数据库Schema对象所有者拥有该对象的所有对象权限,所以对象权限的管理实际上是对象所有者对其它用户操作该对象的权限管理。

[个人犯错]:由于对对象权限的概念不够清晰,今天在处理用于数据库接口的Schema中的对象权限时,直接在当前Schema中赋予对象权限,结果去查询对象权限时,发现并没有对于的权限被赋予,通过查看资料,才知道用户对自己Schema中的对象具有任何权限,所以,不能直接将该用户移交给其它系统的开发者,正确的做法是再创建一个新的用户,用来查看接口Schema中的数据信息。

ALTER 修改表的定义
DELETE 删除表中数据
DEBUG 调试定义在该表上的触发器,调用引用该表的SQL语句
INDEX 在表上创建索引
INSERT 在表中插入数据
REFERENCES 引用该表中的列以在其它表中创建外键约束
SELECT 查询表
UPDATE 更新表中数据

对象权限的授予语法:

GRANT object_privilege_list | ALL [PRIVILEGE] [(column,...)]   --以往都是直接赋予表权限,通过这里也可以看出,可以单独为列赋予对象权限
ON [Schema.]object
TO user_list|role_list|PUBLIC [WITH GRANT OPTION];

[Oracle]Oracle表权限小结的更多相关文章

  1. oracle建表权限问题和JSP连接oracle数据库基本操作

    JSP连接oracle数据库相关操作 1.创建表 打开Enterprise Manager Console,为用户添加权限CREATE ANY TABLE和分配一定的表空间USERS限额1024k. ...

  2. oracle 分配表权限给用户的写法

    grant select on xxxx.xxxxx_TB to sb;grant select on xxxx.xxxxxx_tb to sb;

  3. Oracle 一个用户将表权限赋给另一个用户

    原文地址:https://blog.csdn.net/u012129031/article/details/76218764 1.将用户user1的表权限赋给用户user2 select   'gra ...

  4. 赋予oracle执行存储过程权限和创建表权限

    grant create any table to username; grant create any procedure to username; grant execute any proced ...

  5. ORACLE添加新用户并配置权限 添加其他用户的表权限

    添加用户配置权限 1.查出表空间所在位置 ,file_name from dba_data_files order by file_id; 2.根据步骤1查出的路径.将路径替换掉并指定用户名 路径:D ...

  6. Oracle管理表空间和数据文件详解

    介绍 表空间是数据库的逻辑组成部分 从物理上将:数据库数据存放在数据文件中 从逻辑上将:数据库则是存放在表空间中 表空间由一个或是多个数据文件组成 数据库的逻辑结构 介绍: Oracle中逻辑结构包括 ...

  7. Oracle的表锁死以及解锁

    Oracle的表锁死以及解锁 oracle 查看锁死的表,锁死的进程. select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_na ...

  8. 如何利用Oracle外部表导入文本文件的数据

    同事最近在忙数据一致性比对工作,需要对不同文本文件中的数据进行比对,有的文件较大,记录较多,如果用普通的文本编辑器打开的话,很显然,会很卡,甚至打不开. 基于此,可将该文本文件的数据导入到数据库中,在 ...

  9. ORACLE外部表总结

    外部表介绍 ORACLE外部表用来存取数据库以外的文本文件(Text File)或ORACLE专属格式文件.因此,建立外部表时不会产生段.区.数据块等存储结构,只有与表相关的定义放在数据字典中.外部表 ...

随机推荐

  1. Python3.4 获取百度网页源码并保存在本地文件中

    最近学习python 版本 3.4 抓取网页源码并且保存在本地文件中 import urllib.request url='http://www.baidu.com' #上面的url一定要写明确,如果 ...

  2. Sql server 操作笔记

    (1)更改字段类型 (2)添加字段 alter table class add InKinDate intEXECUTE sp_addextendedproperty N'MS_Description ...

  3. CSP学习之CryptoAPI初识

    Crypto API目的就是提供开发者在windows下使用PKI的编程接口. Crypto 提供了很多的加解密相关函数,如编码.解码.加密解密,哈希,数字证书.证书管理证书存储等.       有关 ...

  4. 今日头条极速版邀请码以及其它APP邀请码大全

    现在大多手机新闻APP都需要输入码,在网上找了很久,最终找到一个比较全的文章,本人试过,都是可以使用的! 第1个比较好,可边看新闻,边收益!嘻嘻!平时写代码累了,休息刷一下!或者在睡觉前刷新一下,每天 ...

  5. myeclipse 2014 闪退问题解决

    1.删掉Workspace下面的  \.metadata\.plugins\org.eclipse.core.resources一整个文件夹 2.删掉Workspace 下面的 \.metadata\ ...

  6. C/C++:函数的调用约定(Calling Convention)和名称修饰(Decorated Name)以及两者不匹配引起的问题

    转自:http://blog.csdn.net/zskof/article/details/3475182 注:C++有着与C不同的名称修饰,主要是为了解决重载(overload):调用约定则影响函数 ...

  7. Flask环境github及项目部署(十三)

    (1) github项目搭建 1 连接GitHub hostnamectl set-hostname flask-dev # 设置 hostname,一般是主机名可以不更改 ssh-keygen # ...

  8. jquery-tags-input 使用经历

    源代码里有这么一段,是在tagsInput这里,第一次初始化的时候是正常的,但当第二次初始化的时候就会出现问题,id的值会组合为  id+new Date().getTime() 暂时不清楚作用是什么 ...

  9. day014-反射、注解

    1. Junit 1.1什么是Junit Junit是Java语言编写的第三方单元测试框架(工具). 1.2单元测试 在Java中,一个类就是一个单元. 单元测试:开发中编写的一小段代码,用来检测类中 ...

  10. (二)selenium元素定位

    selenium定位方法 Selenium提供了8种定位方式. id name class name tag name link text partial link text xpath css se ...