官网地址:GRANT
欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.
授予
目的
-
用户和角色的系统权限。 表18-1 列出系统权限(由操作的数据库对象组织)。
注意
ANY
例如,系统特权,SELECT ANY TABLE
,不会继续SYS
对象或其他字典对象. -
用户、角色和程序单元的角色。授予的角色可以是用户定义的(本地或外部),也可以是预先定义的。有关预先定义的角色列表,请参阅 甲骨文数据库安全指南 .
-
特定对象的对象权限给用户和角色. 表18-2 列出对象权限(由操作的数据库对象组织)。
注:
全球作用(创建于IDENTIFIED
GLOBALLY
)通过企业角色授予,不能使用GRANT
声明。
关于授权数据库用户的说明
您可以通过数据库和GRANT
声明。
-
甲骨文的许多数据库权限是通过提供的LS/SQL和Java包授予的。有关这些特权的信息,请参阅适当包的文档。
-
一些操作系统有一些设施,可以让您使用初始化参数向甲骨文数据库用户授予角色
OS_ROLES
.如果您选择通过操作系统设施向用户授予角色,那么您也不能通过GRANT
声明,虽然你可以使用GRANT
语句授予用户系统权限,授予其他角色系统权限和角色.
关于甲骨文自动存储管理的说明
已认证的用户AS
SYSASM
可使用此语句授予系统权限SYSASM
,SYSOPER
,以及SYSDBA
给当前节点的甲骨文ASM密码文件中的用户。
可食用物品说明
AGRANT
操作授予可选择对象上的对象权限实现当前版本中的对象。看 甲骨文数据库开发指南 有关版本和可编辑对象的更多信息。
另见:
-
创建用户 和 创造角色 关于当地、全球和外部特权的定义
-
甲骨文数据库安全指南 关于其他授权方法的信息和关于 特权
-
撤销 有关撤销资助的资料
先决条件
给予一个 系统特权 ,必须符合下列条件之一:
-
你一定得到了
GRANT
ANY
PRIVILEGE
系统特权。在这种情况下,如果您将系统特权授予某个角色,那么授予该角色的用户就没有此特权,除非该角色在用户会话中启用。 -
你一定被授予系统特权
ADMIN
OPTION
.在这种情况下,如果您将系统权限授予某个角色,那么该角色被授予的用户就拥有该权限,无论该角色是否在用户的会话中启用。
给予一个 用户的角色或其他角色 ,你必须直接获发该职位ADMIN
OPTION
,或者你一定是GRANT
ANY
ROLE
系统权限,或者你必须创建角色。
给予一个 在您自己的架构中对程序单元的角色 ,你必须直接被授予这个角色ADMIN
OPTION
或DELEGATE
OPTION
,或者你一定是GRANT
ANY
ROLE
系统权限,或者你必须创建角色。
给予一个 在另一个用户的架构中对程序单元的角色 你一定是那个SYS
角色必须由架构所有者创建或者直接授予架构所有者。
给予一个 用户的对象权限 ,指明ON
USER
《公约》条款on_object_clause
,您必须是被授予特权的用户,或者您必须已被授予该用户的对象权限。WITH
GRANT
OPTION
,或者你一定是GRANT
ANY
OBJECT
PRIVILEGE
系统特权。如果你只因为你拥有了GRANT
ANY
OBJECT
PRIVILEGE
,然后GRANTOR
报告栏*_TAB_PRIVS
视图显示授予权限的用户,而不是发布权限的用户。GRANT
声明。
给予一个 所有其他类型对象的对象权限 ,您必须拥有该对象,或该对象的所有者必须已授予您与该对象的特权。WITH
GRANT
OPTION
,或者你一定是GRANT
ANY
OBJECT
PRIVILEGE
系统特权。如果你有GRANT
ANY
OBJECT
PRIVILEGE
,然后,只有当对象所有者可以授予相同的对象权限时,才能授予对象权限。在这种情况下,GRANTOR
报告栏*_TAB_PRIVS
视图显示对象所有者,而不是发布GRANT
声明。
以指明CONTAINER
您必须连接到一个多租户容器数据库(CDB)。指定CONTAINER
=
ALL
当前的容器必须是根。
语法的
授予 ::=
图片来自官网原文
图解说明书
( grant_system_privileges::= , grant_object_privileges::= , grant_roles_to_programs::= )
grant_system_privileges ::=
图片来自官网原文
插图说明:特权。
( grantee_clause::= , grantee_identified_by::= )
大主教 ::=
图片来自官网原文
插图的说明.
grantee_identified_by ::=
图片来自官网原文
插图的说明.
grant_object_privileges ::=
图片来自官网原文
插图描述:对象_特权。
( on_object_clause::= , grantee_clause::= )
原物 ::=
图片来自官网原文
插图的说明:物体。
grant_roles_to_programs ::=
图片来自官网原文
插图的说明.
程序单元 ::=
图片来自官网原文
说明说明方案_UN。
语义学
grant_system_privileges
使用这些条款授予系统权限。
系统_特权
指定您想要授予的系统权限。 表18-1 列出由操作的数据库对象组织的系统权限。
-
如果你给一个 使用者 ,然后数据库将权限添加到用户的权限域。用户可以立即行使权限。甲骨文建议你只批准
ANY
可信任用户的特权。 -
如果你给一个 作用 然后,数据库将权限添加到角色的权限域。已授予并启用此角色的用户可以立即行使此权限。其他被授予此角色的用户可以启用此角色并行使此权限。
另见:
授予用户系统特权:示例 和 " 授予角色系统特权:示例 "
-
如果你允许
PUBLIC
然后,数据库将权限添加到每个用户的权限域。所有用户都可以立即执行特权授权的操作。甲骨文建议不给予PUBLIC
.
作用
指定您想要授予的角色。您可以授予甲骨文数据库预先定义的角色或用户定义的角色。
-
如果你给一个 使用者 ,然后,数据库将角色提供给用户。用户可以立即启用角色并在角色的权限域中行使权限。
在安全应用程序角色的情况下,您不需要将此角色直接授予用户。假设用户通过了适当的安全策略,您可以让相关的LS/SQL包这样做。详情请参阅
CREATE
ROLE
对…的语义学 使用包装 和 甲骨文数据库安全指南 -
如果你给另一个角色 作用 然后,数据库将授予角色的权限域添加到被授予角色的权限域。已被授予被授予者角色的用户可以授权它并在被授予角色的特权域中行使特权。
-
如果你给我一个角色
PUBLIC
,然后,数据库将此角色提供给所有用户。所有用户都可以立即启用角色并在角色的权限域中行使权限。
所有特权
指定ALL
PRIVILEGES
给予所有系统的特权 表18-1 ,除了SELECT
ANY
DICTIONARY
,ALTER
DATABASE
LINK
,以及ALTER
PUBLIC
DATABASE
LINK
特权。
但是,批准和撤销ALL PRIVILEGES
不适用于ADMINISTER KEY MANAGEMENT
.授予ALL PRIVILEGES
不同意ADMINISTER KEY MANAGEMENT
.同样,撤销ALL PRIVILEGES
不撤销ADMINISTER KEY MANAGEMENT
.
另见:
-
甲骨文数据库安全指南 有关甲骨文预先定义角色的信息
-
" 赋予某一角色以作用:实例 "
-
创造角色 关于创建用户定义角色的信息
大主教
使用grantee_clause
指定系统特权、角色或对象特权授予的用户或角色。
公众的
指定PUBLIC
授予所有用户权限。甲骨文建议不给予PUBLIC
.
对接受赠款者的限制
用户、角色或PUBLIC
不能出现不止一次grantee_clause.
grantee_identified_by
…grantee_identified_by
在授予用户系统权限和角色时,可以向他们分配密码。您必须指定相同数量的用户和密码.第一个密码分配给第一个用户,第二个密码分配给第二个用户,以此类推。如果指定的用户存在,那么数据库将重置用户的密码。如果指定的用户不存在,那么数据库将使用密码创建用户。
另见:
创建用户 对用户名和密码的限制 " 授予系统特权时分配用户密码:示例 "
指定WITH
ADMIN
OPTION
使接受赠款者能够:
-
将权限或角色授予另一个用户或角色,除非该角色是
GLOBAL
作用 -
撤销另一个用户或角色的权限或角色
-
更改权限或角色以更改访问它所需的授权
-
放弃特权或角色
-
在被授予者的架构中授予程序单元该角色。
-
撤销授予方架构中程序单元的角色。
如果您向用户授予系统权限或角色,而没有指定WITH
ADMIN
OPTION
,然后授予使用者特权或角色WITH
ADMIN
OPTION
,然后使用者拥有ADMIN
OPTION
关于特权或角色。
撤销ADMIN
OPTION
对于来自用户的系统权限或角色,您必须从用户中完全撤销该权限或角色,然后在没有ADMIN
OPTION
.
另见:
" 授予管理选项的角色:示例 "
带有委托选项
只有在向用户授予角色时才能指定该子句。
指定WITH
DELEGATE
OPTION
使接受赠款者能够:
-
在被授予者的架构中授予程序单元这个角色
-
撤销授予方架构中程序单元的角色
如果你不指定一个角色给用户WITH
DELEGATE
OPTION
,然后将角色授予用户WITH
DELEGATE
OPTION
,然后使用者拥有DELEGATE
OPTION
关于这个角色。
撤销DELEGATE
OPTION
对于来自用户的角色,您必须完全从用户中撤销该角色,然后在没有DELEGATE
OPTION
.
另见:
-
" 授予具有委托选项的角色:示例 "
-
… grant_roles_to_programs 有关授予程序单位角色的更多信息的条款
给予系统特权和作用的限制
特权和作用受以下限制:
-
特权或角色不能在要授予的特权和角色列表中出现不止一次。
-
你不能赋予自己一个角色。
-
你不能让一个角色
IDENTIFIED
GLOBALLY
任何东西。 -
你不能让一个角色
IDENTIFIED
EXTERNALLY
一个全局用户或全局角色。 -
你不能循环分配角色。例如,如果你让这个角色
banker
对于这个角色teller
,然后你不能批准teller
到banker
. -
你不能承认
IDENTIFIED
BY
作用,IDENTIFIED
USING
角色,或IDENTIFIED
EXTERNALLY
扮演另一个角色。
grant_object_privileges
使用这些子句授予对象权限。
物品_特权
指定要授予的对象权限。 表18-2 列出对象特权,按可以授予它们的对象类型组织。当您对可选择对象授予对象权限时,无论是对用户还是对角色,对象将在授予对象的版本中实现。指 创造版本 有关可编辑对象类型和版本的信息。
注:
给予SELECT
在另一个用户的视图中,要么您必须拥有视图下的所有对象,要么您必须已经获得了SELECT
反对特权WITH
GRANT
OPTION
所有的潜在对象。即使接受者已经有了SELECT
对那些潜在对象的特权。
给予READ
在另一个用户的视图中,要么您必须拥有视图下的所有对象,要么您必须已经获得了READ
或SELECT
反对特权WITH
GRANT
OPTION
所有的潜在对象。即使被授予者已经有了READ
或SELECT
对那些潜在对象的特权。
限制对象权限
特权不能在授予的特权列表中出现不止一次。
指定ALL
授予你的对象所有的特权GRANT
OPTION
.拥有包含对象的架构的用户自动拥有该对象上的所有权限。GRANT
OPTION
.关键字PRIVILEGES
提供了语义清晰度,是可选的。
柱
指定授予权限的表或视图列.您只能在授予INSERT
,REFERENCES
,或UPDATE
特权。如果您没有列出列,那么被授予者在表或视图中的所有列上拥有指定的权限。
有关现有列对象授予的信息,请查询USER_
,ALL_
,或DBA_COL_PRIVS
数据字典视图。
另见:
甲骨文数据库参考 查询有关资料字典浏览及 " 在单个列上授予多个对象权限:示例 "
原物
…on_object_clause
标识授予特权的对象。用户、目录对象、版本、数据挖掘模型、Java源代码和资源架构对象以及SQL翻译概要文件都是单独标识的,因为它们位于单独的名称空间中。
另见:
" 授予角色的对象特权:示例 "
对象
指定要授予权限的架构对象.如果你没有资格object
与…有关schema
,然后数据库假设对象在您自己的架构中。对象可以是下列类型之一:
-
表、视图或物化视图
-
顺序
-
程序、功能或包装
-
用户定义类型
-
上述任何项目的同义词
-
目录、库、操作符或索引类型
-
Java源、类或资源
无法直接授予分区表的单个分区的特权。
另见:
" 向用户授予表上的对象权限:示例 " , " 在视图上授予对象特权:示例 " ,以及 " 将对象特权授予另一个架构中的序列:示例 "
使用者
指定一个或多个要授予权限的数据库用户.
限制给予使用者特权
不能授予用户权限PUBLIC
.
另见:
" 授予用户对象权限:示例 "
在目录上
指定要授予权限的目录对象的名称.你没有资格directory_name
有一个架构名。
另见:
创建目录 和 " 在目录上授予对象权限:示例 "
版本
请指定USE
授予对象特权。你没有资格edition_name
有一个架构名。
采矿模式
指定授予权限的挖掘模型的名称。如果你没有资格mining_model_name
与…有关schema
然后,数据库假设挖掘模型在您自己的架构中。
关于java源
指定授予权限的Java源代码或资源架构对象的名称。如果你没有资格object
与…有关schema
然后,数据库假设对象在您自己的架构中。
另见:
创建Java
关于SQL翻译概要文件
指定要授予权限的SQL翻译概要文件的名称。如果你没有资格profile
与…有关schema
,然后数据库假设配置文件在您自己的架构中。
指定WITH
HIERARCHY
OPTION
在所有子输出上授予指定的对象权限object
,例如在视图下创建的视图,包括本声明之后创建的子对象。
此条款只有与READ
或SELECT
反对特权。
指定WITH
GRANT
OPTION
使被授予者能够将对象权限授予其他用户和角色。
如果您向用户授予对象权限而没有指定WITH
GRANT
OPTION
,然后给予使用者特权WITH
GRANT
OPTION
,然后使用者拥有GRANT
OPTION
为了特权。
撤销GRANT
OPTION
对于来自用户的对象权限,您必须从用户中完全撤销该权限,然后在没有GRANT
OPTION
.
授予选择权的授予限制
你可以指定WITH
GRANT
OPTION
只在准许使用者或PUBLIC
,不是在扮演某个角色的时候。
grant_roles_to_programs
使用此子句授予程序单元的角色.这些角色被称为基于代码的访问控制(CBA)角色。
作用
指定您想要授予的角色。您可以授予甲骨文数据库预先定义的角色或用户定义的角色。角色必须由程序单元的架构所有者创建或直接授予。
程序单元
指定要授予该角色的程序单元。您可以指定一个p/sql函数、过程或包。如果你不指定schema
然后甲骨文数据库假设函数、过程或包在您自己的架构中。
另见:
甲骨文数据库安全指南 有关授予程序单元基于代码的访问控制角色的更多信息
集装箱条款
如果当前容器是可插入数据库(PDB):
-
指定
CONTAINER
=
CURRENT
向用户或角色授予系统权限、对象权限或角色。权限或角色只授予当前PDB中的用户或角色。
如果当前容器是根:
-
指定
CONTAINER
=
CURRENT
向共同用户或共同角色授予系统权限、对象权限或角色。权限或角色只授予用户或角色的根。 -
指定
CONTAINER
=
ALL
通常授予共同对象或角色的系统特权、对象特权。
如果你省略了这个条款,那么CONTAINER
=
CURRENT
是默认的。
注:
如果你指定CONTAINER
在授予权限或角色时,当前容器必须是相同的容器,您必须指定相同的容器CONTAINER
当您撤销特权或角色时。参阅 集装箱条款 属于…的REVOKE
更多信息的声明。
系统和对象特权列表
表18-1系统特权(按操作的数据库对象排列)
系统特权名称 | 核准的业务 |
---|---|
顾问框架权限: 所有的顾问框架权限都是DBA角色的一部分。 | — |
| 通过诸如 |
通过 | |
通过 | |
接受SQL调优顾问推荐的SQL概要文件,通过企业管理器或 注意事项 :这项特权被反对,以支持 | |
改变现有SQL配置文件的属性。 注意事项 :这项特权被反对,以支持 | |
删除现有的SQL配置文件。 注意事项 :这项特权被反对,以支持 | |
通过 | |
分析观点 | — |
| 在被授予者的架构中创建分析视图。 |
| 在任何模式中创建解析视图 |
| 任何模式中重命名分析视图 |
| 在任何架构中删除分析视图 |
属性维度 | — |
| 在被授予者的架构中创建属性维度。 |
| 在任何模式中创建属性维度 |
| 任何模式中的重命名属性维度 |
| 任何模式中的放下属性维度 |
集群: | — |
| 在被授予者的架构中创建集群。 |
| 在任何模式中创建集群 |
| 任何模式中的变更集群 |
| 在任何模式中放下集群 |
背景: | — |
| 创建任何上下文名称空间。 |
| 删除任何上下文名称空间。 |
数据编辑: | — |
| 绕过现有的任何甲骨文数据编辑策略,从定义数据编辑策略的表或视图中查看实际数据。 |
数据库: | — |
| 更改数据库。 |
| 发出 |
| 发出 |
数据库链接: | — |
| 在被授予者的架构中创建私有数据库链接。 |
| 创建公共数据库链接。 |
当连接或身份验证用户的密码更改时,修改固定用户数据库链接。 | |
当连接或身份验证用户的密码更改时,修改公共固定用户数据库链接。 | |
| 放下公共数据库链接。 |
调试: | — |
| 将当前会话连接到调试器. |
| 在任何数据库对象中调试所有LS/SQL和Java代码。显示应用程序执行的所有SQL语句的信息。 注: 给予此特权等于给予 |
— | |
| 分析任何数据字典对象. |
尺寸: | — |
| 在被授予者的架构中创建维度。 |
| 在任何模式中创建维度除了 |
| 在任何模式中改变尺寸 |
| 任何模式中的降维 |
目录: | — |
| 创建目录数据库对象. |
| 放下目录数据库对象. |
版: | — |
| 创建版本。 |
| 丢弃版本。 |
闪回数据档案: | — |
| 创建、修改或删除任何闪回数据存档。 |
等级制度 | — |
| 在被授予者的架构中创建层次结构。 |
| 在任何架构中创建层次结构 |
ALTER ANY HIERARCHY | 任何架构中的重命名层次结构 |
| 在任何架构中删除层次结构 |
指数: | — |
| 创建任何模式,除了 |
| 任何模式中的更改索引 . |
| 在任何架构中删除索引 . |
索引: | — |
| 在被授予者的架构中创建索引类型。 |
| 在任何模式中创建索引类型 |
| 在任何架构中修改索引类型 . |
| 在任何架构中放下索引类型 . |
| 任何架构中的参考索引类型 . |
作业调度器对象: | 以下是在 |
| 在被授予方的架构中创建、修改或删除作业、链、时间表、程序、凭证、资源对象或不兼容的资源对象。 |
| 在任何模式中创建、更改或删除作业、链、时间表、程序、凭证、资源对象或不兼容的资源对象 . 注: 这个非常强大的权限允许被授予者像其他用户一样执行代码。应当谨慎地予以批准。 |
| 在被授予者的架构中创建一个在操作系统上运行的可执行调度程序作业。 |
| 在被授予者的架构中指定工作中的任何工作类别。 |
| 在接受者的架构中的工作中使用任何程序。 |
| 创建、修改或删除任何作业类、窗口或窗口组。 |
| 将任何附表资源对象与被授予者的架构中的任何程序或工作关联起来。 |
关键管理框架: | — |
管理钥匙和钥匙库。 | |
图书馆: | 警告: |
| 在被授予者的架构中创建外部过程或函数库。 |
| 在任何模式中创建外部过程或函数库 . |
| 在任何模式中改变外部过程或函数库 . |
| 在任何架构中删除外部过程或函数库 . |
| 在任何模式中使用外部过程或函数库 . |
伐木者: | — |
| 执行程序 |
具体化的观点: | — |
| 在被授予者的架构中创建物化视图。 |
| 在任何模式中创建物化视图 . |
| 改变任何模式中的物化视图 . |
| 删除任何模式中的物化视图 . |
| 这一特权受到反对。用户无需使用任何特权来允许对用户自己架构中引用表或视图的物化视图进行重写。 |
| 允许在任何模式中使用物化视图引用表或视图时使用物化视图重写,除非 |
| 在数据库中的任何表上创建一个重新实现视图。 将数据库中任何表格上的按需更新的物化视图改为按需更新。 |
| 在任何模式中的任何表、视图或物化视图上发布SQL闪回查询 |
采矿模式: | — |
| 使用 |
| 在任何模式中创建挖掘模型,除了 |
| 在任何模式中更改模型的挖掘模型名称或相关成本矩阵,除非 |
| 任何模式中的下拉挖掘模型,除了 ,使用 程序。 |
| 任何模式中的标记或视图挖掘模型 .得分是通过 sql函数的家庭或带 程序。查看模型是用 程序。 |
| 在任何模式中创建关于挖掘模型的注释,除了 |
橄榄球: | 当您使用OLAP选项使用甲骨文数据库时,下列权限是有效的。 |
| 在授予方的架构中创建OLAP立方体。 |
| 在任何模式中创建OLAP立方体 . |
| 在任何模式中改变立方体 . |
| 在任何模式中放下任何奥拉普立方体 . |
| 在任何模式中查询或查看olp立方体 . |
| 在任何模式中更新olap立方体 . |
奥拉普立方体测量文件夹: | 当您使用OLAP选项使用甲骨文数据库时,下列权限是有效的。 |
| 在被授予者的架构中创建OLAP度量文件夹。 |
| 在任何模式中创建OLAP度量文件夹 . |
| 在任何模式中从olAP度量文件夹中删除度量, . |
| 在任何模式中放下olapp度量文件夹 . |
| 将一项措施插入任何模式中的olAP措施文件夹 . |
橄榄立方体尺寸: | 当您使用OLAP选项使用甲骨文数据库时,下列权限是有效的。 |
| 在被授予者的架构中创建OLAP立方体维度。 |
| 在任何模式中创建OLAP立方体维度 . |
| 在任何模式中改变奥拉普立方体维度 . |
| 删除任何模式中的olAP立方体维度, |
| 在任何模式中放下olAP立方体维度 . |
| 插入到任何架构中的OLAP立方体维度中 . |
| 查看或查询任何模式中的OLAP立方体维度 . |
| 在任何模式中更新olAP立方体维度 . |
奥拉普立方体构建过程: | — |
| 在被授予者的架构中创建OLAP立方体构建过程。 |
| 在任何模式中创建OLAP立方体构建过程 . |
| 在任何模式中放下olAP立方体构建过程 . |
| 在任何模式中更新olAP立方体构建过程 . |
接线员: | — |
| 在被授予者的架构中创建操作符及其绑定。 |
| 在任何模式中创建操作符及其绑定,并在任何模式中创建对操作符的注释。 |
| 在任何模式中修改操作符。 |
| 在任何模式中放下操作符。 |
| 任何模式中的引用操作符. |
大纲: | — |
| 创建可用于任何使用大纲的架构的公共大纲。 |
| 修改轮廓。 |
| 投下轮廓。 |
人民民主党锁定档案: | — |
| 创建PDB锁定配置文件。 |
| 修改PDB锁定配置文件。 |
| 放下PDB锁定档案。 |
计划管理: | — |
| 对各种SQL语句的计划历史和SQL计划基线进行控制操作。 |
可移植数据库: | — |
创建一个PDB。 插入以前从CDB中拔出的PDB。 无性系。 | |
允许一个普通用户切换到授予此权限的容器中。此特权只能授予一个共同的用户或共同的角色。 | |
程序: | — |
| 在被授予者的架构中创建存储过程、函数或包。 |
| 在任何模式中创建存储过程、函数或包 . |
| 在任何架构中更改存储过程、函数或包 . |
| 在任何架构中放下存储过程、函数或包 . |
| 执行单独或打包的过程或函数。 任何架构中的参考公共包变量 . |
| 执行定义者的权限程序或包含当前用户数据库链接的功能。 |
概况: | — |
| 创建档案。 |
| 更改档案。 |
| 丢档案。 |
作用: | — |
| 创造角色。 |
| 改变数据库中的任何角色。 |
| 抛弃角色。 |
| 授权数据库中的任何角色。 |
回滚段: | — |
| 创建回滚段。 |
| 改变回滚段。 |
| 回滚段。 |
序列: | — |
| 在被授予者的架构中创建序列。 |
| 在任何模式中创建序列 . |
| 任何模式中的变更序列 . |
| 任何模式中的下拉序列 . |
| 任何模式中的引用序列 . |
会议: | — |
| 连接到数据库。 |
| 设定会议资源的成本。 |
| 启用并禁用SQL跟踪功能。 |
| 启动实例后使用SQL*+登录 |
快照: | 看 |
翻译简介: | — |
| 在接受方的架构中创建SQL翻译概要文件。 |
| 在任何模式中创建SQL翻译概要文件 . |
| 在任何模式中,将翻译器、自定义SQL语句翻译或SQL翻译概要文件的自定义错误翻译转换为其他方式 . |
| 在任何模式中使用SQL翻译概要文件 . |
| 在任何模式中放下SQL翻译概要文件 . |
| 为任何用户通过接受方的SQL翻译配置文件翻译SQL。 |
同义词: | 警告: |
| 在被授予者的架构中创建同义词。 |
| 在任何模式中创建私有同义词,除了 . |
| 创建公共同义词。 |
| 在任何架构中删除私人同义词,除了 |
| 抛弃公共同义词。 |
表: | 注: 对于外部表,唯一有效的权限是 |
| 在被授予者的架构中创建表。 |
| 在任何模式中创建一个表 .包含表的模式的所有者必须在表空间上有空间配额才能包含表。 |
| 改变任何模式中的表或视图 |
| 使用导出工具从其他用户的架构中逐步导出对象, . |
| 删除任何模式中的表、表分区或视图中的行 . |
| 在任何架构中删除或截断表或表分区,但不包括 . |
| 将行插入任何模式中的表和视图,除非 . |
| 任何模式中的锁表和视图 . |
任何模式中的查询表、视图或物化视图 . | |
| 任何模式中的查询表、视图或物化视图 .使用 ... . |
| 在任何模式中的任何表、视图或物化视图上发布SQL闪回查询 .不需要此特权来执行 程序。 |
| 更新任何模式中表格和视图中的行 . |
| 在网上进行重新定义而不给予任何特权 |
平板空间: | — |
| 创建表空间。 |
| 换台空间。 |
| 丢桌子空间。 |
| 脱机和在线使用表空间,开始和结束表空间备份。 |
| 使用无限数量的任何表空间。此特权优先于指定的任何特定配额。如果您从用户中撤销此特权,那么用户的模式对象将保留,但除非有特定的表空间配额授权,否则将拒绝进一步的表空间分配。您不能将此系统特权授予角色。 |
触发器: | — |
| 在被授予者的架构中创建数据库触发器。 |
| 在任何模式中创建数据库触发器 . |
| 在任何模式中启用、禁用或编译数据库触发器 . |
| 在任何模式中放下数据库触发器 . |
| 创建一个触发器 |
类型: | — |
| 在被授予者的架构中创建对象类型和对象类型体。 |
| 在任何模式中创建对象类型和对象类型机构 . |
| 任何模式中的更改对象类型 . |
| 在任何架构中放下对象类型和对象类型体 . |
| 任何模式中的对象类型和集合类型的使用和引用 ,以及在任何架构中调用对象类型的方法,除非 ,如果您将此授权授予某个特定用户。如果你同意 对于角色,那么持有启用角色的用户将无法在任何模式中调用对象类型的方法。 |
| 在任何非最终对象类型下创建子类型。 |
用户: | — |
| 创建用户。此特权也允许造物主:
|
| 任何使用者
|
| 使用者 |
意见: | — |
| 在被授予者的架构中创建视图。 |
| 在任何模式中创建视图 . |
| 在任何模式中删除视图 . |
| 在任何对象视图下创建视图。 |
| 在任何模式中的任何表、视图或物化视图上发布SQL闪回查询 .不需要此特权来执行 程序。 |
如果使用者已获得 | |
杂项: | — |
| 分析任何模式中的表、集群或索引 |
| 审计任何模式中的对象,除非 ,使用 声明。 |
允许数据泵导入实用程序和原始导入实用程序的用户假定另一个用户的身份,以便执行不能直接由第三方执行的操作(例如,加载对象特权授予等对象)。 允许流管理员创建或更改捕获用户并在流环境中应用用户。默认情况下,此特权是DBA角色的一部分。数据库库从DBA角色中删除此权限。因此,只有在安装数据库库的环境中,流才需要这种特权。 | |
在查询上创建一个注册并接收数据库更改通知,以响应DML或DDL对与已注册查询相关的对象的更改。指 甲骨文数据库开发指南 有关数据库更改通知的更多信息。 | |
| 对任何模式中的表、视图或列进行注释,但除外 . |
| 绕过细粒度访问控制。 警告: 这是一个非常强大的系统特权,因为它允许被授予者绕过应用程序驱动的安全策略。数据库管理员在授予此特权时应谨慎使用。 |
| 在本地数据库中强制提交或回滚任何在怀疑中分布的事务。 引发分布式事务的失败。 |
| 强制在本地数据库中提交或回滚接受方的可疑分布式事务。 |
| 授予对象所有者允许授予的任何对象权限. 撤销任何由对象所有者或其他用户授予的对象权限。 |
| 允许任何系统权限。 |
| 使用发票人的特权,执行被授权人拥有的发票人权利程序。 |
| … 注: 如果在运行时和请求的故障转移之间授予或撤销此特权,那么在重播期间不会返回原始值,以确保该请求的应用程序连续性。 |
| … 注: 如果在运行时和请求的故障转移之间授予或撤销此特权,那么在重播期间不会为该请求的应用程序连续性返回原始值。 |
| 从全系统回收站中移除所有对象。 |
| 可恢复空间分配。 |
| 查询数据字典中的任何对象 此权限允许您选择性地覆盖默认值 |
| 查询 警告: 这是一个非常强大的系统特权,因为它允许被授予者查看数据库中的所有数据,包括过去的数据。此权限只授予需要使用甲骨文闪回事务查询功能的用户。 |
| 进行以下备份及恢复工作:
创建、使用、查看和删除还原点(包括保证还原点)。 执行程序
包括: |
|
包括: |
| 执行下列甲骨文数据护卫行动:
创建、使用、查看和删除还原点(包括保证还原点)。
包括: |
| 执行下列密码匙管理操作: 即使数据库不打开,也要连接到数据库.
包括: |
|
包括: |
表18-2对象权限(由操作的数据库对象组织)
对象权限名称 | 核准的业务 |
---|---|
分析视图特权 | 以下内容 分析视图特权 授权分析视图的操作。 |
ALTER | 重新命名分析视图。 |
READ | 用 |
SELECT | 用SELECT 声明。 |
属性维度特权 | 以下内容 属性维度特权 授权属性维度上的操作。. |
ALTER | 重新命名属性维度。 |
目录特权 | 以下内容 目录特权 提供存储在操作系统目录中的文件的安全访问,该目录对象将其作为指针。目录对象包含文件所在的操作系统目录的完整路径名。由于文件实际上存储在数据库之外,甲骨文数据库服务器进程还需要在文件系统服务器上拥有适当的文件权限。将目录数据库对象上的对象权限授予单个数据库用户,而不是在操作系统上,允许数据库在文件操作期间强制执行安全性。 |
| 阅读目录中的文件. |
| 在目录中写入文件.此特权仅对外部表有用。它允许被授予者确定外部表代理是否可以将日志文件或坏文件写入目录。 限制: 此特权不允许接受者写信给 |
| 执行驻留在目录中的预处理器程序.当从外部表中加载数据记录时,预处理器程序将数据转换为支持格式。 |
版本特权 | 以下内容 版本特权 授权使用一个版本. |
| 使用版本。 |
闪回数据存档特权 | 以下内容 闪回数据存档特权 授权对闪回数据档案进行操作。 |
| 启用或禁用表的历史跟踪。 |
等级特权 | 以下内容 等级特权 授权层次结构的操作。 |
ALTER | 重新命名层次结构。 |
READ | 用 |
SELECT | 用 |
索引权限 | 以下内容 索引权限 授权索引类型的操作。 |
| 引用索引类型。 |
图书馆特权 | 以下内容 图书馆特权 授权在图书馆进行操作。 |
| 使用和引用指定对象并调用其方法. 警告: 这种极其强大的特权应该只授予受信任的用户。指 甲骨文数据库安全指南 在授予此特权之前。 |
实体化视图特权 | 以下内容 实体化视图特权 授权在物化视图上的操作。… |
| 在指定的表上创建一个重新实现的视图。 |
| 为使用指定表重写查询创建一个物化视图. |
| 询问物化视图。 |
| 询问物化视图。获得行锁定 |
采矿模式特权 | 下面的采矿模型权限授权对采矿模型的操作。对于用户自己的架构中的模型,不需要这些权限。 |
| 使用适用的方法更改采矿模型名称或相关成本矩阵 |
| 标记或查看采矿模型。得分是通过 |
对象类型权限 | 以下内容 对象类型权限 授权数据库对象类型上的操作. |
| 通过调试器访问对象类型上定义的所有公共和非公共变量、方法和类型。 在类型体中的行或指令边界处放置一个断点或停止。 |
| 使用和引用指定对象并调用其方法. 通过调试器访问对象类型上定义的公共变量、类型和方法. |
| 在此类型下创建一个子类型。只有当您拥有 |
优先权 | 如果您正在使用OLAP选项使用甲骨文数据库,那么下面的对象权限是有效的。 |
| 将成员插入olAP立方体维度或措施到度量文件夹中。 |
| 更改OLAP立方体维度或立方体的定义。 |
| 从"度量"文件夹中删除所有成员. |
| 查看或查询olap立方体或立方体维度. |
| 更新olp立方体的度量值或立方体维度的属性值。 |
经营者特权 | 以下内容 经营者特权 授权用户自定义操作符的操作。 |
| 参考操作员。 |
程序、功能、包权限 | 以下内容 程序、功能和包权限 授权程序、函数和包的操作。这些特权也适用于 Java源、类和资源 甲骨文数据库将其视为授予对象权限的程序。 |
| 通过调试器访问对象上定义的所有公共和非公共变量、方法和类型。 在过程、函数或包中的行或指令边界处放置一个断点或停止。此权限允许访问方法或包规范和主体中的声明。 |
| 直接执行该过程或函数,或访问包规范中声明的任何程序对象,或在调用当前无效或未编译的函数或过程时隐式编译该对象。此权限不允许被授予方使用 通过调试器访问过程、函数或包上定义的公共变量、类型和方法.此权限只允许访问方法或包规范中的声明。 作业调度器对象是使用 注: 用户不需要这个权限来间接执行一个过程、函数或包。 |
安排者特权 | 作业调度器对象是使用 |
| 在工作课程,程序,链条和证书上运作。 |
| 对工作、程序、链条、证书和时间表的修改。 |
| 将指定的调度程序资源对象与程序和作业相关联。 |
顺序特权 | 以下内容 顺序特权 授权一个序列的操作。 |
| 更改序列定义 |
序列伪柱 如果在运行时和请求的故障转移之间授予或撤销此特权,那么 注: 此项特权并非由 注: 此特权是DBA角色的一部分。 | |
| 用 |
翻译权限 | 以下内容 翻译权限 授权对SQL翻译概要文件的操作。 |
变更翻译器、自定义的SQL语句翻译或自定义的SQL翻译概要文件的错误翻译. | |
使用SQL翻译概要文件。 | |
同义词特权 | 同义词特权 与目标对象的权限相同。在同义词上授予特权等同于在基础对象上授予特权。同样,在基础对象上授予特权等同于在对象的所有同义词上授予特权。如果您在同义词上授予用户权限,那么用户可以在使用该权限的SQL语句中使用同义词名称或基础对象名称。 |
表格特权 | 以下内容 表格特权 在表上授权操作。下列任何一种对象特权,除了 注: 对于外部表,唯一有效的对象权限是 |
| 将表格定义改为 |
| 通过调试器访问:
|
| 用 注: 你必须承认 |
| 在桌子上创建一个索引 |
| 在表中添加新行 注: 你必须承认 |
| 向桌子询问 |
| 创建一个引用表的约束。你不能把这个特权授予一个角色。 |
| 向桌子询问 |
| 更改表格中的数据 注: 你必须承认 |
用户权限 | 下面的权限授权用户操作。 |
当发票人是授予此特权的用户时,以发票人的特权执行被授权人拥有的发票人权利程序或功能。 | |
| 允许授予此特权的用户执行包含当前用户数据库链接并由被授予方拥有的定义者权限程序或功能。 |
通过被授予者的SQL翻译配置文件为授予此特权的用户翻译SQL。 | |
查看权限 | 以下内容 查看权限 授权视图上的操作。下列任何一种对象特权,除了 如果要授予一个特权,你必须拥有这个特权 |
| 通过调试器访问:
|
| 用 |
| 在视图中添加新行 |
| 此对象特权具有与系统特权相同的行为 合并任何视图 ,但该特权只限于 |
| 向我们询问 |
| 定义视图上的外键约束。 |
| 向我们询问 另见: 物品_特权 有关在视图中授予此对象特权的补充信息 |
在此视图下创建一个子视图。只有当您拥有 | |
| 更改视图中的数据 |
例子
授予用户系统特权:示例
给予CREATE
SESSION
样本用户的系统特权hr
,容许hr
要登录到甲骨文数据库,发布以下声明:
GRANT CREATE SESSION
TO hr;
授予系统特权时分配用户密码:示例
假设那个用户hr
存在和使用者newuser
是不存在的。以下语句重置用户hr
密码password1
,创造用户newuser
与…有关password2
,并给予两个使用者CREATE
SESSION
系统特权:
GRANT CREATE SESSION
TO hr, newuser IDENTIFIED BY password1, password2;
授予角色系统特权:示例
下面的语句授予数据仓库管理员角色适当的系统权限,该角色是在 " 创造一个角色:例子 " :
GRANT
CREATE ANY MATERIALIZED VIEW
, ALTER ANY MATERIALIZED VIEW
, DROP ANY MATERIALIZED VIEW
, QUERY REWRITE
, GLOBAL QUERY REWRITE
TO dw_manager
WITH ADMIN OPTION;
…dw_manager
特权域现在包含与物化视图相关的系统权限。
授予管理选项的角色:示例
给予dw_manager
的作用ADMIN
OPTION
样本用户sh
发表以下声明:
GRANT dw_manager
TO sh
WITH ADMIN OPTION;
使用者sh
现在可以使用dw_manager
作用:
-
启用角色并行使角色权限域中的任何特权,包括
CREATE
MATERIALIZED
VIEW
系统特权 -
授予和撤销其他用户的角色
-
把角色放下
-
准许及撤销
dw_manager
参与和参与sh
图解
授予具有委托选项的角色:示例
给予dw_manager
的作用DELEGATE
OPTION
样本用户sh
发表以下声明:
GRANT dw_manager
TO sh
WITH DELEGATE OPTION;
使用者sh
现在可以批准和撤销dw_manager
参与和参与sh
方案。
授予角色的对象特权:示例
以下例子给予SELECT
数据仓库用户角色的对象权限,该角色是在 " 创造一个角色:例子 " :
GRANT SELECT ON sh.sales TO warehouse_user;
赋予某一角色以作用:实例
以下声明准许warehouse_user
发挥作用dw_manager
作用。两个角色都是在 " 创造一个角色:例子 " :
GRANT warehouse_user TO dw_manager;
…dw_manager
角色现在包含所有的权限领域的warehouse_user
作用。
授予用户对象权限:示例
给予INHERIT
PRIVILEGES
用户的对象权限sh
给用户hr
发表以下声明:
GRANT INHERIT PRIVILEGES ON USER sh TO hr;
在目录上授予对象权限:示例
给予READ
在目录上bfile_dir
给用户hr
,以及GRANT
OPTION
发表以下声明:
GRANT READ ON DIRECTORY bfile_dir TO hr
WITH GRANT OPTION;
向用户授予表上的对象权限:示例
把所有的特权oe.bonuses
,是在 " 并入表格:示例 " ,致使用者hr
与…GRANT
OPTION
发表以下声明:
GRANT ALL ON bonuses TO hr
WITH GRANT OPTION;
使用者hr
可随后执行下列行动:
-
行使任何特权
bonuses
桌子 -
给予任何特权
bonuses
给其他用户或角色的表格
在视图上授予对象特权:示例
给予SELECT
和UPDATE
景观上的特权emp_view
,是在 " 创建视图:示例 " ,向所有用户发出以下声明:
GRANT SELECT, UPDATE
ON emp_view TO PUBLIC;
所有用户随后都可以查询和更新员工详细信息的视图。
将对象特权授予另一个架构中的序列:示例
给予SELECT
你的特权customers_seq
架构中的顺序oe
给使用者hr
发表以下声明:
GRANT SELECT
ON oe.customers_seq TO hr;
使用者hr
可随后生成序列的下一个值,并附有以下语句:
SELECT oe.customers_seq.NEXTVAL
FROM DUAL;
在单个列上授予多个对象权限:示例
给予使用者oe
…REFERENCES
你的特权employee_id
列和列UPDATE
你的特权employee_id
,salary
,以及commission_pct
各柱employees
架构中的表格hr
发表以下声明:
GRANT REFERENCES (employee_id),
UPDATE (employee_id, salary, commission_pct)
ON hr.employees
TO oe;
使用者oe
可随后更新employee_id
,salary
,以及commission_pct
列柱。使用者oe
也可以定义引用完整性约束employee_id
圆柱。但是,因为GRANT
声明只列出这些列,oe
不能在任何其他列上执行操作。employees
表
例如,oe
可以创建一个带有约束的表:
CREATE TABLE dependent
(dependno NUMBER,
dependname VARCHAR2(10),
employee NUMBER
CONSTRAINT in_emp REFERENCES hr.employees(employee_id) );
约束力in_emp
确保所有受养人dependent
表对应于employees
架构中的表格hr
.