oracle角色(role)概念

一个角色是一组特权,它可以授权给用户或其它角色。

特权有:create table,select on boss ,create session,insert on boss,update on boss

创建(删除 )角色:

CREATE ROLE hr_clerk
            IDENTIFIED BY bonus;
DROP ROLE oe_clerk;
创建用户
  CREATE USER user_name// 必填
IDENTIFIED BY password //必填
[DEFAULT TABLESPACE tablespace_name]
[TEMPORARY TABLESPACE tablespace_name]
[QUOTA quota_number [K | M] | UNLIMITED ON tablespace_name]
[PROFILE profile_name]
[PASSWORD expire]
[ACCOUNT lock| unlock]


CREATE  USER 命令解释
CREATE USER username ---用户名
IDENTIFIED BY password---- 用户口令
[DEFAULT TABLESPACE tablespace ]--- 缺省的表空间,该用户创建的对象默认存在此。


examples

 创建新用户lisi,密码为abcdef,表空间为users,并且在users表空间上可以使用10M的磁盘空间。
CREATE USER lisi  IDENTIFIED BY abcdef
DEFAULT TABLESPACE users
QUOTA 10M ON users;
 创建新用户allen,密码为abcdef,并且设置密码已过期,用户的状态为加锁。
CREATE USER allen IDENTIFIED BY abcdef
PASSWORD expire ACCOUNT lock;


使用新用户连接数据库

为新用户授予和数据库建立会话(登录)的系统权限:
    GRANT CREATE SESSION TO user_name;
为新用户授予创建数据表的系统权限:
    GRANT CREATE table TO user_name;
为新用户授权和数据库建立连接的角色:
    GRANT CONNECT TO user_name;

显然是 查看数据库中的被授权者(也即是被赋予权利的人)以及连接数据库的特权

select grantee,privilege from dba_sys_privs
where grantee=‘CONNECT‘ order by privilege;


 

相关权利大会和

CONNECT角色: --是授予最终用户的典型权利,最基本的
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话                11g只有这一个
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
RESOURCE 角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型


examples

为新用户zhangsan授予和数据库建立会话的权限,并用zhangsan连接数据库。
--在授权之前,用zhangsan连接数据库的操作失败
  CONNECT zhangsan/abcdef;
--以system连接数据库,并使用GRANT命令为新用户授权
  CONNECT system/abcdef;
  GRANT CREATE SESSION TO zhangsan;
--授权后,再用zhangsan连接数据库,操作成功
  CONNECT zhangsan/abcdef;

例3.5  为新用户lisi授予CONNECT的角色。

GRANT CONNECT TO lisi;
CONNECT lisi/abcdef;
修改用户zhangsan的密码为ora,并设置默认表空间为users表空间,在该表空间中可以使用无限大的磁盘空间。
ALTER USER zhangsan
IDENTIFIED BY ora
DEFAULT TABLESPACE users
QUOTA UNLIMITED ON users;
启用与禁用用户

禁用用户账户 ALTER USER user_name ACCOUNT LOCK;
启用用户账户ALTER USER user_name ACCOUNT UNLOCK;
为数据库中内置的用户账号scott解锁,启用该账号。 ALTER USER scott ACCOUNT UNLOCK;  CONNECT scott/tiger;

删除用户  DROP USER user_name [CASCADE][如果该用户方案中已存在方案对象,则需要带有CASCADE子句。]

oracle角色(role)概念

上一篇:sql语句对变量赋值:select与set的区别


下一篇:查询数据库的所有者