• Oracle442个应用场景-----------角色管理


    --------------------------------角色管理------------------------------------

    一、角色的概念和特性

         1.什么是角色?

            角色就是相关权限的命令集合。使用角色的主要目的就是为了简化权限的管理。

         2.角色的特性有哪些?
           a.使用grant和revoke赋予和回收系统权限
           b.角色能够赋予给不论什么除自身之外的角色和用户
           c.角色能够由系统和对象权限组成
           d.能够启用和禁用角色
           e.能够指定一个password
           f.角色不被不论什么用户拥有,不在不论什么方案内
           g.角色在数据字典中有各自的描写叙述

    二、提前定义角色

          提前定义角色是指Oracle所提供的角色,每种角色都用于运行一些特定的管理任务,以下我们介绍经常使用的提前定义角色connect,resource,dba。

         1、connect角色

               connect角色具有一般应用开发者须要的大部分权限。当建立了一个用户后,多数情况下,仅仅要给用户授予connect和resource角色就够了。

              那么connect角色具有下面系统权限:

              alter session

             create cluster

             create database link

             create session

             create view

             create sequence

         2、resource角色

            resource角色具有应用开发者所须要的其它权限,比方建立存储过程、触发器等。这里须要注意的是resource角色隐含了unlimited tablespace系统权限。

            resource角色包括下面系统权限:

            create cluster

            create indextype

            create table

            create sequence

            create type

            create procedure

            create trigger

        3、dba角色

            dba角色具有全部的系统权限。及with admin option选项,默认的dba用户为sys和system他们能够将不论什么系统权限授予其它用户。

          可是要注意的是dba角色不具备sysdba和sysoper的特权(启动和关闭数据库)。


    Oracle 权限设置

    一、权限分类:
    系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。


    实体权限:某种权限用户对其他用户的表或视图的存取权限。(是针对表或视图而言的)。

    二、系统权限管理:

    1、系统权限分类:
    DBA: 拥有所有特权,是系统最高权限,仅仅有DBA才干够创建数据库结构。
    RESOURCE:拥有Resource权限的用户仅仅能够创建实体,不能够创建数据库结构。


    CONNECT:拥有Connect权限的用户仅仅能够登录Oracle。不能够创建实体,不能够创建数据库结构。
    对于普通用户:授予connect, resource权限。
    对于DBA管理用户:授予connect,resource, dba权限。

    2、系统权限授权命令:
    [系统权限仅仅能由DBA用户授出:sys, system(最開始仅仅能是这两个用户)]
    授权命令:SQL> grant connect, resource, dba to username1 [,username2]...;
    [普通用户通过授权能够具有与system同样的用户权限。但永远不能达到与sys用户同样的权限。system用户的权限也能够被回收。]
    -------------------------------------------------------------------------------

    应用场景36:在Enterprise Manager中查看用户信息

    应用场景37:使用DBA_USERS视图查看用户信息

    SELECT USERNAME,PASSWORD,LOCK_DATE,EXPIRY_DATE,PROFILE,ACCOUNT_STATUS,CREATED FROM DBA_USERS;

    应用场景38:在Enterprise Manager中创建用户

    应用场景39:
    创建新用户:
    create user hrman identified by haixu default tablespace users temporary tablespace temp;

    查询是否存在该用户:(注意。尽管上面创建用户是的username是小写的hrman可是在数据库中存入的username字为:HRMAN)

    select username account_status created from dba_users where username='HRMAN';

    应用场景40:在Enterprise Manager中改动用户属性

    应用场景41:使用ALTER USER 语句改动用户信息
    1、改动用户口令:
    ALTER USER<USERNAME> IDENTIFIED BY< NEW PASSWORD>

    EG:ALTER USER USERMAN IDENTIFIED BY NEWPASSWROD;
    2.设置口令过期:
    ALTER USER USERMAN PASSWROD EXPIRE;
    3.锁定用户:
    ALTER USER USERMAN ACCOUNT LOCK;
    4.解锁用户
    ALTER USER USERMAN ACCOUNT UNLOCK;

    应用场景42:在Enterprise Manager管理用户权限

    应用场景43:使用SQL语句管理用户权限
    1.GRANT<心痛权限> TO <username>
    EG:GRANT SYSDBA TO HRMAN;
       GRANT CREATE SESSION TO HRMAN;
       GRANT CREATE TABLE TO HRMAN;
       GRANT CREATE SEQUENCE TO HRMAN;
    授予创建用户、改动、删除用户权限
    GRANT CREATE USER,ALTER USER,DROP USER, TO HRMAN;
    2.授予数据对象权限
    GRANT < 数据对象权限>ON<数据对象>TO<username>
    EG:GRANT SELECT ON HRMAN USERS TO DEPARTMENT;
       GRANT INSERT ON HRMAN USERS TO DEPARTMENT;
       GRANT UPDATE ON HRMAN USERS TO DEPARTMENT;
       GRANT DELETE ON HRMAN USERS TO DEPARTMENT;
    3.撤销用户权限
    REVOKE <权限或角色>FROM<username>
    eg:REVOKE SYSDBA FROM HRMAN;

    应用场景44:为应用分配空间配额
    为用户在指定的表空间中能够占用的空间大小。
    ALTER USER<username>QUOTA<空间配额的大小>ON<表空间>
    eg:ALTER USER HRMAN QUOTA 100M ON USERS;

    应用场景45:删除用户

    DROP USER HRMAN;

    应用场景46:查看用户回话信息
    COL USERNAME FORMAT A10
    COL USER# FORMAT A10
    COL TYPE FORMAT A10
    COL LOGON_TIME A20
    COL PROCESS FORMAT A10
    COL PROGRAM FORMAT A20
    SELECT USERNAME,USER#,TYPE,LOGON_TIME,PROCESS,PROGRAM,STATUS FROM V$SESSION;

    应用场景47:查看用户权限信息
    COL GRANTEE FROMAT A15
    COL TABLE_NAME FORMAT A15
    COL PRIVIEGE FORMAT A15
    COL PRIVILEGE FORMAT A15
    SELECT GRANTEE,TABLE_NAME,PRIVILEGE GRANTOR FROM DBA_TAB_PRIVS WHERE ROWNUM<=10;

    应用场景48:使用口令文件
    ORAPWD FILE = filename PASSWORD = password ENTRIES = max_users force = <y/n> 

    视图V$PWFILE_USERS中存放了口令文件的信息,
    SELECT * FROM V$PWFILE_USERS;

    应用场景49:忘记DBA口令的解决方法
    以SYSDBA身份连接到SQLPlus:
    sqlplus "/as sysdba"
    改动sys的用户口令为newpassword:
    ALTER USER SYS IDENTIFIED BY NEWPASSWROD;
    COMMIT;
    最后測试连接:
    CONN SYS /AS SYSDBA
    输入口令:
    newpassword

    应用场景50:查看角色的信息
    SELECT * FROM DBA_ROLES;CONN

    应用场景51:在Enterprise Manager中创建角色

    应用场景52:使用CREATE ROLE语句创建角色
    CREATE ROLE<角色名>IDENTIFIED BY <验证口令>
    eg: CREATE ROLE MYROLE1 IDENTIFIED BY MYROLEPWD;

    应用场景53:对角色授权

    应用场景54:指定用户的角色

    GRANT <ROLE>TO <USERNAME>
    EG:GRANT CONNECT TO HRMAN;
    使用REVOKE取消用户角色:
    REVOKE <ROLES> FROM<USERNAME>
    EG:REVOKE CONNECT FROM HRMAN;

    应用场景55:改动角色属性
    取消角色的口令验证.丢弃角色
    ALTER ROLE MYROLE1 NOT IDENTIFIED;

    应用场景56:删除角色
    DROP ROLE MYROLE1;

    应用场景57:查看用户的角色信息
    SELECT * FROM DBA_ROLE_PRIVS;

     

  • 相关阅读:
    无限分类 引用传值
    jQeury 自动、手动左右切换
    $_POST 为空时 真正的值
    php isset 备忘
    php empty 备忘
    无限分级函数 简单 引用绑值
    无限分级 层次输出 demo
    利用新版ShareSDK进行手动分享(自定义分享界面)
    eclipse 快捷方式大全
    ViewPager onPageChangeListener总结
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/6748611.html
Copyright © 2020-2023  润新知