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

用户对某类数据具有何种操作权限是有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. 【iOS开发-68】APP下载案例:利用tableView自带的cell布局+缓存池cell复用时注意button状态的检查

    (1)效果 (2)源码与资源下载 http://pan.baidu.com/s/1pJLo2PP (3)总结 --核心是利用UITableView里面自带的cell来制作样式同样的cell. 与之对应 ...

  2. NFS的搭建(sudo apt-get install nfs-kernel-server),TFTP服务器(sudo apt-get install tftpd-hpa tftp-hpa)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Osean_li/article/details/53240705 ***************** ...

  3. [jzoj 5661] 药香沁鼻 解题报告 (DP+dfs序)

    interlinkage: https://jzoj.net/senior/#contest/show/2703/0 description: solution: 注意到这本质就是一个背包,只是选了一 ...

  4. OC中的类扩展

    类扩展 是在原有类的基础扩展一个新的属性和对象方法 但是方法的实现还是要写在原有的声明中,不然是不会被访问到的 类扩展可以扩展在新的头文件中,然后在主函数中导入. 利用类扩展可以变相的实现属性的私有化 ...

  5. ROS-SLAM-自主导航

    前言:无. 前提:已下载并编译了相关功能包集,如还未下载,可通过git下载:https://github.com/huchunxu/ros_exploring.git 一.启动仿真环境 cd ~/ca ...

  6. 构建工具系列二--Grunt

    本文地址: http://www.cnblogs.com/blackmanba/p/frontend-scaffold-grunt.html或者http://forkme.info/frontend- ...

  7. DB2查看表空间和增加表空间容量

    Db2 connect to xxx Db2 “LIST TABLESPACES SHOW DETAIL” Tablespace ID = 7 Name = TSASNAA Type = Databa ...

  8. Could not Open Install.Log File解决方法

    很多时候我们使用控制面板卸载软件会遇到could not open install.log file的报错,最近我也遇到了一次.之前遇到这样的问题,很多人都会选择直接删除软件安装目录和快捷方式等等.这 ...

  9. set 集合————两个数组的交集

    class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int& ...

  10. Java之Object类

    0 引言 Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类.Object类是Java中唯一没有父类的类. 其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法 ...