数据库角色、用户、授权总结(详细)

您所在的位置:网站首页 数据库管理系统允许用户把一个或多个 数据库角色、用户、授权总结(详细)

数据库角色、用户、授权总结(详细)

2024-07-17 11:15:57| 来源: 网络整理| 查看: 265

总述

每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。

数据库系统权限(Database System Privilege):系统权限是指执行特定类型SQL命令的权利,用于控制用户可以执行的一个或一类数据库操作。新建用户没有任何权限。赋予系统权限允许用户执行特定的命令集。例如,CREATE TABLE权限允许用户创建表,GRANT ANY PRIVILEGE 权限允许用户授予任何系统权限。数据库对象权限(Database Object Privilege):使得用户能够对各个对象进行某些操作。例如DELETE权限允许用户删除表或视图的行,SELECT权限允许用户通过select从表、视图、序列(sequences)或快照 (snapshots)中查询信息。 用户

一、创建用户

Oracle内部有两个建好的用户:SYSTEM和SYS。用户可直接登录到SYSTEM用户以创建其他用户,因为SYSTEM具有创建别的用户的权限。在安装Oracle时,用户或系统管理员首先可以为自己建立一个用户。例如: 模板是:create user 用户名 identified by 密码 比如:

create user test identified by 1q2w3e;

(上面 test 是创建的用户, 1q2w3e 是密码)

该命令还可以用来设置其他权限。要改变一个口令,可以使用alter user命令:

alter user test identified by usr01;

现在 test 的口令已由“1q2w3e”改为“usr01”。

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

drop user test;

如果用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。下面的例子用来删除用户与其对象:

drop user test cascade;

三、查看用户状态 当前ORACLE用户的状态可查看视图DBA_USERS;一般情况下在使用的正常用户均处于OPEN状态。

select username,account_status from dba_users;

用户状态一共有九种状态,可分为两类:1.基本状态;2.组合状态。

五种基本状态:OPEN、EXPIRED、EXPIRED(GRACE)、LOCKED(TIMED)、LOCKED;四种组合状态:EXPIRED & LOCKED(TIMED)、EXPIRED(GRACE) & LOCKED(TIMED)、EXPIRED & LOCKED、EXPIRED(GRACE) & LOCKED。

后四种的组合状态可通过状态号STATUS#获得其状态的两个组合。锁定的两种状态LOCKED、LOCKED(TIMED)和密码过期的两种状态EXPIRED、EXPIRED(GRACE)之间任意组合即2×2=4,因此有四种组合状态。

五种基本状态可分为三类:正常状态、锁定状态、密码过期状态。其中

OPEN状态表示用户处于正常状态;LOCKED和LOCKED(TIMED)表示用户被锁定状态

用户被锁定有两种:

LOCKED:是DBA显式的通过SQL语句对用户进行锁定,见下述语句: alter user [username] account lock LOCKED(TIMED):这一种是被动的锁定,默认情况下如果密码输入错误超过10次则被动锁定。 EXPIRED、EXPIRED(GRACE)表示用户密码过期状态

修改PROFILE中的PASSWORD_LIFE_TIME实现密码是否过期:

alter profile default limit password_life_time unlimited;

密码过期后也可修改PROFILE中的PASSWORD_GRACE_TIME控制使用的天数:

alter profile default limit password_grece_time 180;

对于密码过期的用户OPEN:

alter user [username] identified by account unlock; 角色

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

如果用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字CASCADE,可删除用户所有的对象,然后再删除用户。下面的例子用来删除用户与其对象: Oracle为了兼容以前的版本,提供了三种标准的角色(role):CONNECT、RESOURCE、DBA。

CONNECT Role(连接角色):临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECTrole。CONNECT是使用Oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有CONNECT role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。RESOURCE Role(资源角色):更可靠和正式的数据库用户可以授予RESOURCE role。RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。DBA Role(数据库管理员角色):DBA role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。SYSTEM由DBA用户拥有。

下面介绍一些DBA经常使用的典型权限。

grant(授权)命令

下面对刚才创建的用户user01授权,命令如下:

grant connect, resource to test;

具体的有:

grant create session to epm_spark;

赋予 create session 的权限,这样 epm_spark 用户就能成功登陆数据库

grant create table to epm_spark;

赋予 create table 的权限,这样 epm_spark 用户就能在数据库创建表

grant unlimited tablespace to epm_spark;

赋予 unlimited tablespace 的权限,这样 epm_spark 用户就有使用表空间的权限。 赋予了用户上述几个权限,用户就拥有了创建表的权限,由于表是用户 epm_spark 的,相应的他就拥有了对创建的表的增删查改的权限了

grant connect to epm_spark;

赋予 connect 的权限,授予最终用户的典型权利,这样 epm_spark 用户就能建立会话、修改回话、建立数据库链接等

grant resource to epm_spark;

赋予 resource 的权限,授予开发人员的,这样 epm_spark 用户就可以建表、建立聚簇、建立过程、建立序列等

revoke(撤消)权限

已授予的权限可以撤消。例如撤消(1)中的授权,命令如下:

revoke connect, resource from test;

一个具有DBA角色的用户可以撤消任何别的用户甚至别的DBA的CONNECT、RESOURCE 和DBA的其他权限。当然,这样是很危险的,因此,除非真正需要,DBA权限不应随便授予那些不是很重要的一般用户。 撤消一个用户的所有权限,并不意味着从Oracle中删除了这个用户,也不会破坏用户创建的任何表;只是简单禁止其对这些表的访问。其他要访问这些表的用户可以象以前那样地访问这些表。

二、创建角色

除了前面讲到的三种系统角色----CONNECT、RESOURCE和DBA,用户还可以在Oracle创建自己的role。用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,用户必须具有CREATE ROLE系统权限。下面给出一个create role命令的实例:

create role STUDENT;

这条命令创建了一个名为STUDENT的role。 一旦创建了一个role,用户就可以给他授权。给role授权的grant命令的语法与对用户授权的语法相同。在给role授权时,在grant命令的to子句中要使用role的名称,如下所示:

grant select on CLASS to STUDENT;

现在,拥有STUDENT角色的所有用户都具有对CLASS表的select权限。

三、删除角色

要删除角色,可以使用drop role命令,如下所示:

drop role STUDENT;

指定的role连同与之相关的权限将从数据库中全部删除。

其它

1.查看所有用户:

select * from dba_users; select * from all_users; select * from user_users;

2.查看用户或角色系统权限:

select * from dba_sys_privs; select * from user_sys_privs;

3.查看用户对象权限:

select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs;

4.查看所有角色:

select * from dba_roles;

5.查看用户或角色所拥有的角色:

select * from dba_role_privs; select * from user_role_privs;

参考文献: 创建新用户,grant授权,角色,建表 Oracle数据库查看用户状态



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭