一 操作实例

首先以system用户登录;

创建用户dog,密码为wangwang;

用dog登录,不能登录;

需要授予create session权限,才能登录;

dog登录成功;

dog创建表,不能创建;

需要授予create table权限;此时还不能创建表,因为还不能对表空间操作;再授予connect和resource;

dog创建表成功;

口令可更改;可以使密码失效;可以锁定和解锁用户;

dog登录,因为前面设置了口令失效,dog登录时可更改口令;

oracle中一个用户可访问另一个用户的表;

dog访问scott的表,出错;

还需要授权;授权后访问scott的表成功;

收回权限;

下图命令打错了;

从system用户撤销dog的权限;

用户无用可删除之;

二 Oracle用户管理

http://www.cnblogs.com/mchina/archive/2012/09/12/2678091.html

SQL语句分为三类:DML、DDL、DCL,之前已经讲解完了DML和DDL,现在就差DCL操作的,DCL主要表示的是数据库的控制语句,控制的就是操作权限,而在DCL之中,主要有两个语法:GRANT、REVOKE;

权限的操作基础是需要有用户的,而这个时候就需要通过一个新的用户进行演示,而要想创建新用户则首先必须是具备管理员权限的sys、system两个用户操作。

范例:创建一个dog用户,密码为wangwang

CONN sys/change_on_install AS SYSDBA;
CREATE USER dog IDENTIFIED BY wangwang;
此时一个新的用户就创建完成了。

注意:“ORA-00988:口令缺失或无效” 错误,这种情况通常发生于创建 Oracle 例程时指定了非正常的全局数据库名称或系统用户密码。请注意全局数据库名称不能以数字开头,口令密码也不能由数字开头。

Oracle对密码的要求如下:

系统用户(SYS、SYSTEM)口令长度不能小于7个字符;
密码由1 到 30 个字符 (characters)组成;
必须以字母开头,不能是符号或者数字;
只接受字母,数字,以及三个符号 "#", "_" and "$";
密码不能包含像"SELECT","DELETE","CREATE"这类的 Oracle/SQL 关键字;
但是此时这个新创建的用户并不能登录,会提示如下的错误信息:

ORA-01045: user DOG lacks CREATE SESSION privilege; logon denied
提示用户现在没有创建SESSION的权限,在之前曾经解释过,对于sqlplusw而言,每一个用户都表示一个SESSION,如果没有创建SESSION的权限就意味着不能登录,所以下面要授权。

范例:将CREATE SESSION的权限给dog用户

GRANT CREATE SESSION TO dog;
现在新用户登录成功之后,下面就可以执行表的创建操作。

CREATE SEQUENCE myseq;
CREATE TABLE mytab(
  id NUMBER PRIMARY KEY,
  name VARCHAR2(50)
);
解释:关于数据表的保存问题

在Oracle之中所有的数据表都是保存在硬盘上的,但不是每一张数据表都保存在硬盘上的,而是表空间保存在硬盘上,而数据表保存在表空间之中。

如果把硬盘表示成整个一个图书馆的话,那么表空间就表示每一个书柜,每一张表就表示柜子上的一本书。

范例:将创建表的权限给dog用户

GRANT CREATE TABLE TO dog;
此时只是将数据表的创建权限给了dog用户,但是并没有把表空间的操作权限给dog用户,所以用户仍然无法创建表,因为表没有地方可以保存。

为了解决用户的授权操作,在Oracle之中为用户提供了许多的角色,每一个角色会包含多个权限,而角色主要有两个:CONNECT、RESOURCE;

范例:将CONNECT和RESOURCE TO dog;

GRANT CONNECT,RESOURCE TO dog;
但是现在一旦存在了用户的操作,那么就需要有用户的管理操作,最简单的一个功能,用户有可能丢掉自己的密码。

范例:修改密码

ALTER USER dog IDENTIFIED BY miaomiao;
但是当管理员为一个用户重置一个密码之后,往往会希望用户在第一次登录的时候可以修改密码,所以此时可以通过如下的命令让密码失效:

ALTER USER dog PASSWORD EXPIRE;
也可以控制一个用户的锁定操作:

ALTER USER dog ACCOUNT LOCK;

ALTER USER dog ACCOUNT UNLOCK;
以上是针对于一个基本的用户操作,但是在之前也学习过,不同的用户可以访问其他用户的数据表,此时只需要加上完整的“用户名.表名称”即可。

范例:使用dog用户查询scott.emp表

SELECT * FROM scott.emp;
但是现在却无法查找,此时需要将scott用户的权限授予dog用户才可以让dog用户访问scott用户的资源,主要的权限有四个:INSERT、DELETE、UPDATE、SELECT。

范例:将scott.emp表的SELECT和INSERT权限给dog用户

GRANT SELECT,INSERT ON scott.emp TO dog;
既然现在有授权的功能,那么就可以进行权限的回收,权限的回收使用REVOKE指令。

范例:回收dog用户的权限

REVOKE SELECT,INSERT ON scott.emp FROM dog;
REVOKE CONNECT,RESOURCE,CREATE TABLE,CREATE SESSION FROM dog;
既然用户连权限都没了,那么按照中国的一句话:“卷铺盖走人”。

DROP USER dog CASCADE;
以上的所有操作都是由DBA负责。

图解Oracle用户管理相关推荐

  1. Oracle用户管理学习总结

    Oracle 用户管理 一.用户的概念 用户,即user,通俗的讲就是访问oracle数据库的"人".在oracle中,可以对用户的各种安全参数进行控制,以维护数据库的安全性,这些 ...

  2. oracle用户手册在哪里,Oracle用户管理常用操作参考手册

    北大青鸟软件培训-网上学院: Oracle用户管理之一.创建profile文件. SQL>Create  profile  文件名  limit      FAILED_LOGIN_ATTEMP ...

  3. mysql和oracle用户管理_五种Oracle用户的授权与管理

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用 创建和删除用户是Oracle用户管理中的常见操作,但这其中隐 ...

  4. Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理

    1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...

  5. 三、oracle 用户管理一

    一.创建用户 概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用. create user 用户名 identified by 密码 ...

  6. 第五章 ORacle用户管理(1)

    一    用户管理 (1) sys   system    (管理员)      scott   (普通用户) 前提: oracle上,假设你是oracle的管理员,当需要建立用户的时候,有你操作. ...

  7. 玩转oracle 11g(6): oracle用户管理

    oracle用户的管理 创建用户 概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用. create user 用户名 identi ...

  8. oracle 用户管理

    一.创建用户 概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用. create user 用户名 identified by 密码 ...

  9. Oracle用户管理(User|Privileges|Role)

    一.用户管理:   SYS/CHANGE_ON_INSTALL | SYSTEM/MANAGER | SCOTT/TIGER | SYSMAN/OEM_TEMP | INTERNAL/ORACLE   ...

最新文章

  1. [转]springmvc常用注解标签详解
  2. django设置cookie和session
  3. Celery中文翻译-Application
  4. Zookeeper的命令
  5. Fragment使用--文章集锦
  6. Selenium 自动化测试基础知识
  7. 唐门的竹林伪原创工具
  8. Linux系统C/C++通用错误码实现模板
  9. css的几种垂直水平居中方法
  10. fedora 安装docker
  11. Android Google Map –两点之间的绘图路线
  12. Microsoft Office 2019 正式版 安装记录
  13. Python编程实现后剪枝的CART决策树
  14. Python链家广州二手房的数据爬取--数据爬取
  15. Java使用iTextPDF生成PDF文件
  16. 帝国CMS二次开发入门教程
  17. TeamViewer15免费版更换账户登录设备
  18. 中国集成灶10大品牌排行榜揭晓,公认的集成灶10大品牌是哪几个?
  19. 为什么每次开机都要进行磁盘检查?
  20. EndNote X7使用笔记

热门文章

  1. 650c公路车推荐_众望所归 多款短鼻公路车坐垫推荐
  2. 自制javascript库
  3. vue项目在IE中显示空白,报错:vuex requires a Promise polyfill in this browser
  4. 从源码理解ReentrantLock
  5. vscode设置代码编辑时组合键代替方向键移动光标
  6. zoj3557 插板法卢卡斯求组合数取模
  7. 图像的阈值分割(迭代法选择阈值)
  8. 配置远程服务器jupyter
  9. java mybatis拦截配置_SpringMvc拦截器配置_JavaEE框架(Maven+SpringMvc+Spring+MyBatis)全程实战教程_Java视频-51CTO学院...
  10. android危险权限分组,Android 6.0权限请求相关及权限分组方法