创建用户

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

  1. create user 用户名 identified by 密码;

(Oracle有个毛病,密码必须以字母开头,如果以数字开头,它不会创建用户)

给用户修改密码

概述:如果给自己修改密码可以直接使用

password 用户名

如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限

  1. SQL>alter user 用户名 identified by 新密码

删除用户

概述:一般以dba的身份去删除某个用户,如果用其他用户去删除用户则需要具有drop user的权限。

比如

  1. drop user用户名[cascade]

在删除用户时,注意:

如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade。

用户管理的综合案例

概述:创建的新用户是没有任何权限的,甚至连登录数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。

案例:

  1. SQL> conn xiaoming/m12;
  2. ERROR:
  3. ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied
  4. 警告: 您不再连接到 ORACLE
  5. SQL> show user;
  6. USER ""
  7. SQL> conn system/p;
  8. 已连接。
  9. SQL> grant connect to xiaoming;
  10. 授权成功。
  11. SQL> conn xiaoming/m12;
  12. 已连接。
  13. SQL>
  14. 注意:grant connect to xiaoming;

在这里,准确的讲,connect 不是权限,而是角色。。 看图:

现在说下对象权限,现在要做这么件事情:

* 希望xiaoming 用户可以去查询emp 表
* 希望xiaoming 用户可以去查询scott 的emp 表

  1. grant select on emp to xiaoming

* 希望xiaoming 用户可以去修改scott 的emp 表

  1. grant update on emp to xiaoming

* 希望xiaoming 用户可以去修改/删除,查询,添加scott 的emp 表

  1. grant all on emp to xiaoming

* scott 希望收回xiaoming 对emp 表的查询权限

  1. revoke select on emp from xiaoming

对权限的维护

* 希望xiaoming 用户可以去查询scott 的emp 表/还希望xiaoming 可以把这个权限继续给别
人。

  1. --如果是对象权限,就加入 with grant option
  2.  
  3. grant select on emp to xiaoming with grant option

我的操作过程:

  1. SQL> conn scott/tiger;
  2. 已连接。
  3. SQL> grant select on scott.emp to xiaoming with grant option;
  4. 授权成功。
  5. SQL> conn system/p;
  6. 已连接。
  7. SQL> create user xiaohong identified by m123;
  8. 用户已创建。
  9. SQL> grant connect to xiaohong;
  10. 授权成功。
  11. SQL> conn xiaoming/m12;
  12. 已连接。
  13. SQL> grant select on scott.emp to xiaohong;
  14. 授权成功。

如果是系统权限
system 给xiaoming 权限时:

  1. grant connect to xiaoming with admin option

问题:如果scott 把xiaoming 对emp 表的查询权限回收,那么xiaohong 会怎样?

答案:被回收。
下面是我的操作过程:

  1. SQL> conn scott/tiger;
  2. 已连接。
  3. SQL> revoke select on emp from xiaoming;
  4. 撤销成功。
  5. SQL> conn xiaohong/m123;
  6. 已连接。
  7. SQL> select * from scott.emp;
  8. select * from scott.emp
  9. 1 行出现错误:
  10. ORA-00942: 表或视图不存在

结果显示:小红受到诛连了。

Oracle用户管理的更多相关文章

  1. Oracle 用户管理与权限控制

    Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...

  2. Oracle—用户管理的完全恢复(四)

    在用户管理的备份(三)中,最后打开数据库时,用了alter database open resetlogs;的命令,这里为什么用resetlogs命令? 一.resetlogs的作用 1.将当前的日志 ...

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

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

  4. Oracle—用户管理的完全恢复(一)

    一.分类 可以分为在非归档模式下和归档模式下的完全恢复,完全恢复主要是针对归档模式下的,在非归档模式下很难做到完全恢复,除非是在做恢复时,联机重做日志还没有被重写. 二.非归档的有关性质 1.在非归档 ...

  5. Oracle—用户管理的备份(一)

    用户管理的备份(一) 一.首先要知道数据库中表空间和文件的信息,有几个性能视图,v$datafile,v$tablespace,v$tempfile,v$logfile,v$controlfile,d ...

  6. Oracle—用户管理的备份(二)

    在用户管理的备份(一)中(详见:Oracle—用户管理的备份)对用户管理备份几种情况进行了说明:接下来说明几种特别情况和DBverify的使用. 一.如果在表空间在备份模式下,主机发生了异常关闭,会出 ...

  7. 四、oracle 用户管理(Profile)

    oracle 用户管理 :profile + tablespace + role + user  一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时, ...

  8. 三、oracle 用户管理一

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

  9. Oracle 用户管理权限

    Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...

  10. ORACLE用户管理方式下备份数据和复制数据库

    首先要明确的是,oracle数据库的备份可以分为逻辑备份和物理备份.           逻辑备份的是通过数据导出对数据进行备份,主要方式有老式的IMP/EXP和数据泵灯方式.适合变化较少的数据库,而 ...

随机推荐

  1. Navicat Premium 自动备份mysql和sqlserver

    mysql篇: 1.点击计划 2.点击新建处理作业 3.选择需要备份的数据库,上级可用任务 4.点击保存按钮,输入保存文件名 5.保存后点击设置计划任务 6.计划里新建保存时间,应用后输入系统密码即可 ...

  2. ui线程和后台线程异步

    private void Button_Click(object sender, RoutedEventArgs e) { CreateElementOnSeperateThread(() => ...

  3. opencar二次开发常用代码

    <?php //创建Registry对象 //注册所有公共类 //创建Front类对象,作为请求分发器(Dispatcher) //根据用户请求(url)创建控制器对象及其动作. // 在Fro ...

  4. Moving a Subversion Repository to Another Server

    Moving a subversion repository from one server to another, while still preserving all your version h ...

  5. javascript 之DOM篇

    要怎么样的开场白才能使我有力气再更新学习进度呢?啊啊啊啊啊,表示好累啊~~~默念“棒棒棒,我最棒~”召唤精气神开总结敲字咯.哈哈哈. --------------------------------- ...

  6. Oracle通过主键id删除记录很慢

    问题描述: Oracle通过主键id删除2000条记录很慢,需要花费十二分钟. 解决过程: 1.首先查看SQL的执行计划,执行计划正常,cost只有4,用到了主键索引. 2.查看等待事件, selec ...

  7. Bootstrap_Javascript_弹出框

    HTML: <button type="button" class="btn btn-default" data-container="body ...

  8. Linux系统上使用php获取apk信息

    最近在做一个apk商城,需要在用户上传了apk之后系统自动读取apk信息(包名,版本号等),后台语言使用的是php,需要php去调用系统的aapt命令去读取apk信息,在Linux系统上安装aapt的 ...

  9. 模块化编程AMD&CommonJS

    为什么要模块化编程 如果JS也可以像类似python,Java使用import,引入我们想要的模块,想要什么模块,就加载什么模块,可以给前端编程带来更多的便捷,结构更加清晰明了.但是,这样做有一个前提 ...

  10. C# 当double数值较大且小数位过多时转化成字符串并保留小数位

    今天在C#中碰到了一个问题,需要将double转换成字符串显示,要求保留小数位. 在网上查询了一下相关的文章 具体如下: double temp=3.1415926; (F)Fixed point:s ...