码迷,mamicode.com
首页 > 其他好文 > 详细

用户权限及角色管理

时间:2016-08-24 18:55:05      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

 

范例:创建一个新的用户: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 ;

 

用户权限及角色管理

标签:

原文地址:http://www.cnblogs.com/doudouxiaoye/p/5804047.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!