Oracle 数据库特权

设置数据库特权可确定您创建或访问 Oracle 数据库的数据存储表所必须具有的权限。

使用典型安装或通过 BPMConfig 命令行实用程序生成的数据库脚本来创建数据库模式时,您的用户标识必须有权创建表。创建表时,您必须有权选择、插入、更新和删除表中的信息。

除了此页面中列出的详细权限外,每个 IBM® Business Process Manager 用户还必须具有以下权限:
  • 连接权限
  • 用户所拥有的表的表空间配额(最好不受限)
  • 每位 BPM 用户必须具有恢复 XA 事务的能力。如果需要,底层应用程序服务器基础结构会自动触发 XA 恢复,这需要以下权限。如果不希望将这些 XA 权限分配给普通用户,您可以在数据源级别指定 XA 认证别名,并将 XA 权限分配给专用用户:
    • Select on pending_trans$
    • Select on dba_2pc_pending
    • Select on dba_pending_transactions
    • Execute on dbms_xa
下表描述访问数据存储所需的数据库特权。
表 1. 数据库特权
在数据库中创建对象所需的最低特权 在数据库中访问对象所需的最低特权
用户标识需要足够的特权才能在数据存储模式中创建关系表和索引。数据库还需要在该模式所有者的缺省表空间中有空间配额。 用户标识需要 SESSION 特权,才能连接到数据库。如果同一用户标识同时拥有数据存储模式和连接到数据库的组件,那么该用户标识有足够的特权来控制表。否则,该用户标识必须对组成数据存储器的各表具有 SELECT、INSERT、UPDATE、ALTER 和 DELETE 对象特权以及 DROP ANY TABLE 系统特权,才能启用 TRUNCATE TABLE 语句。该用户标识还需要 CREATE INDEX 特权。

请参阅下表以了解 IBM Business Process ManagerWebSphere® Enterprise Service Bus 组件的详细 Oracle 数据库特权。

下表描述 IBM Business Process Manager 组件的更多 Oracle 数据库特权。 安装特权是安装和配置该产品所需的特权。运行时特权是运行该产品所需的数据库特权。
要点: 如果您为单个 Oracle 数据库配置以下所有组件,那么可以创建为每个组件指定的所有特权的超集。如果您为许多数据库配置这四个组件,那么可以为每个组件设置不同特权。
表 2. 详细的 Oracle 数据库特权
组件 安装和升级特权 运行时特权
公共数据库

以下特权针对于 DBA 创建用户以及这些用户的所有数据库对象时的情况。DBA 需要以下特权:CREATE USER, ALTER USER, CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, INSERT ANY TABLE, DELETE ANY TABLE, CREATE ANY INDEX, DROP ANY INDEX, CREATE ANY VIEW, DROP ANY VIEW, CREATE ANY PROCEDURE, DROP ANY PROCEDURE, CREATE ANY SEQUENCE

以下特权针对 DBA 创建了一个公共数据库用户, 且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况:CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE SEQUENCE

以下特权针对 DBA 创建了一个公共数据库用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况。

显式特权:

CREATE PROCEDURE

CREATE VIEW

隐式特权(包含在数据库对象的所有权中):

SELECT

INSERT

UPDATE

DELETE

运行时用户必须对公共数据库的 createSchema_*.sql 脚本中的所有序列具有 USAGE ON SEQUENCE 特权。

Business Space

以下特权针对于 DBA 创建用户以及这些用户的所有数据库对象时的情况。DBA 需要以下特权:CREATE USER, ALTER USER, CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, INSERT ANY TABLE, DELETE ANY TABLE, CREATE ANY INDEX, DROP ANY INDEX, CREATE ANY VIEW, DROP ANY VIEW, CREATE ANY PROCEDURE, DROP ANY PROCEDURE

以下特权针对 DBA 创建了一个 Business Space 用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况:CREATE TABLE, CREATE VIEW, CREATE PROCEDURE

以下特权针对 DBA 创建了一个 Business Space 用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况。

显式特权:

CREATE PROCEDURE

CREATE VIEW

隐式特权(包含在数据库对象的所有权中):

SELECT

INSERT

UPDATE

DELETE

Business Process Choreographer

以下特权针对于 DBA 创建用户以及这些用户的所有数据库对象时的情况。DBA 需要以下特权:CREATE USER, ALTER USER, CREATE TABLESPACE, CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, INSERT ANY TABLE, DELETE ANY TABLE, CREATE ANY INDEX, DROP ANY INDEX, CREATE ANY VIEW, DROP ANY VIEW, CREATE ANY PROCEDURE, DROP ANY PROCEDURE

以下特权针对 DBA 创建了一个 Business Process Choreographer 用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况:CREATE TABLE, CREATE VIEW, CREATE PROCEDURE。

以下特权针对 DBA 创建了一个 Business Process Choreographer 用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况。

显式特权:

CREATE PROCEDURE

CREATE VIEW

隐式特权(包含在数据库对象的所有权中):

SELECT

INSERT

UPDATE

DELETE

消息传递引擎

以下特权针对于 DBA 创建用户以及这些用户的所有数据库对象时的情况。DBA 需要以下特权:CREATE USER, ALTER USER, CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, INSERT ANY TABLE, DELETE ANY TABLE, CREATE ANY INDEX, DROP ANY INDEX

以下特权针对 DBA 创建了一个消息传递引擎用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况:CREATE TABLE

以下特权针对 DBA 创建了一个消息传递引擎用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况。

显式特权:

DROP ANY TABLE

隐式特权(包含在数据库对象的所有权中):

SELECT

INSERT

UPDATE

DELETE

提示: 消息传递引擎使用 TRUNCATE TABLE SQL 语句,这可能需要 DROP ANY TABLE 特权。请参阅数据库特权。如果您希望不将此特权授予给用户,可以通过调整来避免授予此特权,但会牺牲性能。请参阅 WebSphere Application Server 中的数据库特权
Process Server

以下特权针对于 DBA 创建用户以及这些用户的所有数据库对象时的情况。DBA 需要以下特权:CREATE USER、ALTER USER、CREATE TABLESPACE、CREATE ANY TABLE、ALTER ANY TABLE、DROP ANY TABLE、SELECT ANY TABLE、UPDATE ANY TABLE、INSERT ANY TABLE、DELETE ANY TABLE、LOCK ANY TABLE、CREATE ANY INDEX、DROP ANY INDEX、CREATE ANY VIEW、DROP ANY VIEW、CREATE ANY PROCEDURE、DROP ANY PROCEDURE、CREATE ANY SEQUENCE 和 DROP ANY SEQUENCE

以下特权针对 DBA 创建了一个 Process Server 用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况。

显式特权:CREATE TABLE、CREATE PROCEDURE、CREATE SEQUENCE 和 CREATE VIEW

隐式特权(包含在数据库对象的所有权中):INSERT、UPDATE、DELETE、ALTER 和 DROP

以下特权针对 DBA 创建了一个 Process Server 用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况。

显式特权:

CREATE TABLE

CREATE PROCEDURE

CREATE SEQUENCE

CREATE VIEW

隐式特权(包含在数据库对象的所有权中):

SELECT

INSERT

UPDATE

DELETE

Performance Data Warehouse

以下特权针对于 DBA 创建用户以及这些用户的所有数据库对象时的情况。DBA 需要以下特权:CREATE USER、ALTER USER、CREATE TABLESPACE、CREATE ANY TABLE、ALTER ANY TABLE、DROP ANY TABLE、SELECT ANY TABLE、UPDATE ANY TABLE、INSERT ANY TABLE、DELETE ANY TABLE、LOCK ANY TABLE、CREATE ANY INDEX、DROP ANY INDEX、CREATE ANY VIEW、DROP ANY VIEW、CREATE ANY PROCEDURE、DROP ANY PROCEDURE、CREATE ANY SEQUENCE 和 DROP ANY SEQUENCE

以下特权针对 DBA 创建了一个 Performance Data Warehouse 用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况。

显式特权:CREATE TABLE、CREATE PROCEDURE、CREATE SEQUENCE 和 CREATE VIEW

隐式特权(包含在数据库对象的所有权中):INSERT、UPDATE、DELETE、ALTER 和 DROP

以下特权针对 DBA 创建了一个 Performance Data Warehouse 用户,且该用户创建、拥有数据库对象并在运行时使用数据库对象的情况。

显式特权:

CREATE TABLE

CREATE PROCEDURE

CREATE SEQUENCE

CREATE VIEW

隐式特权(包含在数据库对象的所有权中):

SELECT

INSERT

UPDATE

DELETE

创建或迁移 IBM BPM 概要文件的所有模式或用户都必须具有 DBMS_LOCK 包的访问权。 使用性能数据库在 DBMS_LOCK 包上为 Oracle 用户或模式设置 Execute 许可权,如以下示例中所示:
GRANT execute ON DBMS_LOCK TO <schema_name>
在此示例中,schema_name 是用于性能数据库的用户标识。
IBM BPM 文档库  
  • CREATE SESSION
  • CREATE TABLE
  • CREATE VIEW
  • CREATE SEQUENCE
  • 在数据库用户所使用的所有表空间内更改用户集 QUOTA UNLIMITED
  • SELECT on pending_trans$
  • SELECT on dba_2pc_pending
  • SELECT on dba_pending_transactions
  • SELECT on DUAL
  • SELECT on product_component_version
  • SELECT on USER_INDEXES
  • EXECUTE on dbms_xa

为 IBM BPM 文档库配置数据库时,将使用名为 EmbeddedECM 的数据库功能。包含 EmbeddedECM 功能的属性文件中的数据库需要针对 IBM BPM 内容库列出的特权。

有关向 Oracle 用户分配权限的信息,请参阅主题在 Linux 上进行典型安装之前创建 Oracle 数据库用户。 有关恢复 Oracle 数据库事务的信息,请参阅主题在 Linux 上进行典型安装之前配置 Oracle 的 XA 事务