zoukankan      html  css  js  c++  java
  • 用户权限及角色管理

    范例:创建一个新的用户:c##mldnuser,密码为:java_android

    CREATE USER c##mldnuser

    IDENTIFIED BY java_android

    DEFAULT TABLESPACE mldn_data

    TEMPORARY TABLESPACE mldn_temp

    QUOTA 30M ON mldn_data

    QUOTA 20M ON users

    ACCOUNT UNLOCK

    PASSWORD EXPIRE ;

    范例:通过dba_users查看用户信息

    SELECT username,user_id,default_tablespace,temporary_tablespace,created,lock_date,profile

    FROM dba_users

    WHERE username='C##MLDNUSER';

     

    范例:通过dba_ts_quotas查看用户可用表空间配额

    SELECT * FROM dba_ts_quotas WHERE username='C##MLDNUSER' ;

     

    范例:定义一个概要文件

    CREATE PROFILE c##mldn_profile LIMIT

    CPU_PER_SESSION 10000

    LOGICAL_READS_PER_SESSION 20000

    CONNECT_TIME 60

    IDLE_TIME 30

    SESSIONS_PER_USER 10

    FAILED_LOGIN_ATTEMPTS 3

    PASSWORD_LOCK_TIME UNLIMITED

    PASSWORD_LIFE_TIME 60

    PASSWORD_REUSE_TIME 30

    PASSWORD_GRACE_TIME 6 ;

    范例:查询dba_profiles数据字典

    SELECT * FROM dba_profiles WHERE profile='C##MLDN_PROFILE' ;

     

    范例:创建用户时指定概要文件

    CREATE USER c##mldnjava IDENTIFIED BY hello

    PROFILE c##mldn_profile ;

    范例:配置已存在用户使用的概要文件

    ALTER USER c##mldnuser PROFILE c##mldn_profile ;

     

    范例:查看dba_users数据字典,观察c##mldnjavac##mldnuser两个用户的定义

    SELECT username,user_id,default_tablespace,temporary_tablespace,created,lock_date,profile

    FROM dba_users

    WHERE username IN ('C##MLDNJAVA','C##MLDNUSER') ;

     

    范例:修改概要文件

    ALTER PROFILE c##mldn_profile LIMIT

    CPU_PER_SESSION 1000

    PASSWORD_LIFE_TIME 10 ;

     

    范例:删除c##mldn_profile概要文件

    DROP PROFILE c##mldn_profile CASCADE ;

    范例:修改c##mldnuser的密码为:hellojava

    ALTER USER c##mldnuser IDENTIFIED BY hellojava ;

     

    范例:c##mldnuser用户设置为锁定状态

    ALTER USER c##mldnuser ACCOUNT LOCK ;

     

    范例:通过dba_users查看mldnuser用户的锁定信息

    SELECT username,user_id,default_tablespace,temporary_tablespace,created,lock_date,profile

    FROM dba_users

    WHERE username='C##MLDNUSER';

     

    范例:c##mldnuser用户解锁

    ALTER USER c##mldnuser ACCOUNT UNLOCK ;

     

    范例:c##mldnuser密码失效

    ALTER USER c##mldnuser PASSWORD EXPIRE ;

     

    范例:修改c##mldnuser用户的表空间配额

    ALTER USER c##mldnuser

    QUOTA 20M ON system

    QUOTA 35M ON users ;

     

    范例:通过dba_ts_quotas数据字典查看mldnuser用户新的表空间配额

    SELECT * FROM dba_ts_quotas WHERE username='C##MLDNUSER' ;

     

    范例:删除c##mldnuser用户

    DROP USER c##mldnuser ;

    范例:c##mldnuser用户授予CREATE SESSION权限

    GRANT CREATE SESSION TO c##mldnuser ;

    范例:c##mldnuser用户授权

    GRANT CREATE TABLE , CREATE SEQUENCE  , CREATE VIEW TO c##mldnuser WITH ADMIN OPTION ;

    范例:利用c##mldnuser用户登录,而后将创建表、以及创建序列的权限授予c##mldnjava用户

    GRANT CREATE TABLE , CREATE SEQUENCE TO c##mldnjava ;

    范例:通过dba_sys_privs数据字典查看用户权限

    SELECT *

    FROM dba_sys_privs

    WHERE grantee IN ('C##MLDNJAVA' , 'C##MLDNUSER')

    ORDER BY grantee DESC ;

     

    范例:c##mldnuser用户的CREATE VIEWCREATE TABLE权限回收

    REVOKE CREATE TABLE , CREATE VIEW FROM c##mldnuser ;

    范例:通过dba_sys_privs数据字典查看用户权限

    SELECT *

    FROM dba_sys_privs

    WHERE grantee IN ('C##MLDNJAVA' , 'C##MLDNUSER')

    ORDER BY grantee DESC ;

     

    范例:通过c##mldnuser用户回收c##mldnjava用户的CREATE SEQUENCE权限

    REVOKE CREATE SEQUENCE FROM c##mldnjava ;

     

    范例:通过c##mldnuser无法访问c##scott用户下的资源

    SELECT * FROM c##scott.dept ;

     

    范例:c##mldnuser用户授予c##scott用户dept表的查询以及增加权限

    GRANT SELECT , INSERT ON c##scott.dept TO c##mldnuser ;

    范例:c##scott.dept数据表更新部门名称(dname)的权限授予c##mldnuser用户

    GRANT UPDATE(dname) ON c##scott.dept TO c##mldnuser ;

     

    范例:查询当前登录用户下的所有对象权限

    CONN c##mldnuser/hellojava

    COL owner FOR A10 ;

    COL table_name FOR A10 ;

    COL grantor FOR A10 ;

    COL privilege FOR A10 ;

    SELECT * FROM user_tab_privs_recd ;

     

    范例:查询“user_col_privs_recd”数据字典

    COL owner FOR A10 ;

    COL table_name FOR A10 ;

    COL column_name FOR A15 ;

    COL grantor FOR A10 ;

    COL privilege FOR A10 ;

    SELECT * FROM user_col_privs_recd ;

     

    范例:回收c##scott.dept上的相关权限

    REVOKE SELECT , INSERT ON c##scott.dept FROM c##mldnuser ;

    REVOKE UPDATE ON c##scott.dept FROM c##mldnuser ;

    范例14-13创建角色的基本语法

    CREATE ROLE 角色名称

    [NOT IDENTIFIED | IDENTIFIED BY 密码 ;

    范例:创建一个普通的角色

    CREATE ROLE c##mldn_role_a ;

    范例:创建一个带有密码的角色

    CREATE ROLE c##mldn_role_b IDENTIFIED BY hellojava ;

    范例:禁用当前会话中的所有角色

    SET ROLE NONE ;

     

    范例:启用当前会话中的所有角色

    SET ROLE ALL ;

     

    范例:启用c##mldn_role_b角色,此角色存在密码

    SET ROLE c##mldn_role_b IDENTIFIED BY hellojava ;

    范例:查看dba_roles数据字典

    SELECT *

    FROM dba_roles

    WHERE role IN ('C##MLDN_ROLE_A','C##MLDN_ROLE_B');

     

    范例:c##mldn_role_a角色授权

    GRANT CREATE SESSION , CREATE TABLE , CREATE VIEW , CREATE SEQUENCE TO c##mldn_role_a ;

    范例:c##mldn_role_b角色授权

    GRANT CREATE SESSION , CREATE ANY TABLE , INSERT ANY TABLE TO c##mldn_role_b ;

    范例:查询role_sys_privs数据字典

    SELECT *

    FROM role_sys_privs

    WHERE role IN ('C##MLDN_ROLE_A' , 'C##MLDN_ROLE_B')

    ORDER BY role ;

     

    范例:c##mldn_role_a的角色授予c##mldnuser用户

    GRANT c##mldn_role_a TO c##mldnuser ;

     

    范例:c##mldn_role_ac##mldn_role_b的角色授予c##mldnjava用户

    GRANT c##mldn_role_a ,c##mldn_role_b TO c##mldnjava ;

     

    范例:查询c##mldnuser用户权限

    CONN c##mldnuser/hellojava

    COL privilege FOR A30 ;

    SELECT * FROM session_privs ;

     

     

    范例:c##mldn_role_a的角色密码设置为hellomldn

    ALTER ROLE c##mldn_role_a IDENTIFIED BY hellomldn ;

     

    范例:取消c##mldn_role_b角色的密码

    ALTER ROLE c##mldn_role_b NOT IDENTIFIED ;

     

    范例:CREATE SESSION的权限从c##mldn_role_a角色中回收

    REVOKE CREATE SESSION FROM c##mldn_role_a ;

     

    范例:查询c##mldn_role_a角色中的权限信息

    SELECT *

    FROM role_sys_privs

    WHERE role='C##MLDN_ROLE_A'

    ORDER BY role ;

     

    范例:删除c##mldn_role_b角色

    DROP ROLE c##mldn_role_b ;

    范例:通过sys用户查询CONNECTRESROUCE角色所拥有的权限

    SELECT *

    FROM role_sys_privs

    WHERE role IN ('CONNECT' , 'RESOURCE')

    ORDER BY role ;

     

    范例:CONNECTRESOURCE角色授予c##mldnuser用户

    GRANT CONNECT , RESOURCE TO c##mldnuser ;

  • 相关阅读:
    Java编程思想:第8章 多态
    Java编程思想:第7章 复用类
    Java编程思想:第6章 访问权限控制
    Java编程思想:第5章 初始化与清理
    Java编程思想:第4章 控制执行流程
    Java编程思想:第3章 操作符
    sqoop常用命令记录
    sqoop从hive导出到mysql报错: failed with state FAILED due to: Task failed
    flink-sql解析canal-json实现实时同步
    hive爬坑
  • 原文地址:https://www.cnblogs.com/doudouxiaoye/p/5804047.html
Copyright © 2011-2022 走看看