首页

文章

oracle 用户角色

发布网友 发布时间:2022-04-20 01:47

我来回答

2个回答

热心网友 时间:2022-04-08 01:15

一般建用户的过程:
sys用户登陆: sqlplus / as sysdba
建用户:create user user_name identified by password;
赋权限:grant resource,connect to user_name;

上面的过程建完用户后,用户即可使用,就是普通用户权限。

---
以上,希望对你能有帮助。

热心网友 时间:2022-04-08 02:33

一、何为角色?
我在前面的篇幅中说明权限和用户。慢慢的在使用中你会发现一个问题:如果有一组人,他们的所需的权限是一样的,当对他们的权限进行管理的时候会很不方便。因为你要对这组中的每个用户的权限都进行管理。
有一个很好的解决办法就是:角色。角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。那么上述问题就很好处理了,只要第一次将角色赋给这一组用户,接下来就只要针对角色进行管理就可以了。
以上是角色的一个典型用途。其实,只要明白:角色就是一组权限的集合。下面分两个部门来对oracle角色进行说明。

二、系统预定义角色
预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下介简单的介绍一下这些预定角色。角色所包含的权限可以用以下语句查询:
sql>select * from role_sys_privs where role='角色名';

1.CONNECT, RESOURCE, DBA
这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。

2.DELETE_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, SELECT_CATALOG_ROLE
这些角色主要用于访问数据字典视图和包。

3.EXP_FULL_DATABASE, IMP_FULL_DATABASE
这两个角色用于数据导入导出工具的使用。

4.AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE
AQ:Advanced Query。这两个角色用于oracle高级查询功能。

5.SNMPAGENT
用于oracle enterprise manager和Intelligent Agent

6.RECOVERY_CATALOG_OWNER
用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档《Oracle9i User-Managed Backup and Recovery Guide》

7.HS_ADMIN_ROLE
A DBA using Oracle's heterogeneous services feature needs this role to access appropriate tables in the data dictionary.

二、管理角色
1.建一个角色
sql>create role role1;
2.授权给角色
sql>grant create any table,create procere to role1;
3.授予角色给用户
sql>grant role1 to user1;
4.查看角色所包含的权限
sql>select * from role_sys_privs;
5.创建带有口令以角色(在生效带有口令的角色时必须提供口令)
sql>create role role1 identified by password1;
6.修改角色:是否需要口令
sql>alter role role1 not identified;
sql>alter role role1 identified by password1;
7.设置当前用户要生效的角色
(注:角色的生效是一个什么概念呢?假设用户a有b1,b2,b3三个角色,那么如果b1未生效,则b1所包含的权限对于a来讲是不拥有的,只有角色生效了,角色内的权限才作用于用户,最大可生效角色数由参数MAX_ENABLED_ROLES设定;在用户登录后,oracle将所有直接赋给用户的权限和用户默认角色中的权限赋给用户。)
sql>set role role1;//使role1生效
sql>set role role,role2;//使role1,role2生效
sql>set role role1 identified by password1;//使用带有口令的role1生效
sql>set role all;//使用该用户的所有角色生效
sql>set role none;//设置所有角色失效
sql>set role all except role1;//除role1外的该用户的所有其它角色生效。
sql>select * from SESSION_ROLES;//查看当前用户的生效的角色。
8.修改指定用户,设置其默认角色
sql>alter user user1 default role role1;
sql>alter user user1 default role all except role1;
详见oracle参考文档
9.删除角色
sql>drop role role1;
角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应的权限也就没有了。

权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:

Object 对象级

System 系统级

Role 角色级

这些权限可以授予给用户、特殊用户public或角色,如果授予一个权限给特殊用户"Public"(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户。

对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角色或用户。用户可以通过角色继承权限,除了管理权限外角色服务没有其它目的。权限可以被授予,也可以用同样的方式撤销。

建立和使用角色

如前所诉,角色存在的目的就是为了使权限的管理变得轻松。建立角色使用CREATE ROLE语句,他的语法如下:

CREATE ROLE role_name IDENTIFIED BY password
CREATE ROLE role_name IDENTIFIED EXTERNALLY
CREATE ROLE role_name IDENTIFIED GLOBALLY

转自:http://blog.csdn.net/wwwecn/archive/2006/03/19/629434.aspx
缺省情况下建立的角色没有password或者其他的识别。如果使用IDENTIFIED BY 子句建立,那么角色不会自动响应,必须用SET ROLE激活。

SET ROLE role_name IDENTIFIED BY password

EXTERNALLY和GLOBALLY类型的角色由操作系统和ORACLE Service server验证。通常用户需要权限修改应用程序中使用的表单中的数据,但是只有在应用程序运行时而不是在使用ad hoc工具时,这种上下文敏感安全可以通过有PASSWORD的角色来实现。当用户在应用程序内部连结数据库时,代码将执行SET ROLE命令,通过安全验证。所以用户不需要知道角色的password,也不需要自己输入SET ROLE命令。

对象权限

对象权限就是指在表、视图、序列、过程、函数或包等对象上执行特殊动作的权利。有九种不同类型的权限可以授予给用户或角色。如下表:
权限 ALTER DELETE EXECUTE INDEX INSERT READ REFERENCE SELECT UPDATE
Directory no no no no no yes no no no
function no no yes no no no no no no
procere no no yes no no no no no no
package no no yes no no no no no no
DB Object no no yes no no no no no no
Libary no no yes no no no no no no
Operation no no yes no no no no no no
Sequence yes no no no no no no no no
Table yes yes no yes yes no yes yes yes
Type no no yes no no no no no no
View no yes no no yes no no yes yes
对象由不止一个权限,特殊权限ALL可以被授予或撤销。如TABLE的ALL权限就包括:

SELECT,INSERT,UPDATE和DELETE,还有INDEX,ALTER,和REFERENCE。

如何看这个表我们以ALTER权限为例进行说明

ALTER权限

允许执行ALTER TABLE和LOCK TABLE操作,ALTER TABLE可以进行如下操作:

. 更改表名

. 增加或删除列

. 改变列的数据类型或大小

. 将表转变为分区表

在SEQUENCE上的ALTER权限允许执行ALTER Sequence语句,重新给sequence分配最小值、增量和缓冲区大小。

系统权限

系统权限需要授予者有进行系统级活动的能力,如连接数据库,更改用户会话、建立表或建立用户等等。你可以在数据字典视图SYSTEM_PRIVILEGE_MAP上获得完整的系统权限。对象权限和系统权限都通过GRANT语句授予用户或角色。需要注意的是在授予对象权限时语句应该是WITH GRANT OPTION子句,但在授予系统权象时语句是WITH ADMIN OPTION,所以在你试图授予系统权限时,使用语句WITH GRANT OPTION系统会报告一个错误:ONLY ADMIN OPTION can be specified。在考试中要特别注意这个语法和错误信息。

角色和角色权限

角色权限就是将属于用户的权限授予一个角色。任何权限都可以授予给一个角色。授予系统权限给被授予者必须使用WITH_ADMIN_OPTION子句,在会话期间通过SET ROLE语句授予或撤销角色权限。然而,角色权限不能依靠存储在SQL中的权限。如果函数、程序、包、触发器或者方法使用另一个计划拥有的对象,那么就必须直接给对象的拥有者授权,这是因为权限不会在会话之间改变。

授予和撤销权限

给用户或者角色授予权限使用GRANT 语句,GRANT语句的语法如下:

GRANT ROLE(或system privilege) TO user(role,Public) WITH ADMIN OPTION(可选)

对象权限被授予 WITH GRANT OPTION,

权限和数据字典

数据字典是ORACLE存储有关数据库结构信息的地方,数据本身存放在其他地方,数据字典由表和视图组成。在考试中关于数据字典最容易考的内容是:查看那一类权限已经被授予。比如DBA_TAB_PRIV包含了用户授予给另一用户的对象权限和在授予时是否带有WITH GRANT OTPION子串的信息。注意DBA_TAB_PRIV不仅仅包含了对表的权限的关系,他还包括函数、包、队列等等上的权限的关系。

主要是看你附的权限 ,Oracle里面是可以设置的,很简单,在角色管理里面点点就可以了
具体权限看你自己了,选项里面描述的很全
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 赋予oracle数据库中某一用户表权限的问题 oracle查询用户在哪些表上有何种权限 oracle中怎样查询用户权限 浅谈oracle数据库如何创建用户以及分配权限 如何给oracle用户分配权限 oracle数据库 system用户有什么权限 如何查看oracle用户的权限 Oracle中查看用户具有哪些权限及其相关视图 oracle创建用户后需要授哪些权限 oracle 总共有多少种权限? Oracle数据库面试题 用户的权限都有哪些 oracle创建用户后一般给什么权限 oracle数据库用户给哪些权限 Oracle用户的权限都有哪些 怎么给笔记本电脑连网络 笔记本电脑用网线还需要连WIFI吗? 笔记本电脑要连接wifi吗? 笔记本电脑怎么连接网络 笔记本电脑怎么连网络 笔记本电脑需要网线吗? oracle 11g授权方式具体有哪些 oracle中有没有赋予一个用户查询另一个用户所有表... 宝宝流鼻涕嗓子有痰吃什么药 流鼻涕,咳嗽有痰,喉咙痛。吃什么药? 流眼泪,打喷嚏,流鼻涕,嗓子疼,有痰,吃什么药? 感冒嗓子疼,有痰,流鼻涕,嗓子有痰咳不出,吃什么... 感冒 嗓子有痰 咳嗽 流鼻涕 吃什么好的快 或者什么... 古诗词起的女孩名字有哪些 用诗词取一个女生的名字,姓什么都好,要有意境一... 古诗词中女孩的名字有哪些? 求一个来自古诗词的名字!女生的 取自于古诗词歌赋的女孩子名字有哪些? 与诗搭配的女孩名字 有哪些取自古诗词的,好听的女孩子名字 给女孩子取名字古诗词有哪些? 圆柱和圆柱体有什么不同? 圆柱形和圆柱体的区别 圆柱和圆柱体有什么区别? 圆柱和圆柱体有什么不同? 圆柱形和圆柱体有什么区别
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com