oracle_角色

一、

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

Oracle角色(role)就是一组权限(privilege) (或者是每个用户根据其状态和条件所需的访问类型)。

用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。

二、3种标准角色

1. CONNECT Role(连接角色)

拥有CONNECT role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。

2. RESOURCE Role(资源角色) 
提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster),resource角色隐含unlimited tablespace系统权限。

3、dba角色

dba角色具有所有的系统权限,及with admin option选项,默认的dba用户为sys和system他们可以将任何系统权限授予其他用户。

但是要注意的是dba角色不具备sysdba和sysoper的特权(启动和关闭数据库)。

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

4、创建角色 
除了前面讲到的三种系统角色----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权限。

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

6、显示角色信息

(1)显示所有角色

sql>select * from dba_roles;

(2)显示角色具有的系统权限

sql>select privilege,admin_option from role_sys_privs where role=‘角色名‘;

(3)显示角色具有的对象权限

通过查询数据字典视图dba_tab_privs可以查看角色具有的对象权限或是列的权限。

(4)显示用户具有的角色及默认角色

当以用户的身份连接到数据库时,Oracle会自动的激活默认的角色,通过查询数据字典视图dba_role_privs可以显示某个用户具有的所有角色及当前默认的橘色。

sql>select granted_role,default_role from dba_role_privs where grantee=‘用户名‘;

时间: 2024-10-11 12:30:25

oracle_角色的相关文章

Oracle_角色_权限详细说明

一.Oracle内置角色connect与resource的权限 grant connect,resource to user; CONNECT角色: --是授予最终用户的典型权利,最基本的 ALTER SESSION --修改会话 CREATE CLUSTER --建立聚簇 CREATE DATABASE LINK --建立数据库链接 CREATE SEQUENCE --建立序列 CREATE SESSION --建立会话 CREATE SYNONYM --建立同义词 CREATE VIEW -

Oracle_高级功能(5) 用户、角色、权限

一.用户(模式)1.定义用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作模式(schema):是某个用户所拥有的对象的集合.具有创建对象权限并创建了对象的用户称为拥有某个模式注意:创建数据库对象(视图,表等)的任一用户都拥有一个与该用户名称相同的模式,且被视为模式用户. 2.用户分类:用户分为:系统预定义用户.自定义用户.系统预定义用户包括: sys用户,缺省始终创建,且未被锁定,拥有数据字典及其关联的所有对象 system用户,缺省始终创建,且未被锁定,可以访问

Oracle_创建用户_授予权限

Oracle_创建用户_授予权限 --创建用户,需要足够的权限  create create user hzf identified by hzf;    --给用户bjsxt分配权限  grant grant connect,resource to hzf; grant dba to hzf; --撤销权限 revoke revoke connect,resource from hzf;   --删除用户 drop user hzf;   权限 权限指执行特定类型SQL 命令或访问其他对象的权

(十四)角色管理(Ztree插件的基本使用)

1. 建表 角色表 菜单表 角色-菜单表

Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限

0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计 3 Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL 4 Asp.Net Core 项目实战之权限管理系统(4) 依赖注入.仓储.服务的多项目分层实现 5 Asp.Net Core 项目实

user_role用户_角色

查询所有的用户:select * from dba_users; 创建新用户:CREATE USER "RSC" PROFILE "DEFAULT" IDENTIFIED BY "*******" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" QUOTA UNLIMITED ON "USERS" ACCOUNT UNLOCK

互联网公司的“敏捷开发”流程是怎么样的,每个职位的角色和分工是什么?

作者:暗灭 第一   为什么需要敏捷开发. 在几万年以前,软件项目的开发都是以年来计算的,这代表什么意思呢 ?需求设计了半年多,方案设计做了半年多,开发了三年多,测试了半年多,修改Bug用了半年多.总计花了很长很长的时间,然后上线后发现有很多需求已经不存在了,同时又出现了很多新的需求. 怎么办?继续改.这一改又是半年多的时间过去了.马丹用户的需求还再改,怎么办? 这是困扰软件开发项目的最大的问题,越大的项目,参与的人越多,风险越大.文档越规范,维护起来的难度就越高,导致项目中遇到的问题越来越多.

Exchange 2013 (多服务器多角色)安装部署(一)

Exchange Server 是微软公司的一套电子邮件服务组件,是个消息与协作系统.与exchange 2010 相比,Exchange 2013 在角色上发生了重大的变化,只有 Mailbox 和 Client Access 服务器角色,取消了集线器传输.统一角色 2个服务器角色 . 环境部署: 域林环境:主域:ds01.bicionline.org ,辅助域控:pdc01.bicionline.org  ,树域:bici-igrid.com ,子域:sh.bicionline.org ;

selenium之测试角色管理页面举例

# 测试角色权限管理页面功能 # author:xr # date:2017-07-20 from selenium import webdriver from login_page import LoginPage import random, time login_obj = LoginPage() driver = webdriver.Chrome() time.sleep(2) driver = login_obj.login(driver) # 登录 driver.find_eleme