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

用户对某类数据具有何种操作权限是有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进阶之旅------>android Button上面的英文字符串自己主动大写的问题解决

    今天碰到一个关于Button的问题:android Button上面的英文字符串会自己主动变成大写,执行的Android 5.1版本号,例如以下图所看到的: 图1:Button 图2:TextView ...

  2. 23.QFile遍历

    #include "mainwindow.h" #include <QApplication> #include <QDebug> #include < ...

  3. User_Login_Register_Shopping 1.0

    #!/usr/bin/env python# -*- coding: utf-8 -*-# @File : user_login_register_shopping.py# @Author: Anth ...

  4. DirectUI界面编程(三)从XML文件中加载界面

    Duilib支持xml界面布局,使得界面设计与逻辑处理相分离,本节介绍如何从xml文件中加载界面元素. 我们需要以下几个步骤: 创建并初始化CPaintManagerUI对象. 创建CDialogBu ...

  5. php--方便好用的函数

    在写代码的时候经常会遇见各种各样的问题,感觉需要写函数解决,其实php中已经给出指定函数了.这些函数就需要我们日常去了解记忆. 1.获取指点年份中某月的天数 cal_days_in_month() & ...

  6. 设置mySql的编码方式为utf-8

    检查命令: mysql> show variables like '%char%'; 期望结果: 使用mysql命令设置: 如果仍有编码不是utf8的,请检查配置文件,也可使用mysql命令设置 ...

  7. Spark 代码走读之 Cache

    Spark是基于内存的计算模型,但是当compute chain非常长或者某个计算代价非常大时,能将某些计算的结果进行缓存就显得很方便了.Spark提供了两种缓存的方法 Cache 和 checkPo ...

  8. 池(Pool)

    #1 就是一个资源的集合,用的时候按照你的需要去取,用完了给人家放回去 #2 学编程的时候,老师给我们的解释过池的意思,大概是: 如果你喝水,你可以拿杯子去水龙头接.如果很多人喝水,那就只能排队去接. ...

  9. HDU 5912 Fraction

    题目来源:2016 CCPC 长春站 题意:青蛙先生想计算一个式子的值,输入两个数列a[],b[]求出最后的分子和分母 思路:一开始看到这个图片首先想到的是递归实现,递归部分始终计算的是右下部分 /* ...

  10. [USACO18JAN] Lifeguards S (线段树:扫描线面积)

    扫描线裸题没什么好说的 注意空间不要开小了!!! #include <cstdio> #include <cstring> #include <algorithm> ...