zoukankan      html  css  js  c++  java
  • Oracle 用户管理

    在 Oracle 中可以对用户进行建立及授权的操作。

    • 创建用户的语法:
    CREATE USER 用户名 IDENTIFIED BY 密码 ;

    范例:创建一个 test 用户,密码是 test123

    CREATE USER test IDENTIFIED BY test123 ;

    如果要想创建用户,则首先应该使用管理员进行登陆,创建用户之后,开启一个新的 sqlplusw 窗口,并使用此用户进行登陆,出现以下的错误提示:

    提示 test 用户没有创建 session 的操作权限,没有 session 的权限就意味着无法登陆。

    • 为用户授权可以使用如下的格式:
    GRANT 权限 1,权限 2,... TO 用户

    范例:将创建 SESSION 的权限给 test 用户

    GRANT CREATE SESSION TO test ;

    再使用 test 用户进行连接,就可以连接上数据库,就表示创建了一个 SESSION。

    范例:建立 tab 表

    CREATE TABLE tab(
    id  NUMBER PRIMARY KEY NOT NULL ,
    name VARCHAR2(30)
    ) ;

    实际上一个新的用户所有的权限都要分别赋予,如果现在假设要想把多个权限一次性赋予一个用户,可以将这些权限定义成一组角色。

    • 在 Oracle 中提供了两个主要角色:CONNECT、RESOURCE,可以直接把这两个角色赋予 test 用户
    GRANT CONNECT,RESOURCE TO test ;
    • 修改一个用户的密码,格式如下:
    ALTER USER 用户名 IDENTIFIYED BY 密码
    • 在一般的系统中存在,在用户第一次登陆的时候可以修改密码,所以要想完成此功能,可以手工让一个密码失效,格式如下:
    ALTER USER 用户名 PASSWORD EXPIRE ;
    • 锁定用户:
    ALTER USER 用户名 ACCOUNT LOCK ;
    • 解锁用户:
    ALTER USER 用户名 ACCOUNT UNLOCK ;

    要访问其他用户的表,需要授予此张表的访问权限。

    范例:将 scott 用户下的 emp 表的查询及删除权限给 test 用户

    GRANT SELECT,DELETE ON scott.emp TO test ;

      回收权限使用 REVOKE 语法

    REVOKE 权限 ON 用户.表名称 FROM 用户 ;

    范例:回收 test 用户的 SELECT 及 DELETE 权限

    REVOKE SELECT,DELETE ON scott.emp FROM test ; 
  • 相关阅读:
    linux中实现将多个连续的字符拆分为单个字符
    linux 中删除当前目录下指定文件外所有的文件
    linux中将指定行数据合并为一行数据
    gz文件压缩、解压缩保留源文件
    R语言中提取多个连续值的累计的中间位点
    .net的委托和事件的直接理解
    消息是什么
    显示进度条的无组件上传!!
    与Java相关的四十个名字
    循环为Label赋值!
  • 原文地址:https://www.cnblogs.com/aaron911/p/7777367.html
Copyright © 2011-2022 走看看