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

    一、Oracle用户和权限


      Oracle中,一般不会轻易在一个服务器上创建多个数据库,在一个数据库中,不同的项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,因此用户的概念在Oracle中非常重要。Oracle用户可以用CREATE USER命令来创建。其语法是:


    语法结构:创建用户


    CREATE USER用户名IDENTIFIED BY口令[ACCOUNT LOCK|UNLOCK]


    语法解析:

    LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态。锁定的用户无法正常的登录进行数据库操作。


    代码演示:创建用户


    SQL>CREATE USER jerry

    2  IDENTIFIED BY tom

    3  ACCOUNT UNLOCK;


     注意:Oracle在SQL*Plus中的命令以分号(;)结尾,代表命令完毕并执行,系统同时会把该命令保存在缓存中,缓存中只保存最近执行过的命令,如果重新执行缓存中的命令,直接使用左斜杠符号(/)。如果命令不以分号结尾,该命令只是写入缓存中保存起来,但并不执行。

    尽管用户成功创建,但是还不能正常的登录Oracle数据库系统,因为该用户还没有任何权限。如果用户能够正常登录,至少需要CREATE SESSION系统权限。

    Oracle用户对数据库管理或对象操作的权利,分为系统权限和数据库对象权限。系统权限比如:CREATE TABLE等,拥有系统权限的用户,允许拥有相应的系统操作。数据库对象权限,比如对表中的数据进行增删改操作等,拥有数据库对象权限的用户可以对所拥有的对象进行对应的操作。

    还有一个概念就是数据库角色(role),数据库角色就是若干个系统权限的集合。下面介绍几个常用角色:

    CONNECT 角色,主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECT role。CONNECT是使用Oracle的简单权限,拥有CONNECT角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。

    RESOURCE角色,更可靠和正式的数据用户可以授予RESOURCE role。RESOURCE 提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)等。

    DBA角色,DBA role拥有所有的系统权限——包括无限制的空间限额和给其他用户授予各种权限的能力。用户SYSTEM拥有DBA角色。

    一般情况下,一个普通的用户(如SCOTT),拥有CONNECT和RESOURCE两个角色可进行常规的数据库开发工作。

    可以把某个权限授予某个角色,可以把权限、角色授予某个用户。系统权限只能由DBA用户授权,对象授权由拥有该对象的用户授权,授权语法是:

    语法结构:授权


    GRANT角色|权限TO用户(角色)


    代码演示:授权 


    SQL>GRANT CONNECT TO jerry;

    授权成功。

    SQL>GRANT RESOURCE TO jerry;

    授权成功。

    SQL>


    语法结构:其他操作


    //回收权限

    REVOKE角色|权限FROM用户(角色)

    //修改用户的密码

    ALTER USER用户名 IDENTIFIED BY新密码

    //修改用户处于锁定(非锁定)状态

    ALTER USER用户名ACCOUNT LOCK|UNLOCK

    二、小结:

    Oracle用户的创建和授权;

    Oracle是基于对象的关系型数据库,Oracle产品免费,服务收费。

    Oracle安装后默认会有两个管理员用户(system,sys)和一个普通用户Scott。

    Sql*plus是Oracle管理和数据操作的客户端工具。

    客户端连接服务器钱,服务器要启动监听服务,并且客户端工具要安装Oracle客户端,并且在客户端要建立本地网络服务名。

    Oracle服务和经停启动后才能对数据库进行操作。

    用startup命令启动数据库,用shutdown命令关闭数据库。

    Oracle的角色包括了一系列系统权限和普通对象权限,可以把权限授权给角色,把权限或者角色权限授权给用户。

  • 相关阅读:
    使用boost的type_index打印数据类型
    display:flex;下的子元素width无效问题
    three.js 材质翻转
    qt5 打包exe执行文件
    脚本免交互生成秘钥
    脚本连接主机创建用户expect
    expect用法
    免密登录脚本expect
    shell变量的定义规则
    shell变量如何定义?
  • 原文地址:https://www.cnblogs.com/mine2832/p/9257115.html
Copyright © 2011-2022 走看看