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

(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. WPF的项目,ListBox 纵向滚动条不显示

    最近在做WPF的项目,ListBox 纵向滚动条不显示,但是鼠标滚轮可以在ListBox中使用,但是必须要出现纵向滚动条.  索性就直接在listBox外面包裹一个ScrollViewer. Scro ...

  2. java常用API之System类

    System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象.System类中的都是static方法,类 ...

  3. H5插入视频兼容主浏览器

    插入视频的方法有很多种,但是有一些方法不兼容. 方法1:DW插入视频利用DW插入的视频为flv格式,操作较简单,但是代码复杂,需要浏览器支持flash插件:火狐浏览器需要手动下载flash插件,比较麻 ...

  4. 002Angular2工程目录解构

    |--my-app 工程名 |--e2e 端到端测试 |--node_modules package.json列出的第三方模块放在此处 |--src |--app |--app.component.c ...

  5. Java操作Mongodb(转载)

    好文章,值得收藏 HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序. 首先,要通过Java操作Mo ...

  6. SpannableString与SpannableStringBuilder使用

    转自:http://blog.it985.com/14433.html1.SpannableString.SpannableStringBuilder与String的关系 首先SpannableStr ...

  7. 《ArcGIS Runtime SDK for Android开发笔记》——(15)、要素绘制Drawtools3.0工具DEMO

    1.前言 移动GIS项目开发中点线面的要素绘制及编辑是最常用的操作,在ArcGIS Runtime SDK for iOS 自带AGSSketchLayer类可以帮助用户快速实现要素的绘制,图形编辑. ...

  8. hibernate 一览表

  9. C#使用Process类杀死进程,执行命令等

    c#之process类相关整理 一.根据进程名获取进程的用户名? 需要添加对 System.Management.dll 的引用 using System.Diagnostics; using Sys ...

  10. Struts2的学习-属性驱动和模型驱动

    1.新建空项目,并托管到码云 2.设立maven 3.设置pom.xml 4.建包 5.在java包里建立两个类 package com.nf.entity; public class User { ...