所需的权限
本部分介绍使用 Oracle 源所需的权限。
从 Oracle for Amazon RDS 登陆时,请改为参阅所需的 Amazon RDS for Oracle 权限。
一般权限
要在 数据移动网关 任务中使用 Oracle 源,必须向 数据移动网关 Oracle 连接器 连接设置中指定的用户授予 Oracle 数据库中的以下权限:
如果不能将任何所需权限授予 V$xxx,则将其授予 V_$xxx。
- SELECT ANY TRANSACTION
- SELECT on V_$ARCHIVED_LOG
- SELECT on V_$LOG
- SELECT on V_$LOGFILE
- SELECT on V_$DATABASE
- SELECT on V_$THREAD
- SELECT on V_$PARAMETER
- SELECT on V_$NLS_PARAMETERS
- SELECT on V_$TIMEZONE_NAMES
- SELECT on GV_$TRANSACTION
- SELECT on V_$CONTAINERS
- SELECT on ALL_INDEXES
- SELECT on ALL_OBJECTS
- SELECT on DBA_OBJECTS - 如果 Oracle 版本早于11.2.0.3,则是必需的。
- SELECT on ALL_TABLES
- SELECT on ALL_USERS
- SELECT on ALL_CATALOG
- SELECT on ALL_CONSTRAINTS
- SELECT on ALL_CONS_COLUMNS
- SELECT on ALL_TAB_COLS
- SELECT on ALL_IND_COLUMNS
- SELECT on ALL_LOG_GROUPS
- SELECT on SYS.DBA_REGISTRY
- SELECT on SYS.OBJ$
- SELECT on SYS.ENC$
- SELECT on DBA_TABLESPACES
- SELECT on ALL_TAB_PARTITIONS
- SELECT on ALL_ENCRYPTED_COLUMNS
- 如果显示视图:SELECT on ALL_VIEWS
当您使用特定的表列表时,授予以下附加权限(对于每个源表):
- SELECT on <any-source-table>;
为表列表使用模式时,授予以下附加权限:
- SELECT ANY TABLE;
当 数据移动网关 自动添加补充日志记录(默认行为)并且您正在使用特定的表列表时,授予以下附加权限(对于每个源表)。
- ALTER on <any-source-table>;
数据移动网关 自动添加补充日志时,授予以下附加权限(默认行为)。
- ALTER ANY TABLE;
-
访问 Oracle 备用数据库时,必须授予以下权限:
SELECT on V$STANDBY_LOG
-
访问嵌套表时,必须授予以下权限:
SELECT on all_nested_tables
SELECT on all_nested_table_cols
使用 Oracle LogMiner 访问重做日志时的访问权限
如果您使用 Oracle LogMiner 访问重做日志,请授予以下权限。
- CREATE SESSION
- EXECUTE on DBMS_LOGMNR
- SELECT on V_$LOGMNR_LOGS
- SELECT on V_$LOGMNR_CONTENTS
-
LOGMINING
信息注释此权限仅适用于 Oracle 12c 或更高版本。
使用 日志读取器 访问重做日志时的访问权限
使用 日志读取器 访问重做日志时,应向 Oracle 连接器 设置中指定的用户授予以下权限:
- CREATE SESSION
-
SELECT on v_$transportable_platform
如果恢复日志存储在 ASM 中并由 数据移动网关 从 ASM 访问,则授予 SELECT on v_$transportable_platform 权限。
- SELECT ON V_$DATABASE_INCARNATION
-
CREATE ANY DIRECTORY
Qlik Cloud 数据集成 使用以下 Oracle 文件访问功能:
- BFILE读取 — 当 数据移动网关 没有对重做日志的文件级访问权限,并且无法从 ASM 访问重做日志时使用。
- DBMS_FILE_TRANSFER 包 - 用于将重做日志文件复制到临时文件夹(在这种情况下,还需要授予 EXECUTE ON DBMS_FILE_TRANSFER 权限)
- DBMS_FILE_GROUP 包 - 用于从临时/备用文件夹中删除重做日志文件(在这种情况下,还需要授予 EXECUTE ON DBMS_FILE_GROUP 权限)。
Oracle 文件功能与 Oracle 目录协同工作。每个 Oracle 目录对象都包括包含需要处理的文件的文件夹的名称。
如果要 数据移动网关 创建和管理Oracle目录,需要授予上面指定的 CREATE ANY DIRECTORY 权限。请注意,目录名将以 attrep_
作为前缀。如果不授予此权限,则需要手动创建相应的目录。手动创建的目录名称不得以 ATTUREP_、ATTUTMP_ 或 ATTUGRP_ 作为前缀。如果您手动创建目录,并且在 Oracle 源 连接器 中指定的 Oracle 用户不是创建 Oracle 目录的用户,请同时授予 READ on DIRECTORY 权限。
如果 Oracle 源 连接器 配置为将重做日志文件复制到临时文件夹,并且在 Oracle 源 连接器 中指定的 Oracle 用户不是创建 Oracle 目录的用户,则需要以下附加权限:
- 对指定为源目录的 Oracle 目录对象执行 READ
- 在复制过程中指定为目标目录的目录对象上写入 WRITE
需要 ASM 权限
以下部分描述了在 ASM 中存储重做日志时所需的其他权限。
授予以下读取权限:
SELECT ON v_$transportable_platform
从 Oracle 11g Release 2 (11.2.0.2) 开始,数据移动网关必须授予 SYSASM 权限才能访问 ASM 帐户。对于较旧的受支持版本,授予 数据移动网关 SYSDBA 权限就足够了。
连接到 ASM时,数据移动网关 将首先尝试以 SYSDBA 身份登录,如果失败,将尝试以 SYSASM 身份登录。
您可以通过打开命令提示符并发出以下语句来验证 ASM 帐户访问:
sqlplus asmuser/asmpassword@+asmserver as sysdba
-OR-
sqlplus asmuser/asmpassword@+asmserver as sysasm