现在的位置: 首页 > 综合 > 正文

Oracle 用户及角色 介绍

2013年09月07日 ⁄ 综合 ⁄ 共 2630字 ⁄ 字号 评论关闭

. 用户管理

1.1 建立用户(数据库验证)

     CREATE  USER   DAVE  IDENTIFIED  BY   pwd

     DEFAULT TABLESPACE  users

     TEMPORARY   TABLESPACE  temp

     QUOTA  5m  ON  users;

 

1.2 修改用户

ALTER USER DAVE QUOTA 0 ON SYSTEM;

 

1.3 删除用户

DROP USER DAVE;

DROP USER DAVE CASCADE;

 

1.4 显示用户信息

SELECT * FROM DBA_USERS

SELECT * FROM DBA_TS_QUOTAS

 

.系统权限

系统权限

作用

CREATE SESSION

连接到数据库

CREATE TABLE

建表

CREATE TABLESPACE

建立表空间

CREATE VIEW

建立视图

CREATE SEQUENCE

建立序列

CREATE USER

建立用户

 

系统权限是指执行特定类型SQL命令的权利,用于控制用户可以执行的一个或一类数据库操作。(新建用户没有任何权限)

 

2.1 授予系统权限

GRANT CREATE SESSION,CREATE TABLE TO DAVE;

GRANT CREATE SESSION TO DAVE WITH ADMIN OPTION;

 

选项:ADMIN OPTION 使该用户具有转授系统权限的权限。

 

2.2 显示系统权限

 

查看所有系统权限:

Select * from system_privilege_map;

显示用户所具有的系统权限:

Select * from dba_sys_privs;

显示当前用户所具有的系统权限:

Select * from user_sys_privs;

显示当前会话所具有的系统权限:

Select * from session_privs;

 

2.3 收回系统权限

REVOKE CREATE TABLE FROM DAVE;

REVOKE CREATE SESSION FROM DAVE;

 

 

.角色:

角色是一组相关权限的命名集合,使用角色最主要的目的是简化权限管理。

 

3.1 预定义角色。

CONNECT自动建立,包含以下权限:ALTER SESSIONCREATE CLUSTERCREATE DATABASELINKCREATE SEQUENCECREATE SESSIONCREATE SYNONYMCREATE TABLECREATEVIEW

RESOURCE自动建立,包含以下权限:CREATE CLUSTERCREATE PROCEDURECREATE SEQUENCECREATE TABLECREATE TRIGGR

 

3.2 显示角色信息,

§ROLE_SYS_PRIVS

§ROLE_TAB_PRIVS

§ROLE_ROLE_PRIVS

§SESSION_ROLES

§USER_ROLE_PRIVS

§DBA_ROLES

 

. Oracle用户角色

每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。

Oracle角色(role就是一组权限(privilege(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。

数据库系统权限(Database System Privilege)允许用户执行特定的命令集。例如,CREATE TABLE权限允许用户创建表,GRANT ANY PRIVILEGE权限允许用户授予任何系统权限。

数据库对象权限(Database Object Privilege)使得用户能够对各个对象进行某些操作。例如DELETE权限允许用户删除表或视图的行,SELECT权限允许用户通过select从表、视图、序列(sequences)或快照 snapshots)中查询信息。

 

4.1 创建用户

Oracle内部有两个建好的用户:SYSTEMSYS。用户可直接登录到SYSTEM用户以创建其他用户,因为SYSTEM具有创建别的用户的权限。在安装Oracle时,用户或系统管理员首先可以为自己建立一个用户。例如:

create user user01 identified by u01;

该命令还可以用来设置其他权限。

改变一个口令,可以使用alter user命令:

alter user user01 identified by usr01;

 现在user01的口令已由“u01”改为“usr01”

 

除了alter user命令以外,用户还可以使用password命令。如果使用password命令,用户输入的新口令将不在屏幕上显示。dba特权的用户可以通过password命令改变任何其他用户的口令;其他用户只能改变自己的口令。

 

当用户输入password命令时,系统将提示用户输入旧口令和新口令,如下所示:

password

    Changing password for user01

    Old password:

    New password:

    Retype new password:

    当成功地修改了口令时,用户会得到如下的反馈:

Password changed

 

4.2 删除用户

    删除用户,可以使用drop user命令,如下所示:

drop user user01;

如果用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字CASCADE,可删除用户所有的对象,然后再删除用户。

下面的例子用来删除用户与其对象:

drop user user01 CASCADE;

 

4.3 3种标准角色

Oracle为了兼容以前的版本,提供了三种标准的角色(role):CONNECTRESOURCEDBA

 

4.3.1. CONNECT Role(连接角色)

临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECT roleCONNECT是使用Oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括selectinsertupdatedelete等,才会变得有意义。拥有CONNECT role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。

 

4.3.2. RESOURCE Role(资源角色)

更可靠和正式的数据库用户可以授予RESOURCE roleRESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(

抱歉!评论已关闭.