数据库控制语言的功能室控制用户对数据库的存取权限。

用户对某类数据具有何种操作权限是有DBA决定的。Oracle

通过GRANT语句完毕权限的授予,通过REVOKE语句完毕对权限的收回。

权限分为系统权限和对象权限。系统权限是对于数据库的权限。对象权限是操作数据库对象的权限。

创建用户

基本的语法:

CREATE USER user_name

IDENTIFIED BY   password;

在用户创建成功之后,系统管理员DBA会赋予用户一些权限,来完毕对应的操作。

不具有某些操作权限的用户,是无

法完毕操作的。

例:创建用户test ,password:test001

create user test

identified by test001

可是让使用上面创建的用户和password进行登录时确无法登录成功。

由于该没用没有create session 权限。

要授予该权限则要使用grant语句。

授予权限

基本的语法:

GRANT  权限1 ,权限2。... TO  user_name ;

应用程序开发人员。一般应该具有下面权限:

CREATE SESSION(创建会话)
CREATE TABLE(创建表)
CREATE SEQUENCE(创建序列)
CREATE VIEW(创建视图)
CREATE PROCEDURE(创建过程)

例:给test用户授予创建会话权限。

grant create session to test ;

将create session 赋予用户之后,就能够正常的与数据库连接了。表示已经创建了一个session 会话。此时假设该用

户要创建表。序列。视图,则要授予上面的所有权限。

在授予了create table 的权限之后。还是无法创建表的,由于

此时是没有表空间。还要分配表空间才干创建表。

上面的操作还是比較的繁琐的。事实上能够把多个权限封装成一个角色,在把该角色赋予给用户。

角色

创建角色:

CREATE ROLE  testrole ;

为角色赋予权限:

GRANT  CREATE TABLE , CREATE VIEW TO testrole ;

将角色授予用户:

GRANT testrole TO test ;

Oracle 中提供了两个基本的角色:CONNECT ,RESOURCE 。能够直接将这个两个角色授予给用户。

改动用户password

基本的语法

ALTER USER user_name

IDENTIFIED BY new_password ;

来改动password。

分配对象权限

       不同的对象具有不同的对象权限,对象的拥有者拥有全部权限。对象的拥有者能够向外分配权限。

基本的语法:
GRANT 操作 ON 其它用户.表名 TO 用户 

例:假设test用户想要訪问scott用户下的emp表。并进行查询、删除。则要取得訪问该表的权限。

GRANT select , delete ON scott.emp TO  test ;

此时test用户,便能够对emp表进行查询和删除操作 了 。

WITH GRANT OPTION 和PUBLIC keyword。with grant option 是被授权的用户还可将获得的权限在授给其它

的用户。public 是为全部的用户都分配权利。

回收权限

基本的语法

rovoke  权限 on 用户.表名称 from 用户 ;

例:回收test用户获得查询和删除权限

revoke select ,delete on scott.emp from test ;

除了使用语句创建权限之外。也能够直接在Enterprise  Manager  console 下进行创建。不在赘述。

Oracle 学习笔记 13 -- 控制用户权限的更多相关文章

  1. Oracle学习笔记之七(用户管理、角色与权限、导入导出等)

    下面这些基本的SQL语句应该熟悉,能够灵活运用.最好在不查资料的情况下,能够写出如下的任何代码. 1. 用户操作 --create user username identified by passwo ...

  2. oracle学习笔记一:用户管理(1)简单的命令

    1,打开操作界面 我们在安装好oracle后可以在两个地方打开要操作的界面.请看图一: 或者在运行窗口输入sqlplus.其实这里也是调用了bin下面的sqlplus.exe. 在打开dos命令行窗口 ...

  3. oracle学习笔记一:用户管理(3)用户口令管理

    当某个用户不断的尝试密码进行登录数据库是很危险的,因此对密码(口令)的管理十分重要.好在我们可以限制登录次数,超过某些次数的登录将会把用户锁住,隔一段时间才允许其登录,这和你的手机是不是有点一样,你的 ...

  4. oracle学习笔记一:用户管理(2)创建删除用户

    本文主要介绍如何创建和删除用户,当然里面牵涉很多知识,慢慢道来. 1,创建用户 需求:假设你是oracle管理员,当一个同事入职,你需要分配给一个账号. 创建用户,一般需要有相应权限的用户才可以创建用 ...

  5. Prometheus监控学习笔记之Grafana用户权限分组

    Grafana有账户分权和管理功能,不过和一般的账户分权管理操作不一样.Grafana通过admin账户建立organization,在不通的org内配置数据源和用户,用户隶属于不通的org,只能看到 ...

  6. Oracle系列十五 控制用户权限

    权限 数据库安全性 --系统安全性 --数据安全性 系统权限: 对于数据库的权限 对象权限: 操作数据库对象的权限 系统权限 超过一百多种有效的权限 数据库管理员具有高级权限以完成管理任务,例如: 创 ...

  7. Linux学习笔记13-用户和组

    操作系统通过用户.组概念来管理使用计算机的人 用户代表一个使用计算机的使用者,操作系统通过用户概念限制一个使用者能够访问的资源 组用来组织管理用户 用户具有以下概念: 每个用户有一个用户名和一个用户I ...

  8. oracle控制用户权限命令

    ORACLE控制用户权限: 首先使用系统中的拥有DBA权限的账号(system)登录: 一.创建用户: 1.DBA使用creater user语句创建用户: --创建登录用户名为:user01,密码为 ...

  9. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

随机推荐

  1. Android 中View的绘制机制源代码分析 二

    尊重原创:http://blog.csdn.net/yuanzeyao/article/details/46842891 本篇文章接着上篇文章的内容来继续讨论View的绘制机制,上篇文章中我们主要解说 ...

  2. [HDU 5542] The Battle of Chibi

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5542 [算法] 树状数组优化DP [代码] #include<bits/stdc++.h&g ...

  3. SpringBoot(八) Spring和消息队列RabbitMQ

    概述 1.大多数应用中,可以通过消息服务中间件来提升系统异步能力和拓展解耦能力. 2.消息服务中的两个重要概念:消息代理(Message broker)和目的地(destination) 当消息发送者 ...

  4. OracleRef游标

    提到个思考:怎样让游标作为参数传递? 解决这个问题就需要用到 REF Cursor . 1,什么是 REF游标?  动态关联结果集的临时对象.即在运行的时候动态决定执行查询.   2,REF 游标有什 ...

  5. Codeforces Round #487 (Div. 2) C. A Mist of Florescence 构造

    题意: 让你构造一个 n∗mn*mn∗m 矩阵,这个矩阵由 444 种字符填充构成,给定 444 个整数,即矩阵中每种字符构成的联通块个数,n,mn,mn,m 需要你自己定,但是不能超过505050. ...

  6. oracle中nvl函数用法

    1.返回两个字段中非空字段的值,第一个字段非空,返回第一个字段的值,第二个字段值为null,则返回第二个字段的值,如果都为null 则返回null. select nvl(a,b) from tabl ...

  7. MyEclipse背景与字体大小和xml文件中字体大小调整

    1.打开window / Preference,弹出Preference面板 2.展开General标签,选中Editors选项,展开. 3.选中 Text Editors,右边出现TestEdito ...

  8. XPATH怎么获取TITLE中有中文的标签

    定位 //*[@id="kkpager"]/div[1]/span[1]/a[@title="下一页"] 获取元素 txt4 = txt.xpath('//*[ ...

  9. 解决utf8' codec can't decode byte 0xe5 in position 0: unexpected end of data

    使用unicode对象的话,除了这样使用u标记,还可以使用unicode类以及字符串的encode和decode方法. unicode类的构造函数接受一个字符串参数和一个编码参数,将字符串封装为一个u ...

  10. django-8-django模型系统

    <<<表关系实现>>> 1.OneToOne  models.OneToOneField('another_table', on_delete=models.CAS ...