Hi, I'm Ask INFA!
What would you like to know?
ASK INFAPreview
Please to access Ask INFA.

目次

Search

  1. はじめに
  2. アプリケーション取り込みとレプリケーション

アプリケーション取り込みとレプリケーション

アプリケーション取り込みとレプリケーション

Amazon RDS for Oracleに対するOracle特権

Amazon RDS for Oracleに対するOracle特権

Amazon RDS for OracleをデータベースとしているSAP ECCソースを持つ
アプリケーション取り込みとレプリケーション
タスクを使用している場合、
アプリケーション取り込みとレプリケーション
ユーザーに特定の特権を付与する必要があります。
GRANT文とプロシージャを実行するには、マスターユーザー名でAmazon RDSにログインする必要があります。
少なくとも、CDC処理に必要なオブジェクトおよびシステムテーブルに対するSELECT特権を、
アプリケーション取り込みとレプリケーション
ユーザー(
cmid_user
)に付与します。特定の状況では、追加の権限の付与が必要になります。
次のGRANT文を使用します。
GRANT SELECT ON "PUBLIC"."V$ARCHIVED_LOG" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$DATABASE" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$LOG" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$LOGFILE" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$TRANSPORTABLE_PLATFORM" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$THREAD" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$DATABASE_INCARNATION" TO "cmid_user"; GRANT SELECT ON "PUBLIC"."V$TRANSACTION" TO "cmid_user"; GRANT SELECT ON "SYS"."DBA_CONS_COLUMNS" TO "cmid_user"; GRANT SELECT ON "SYS"."DBA_CONSTRAINTS" TO "cmid_user"; GRANT SELECT ON DBA_INDEXES TO "cmid_user"; GRANT SELECT ON "SYS"."DBA_LOG_GROUP_COLUMNS" TO "cmid_user"; GRANT SELECT ON "SYS"."DBA_TABLESPACES" TO "cmid_user"; GRANT SELECT ON "SYS"."OBJ$" TO "cmid_user"; GRANT SELECT ON "SYS"."TAB$" TO "cmid_user"; GRANT SELECT ON "SYS"."IND$" TO "cmid_user"; GRANT SELECT ON "SYS"."COL$" TO "cmid_user"; GRANT SELECT ON "SYS"."PARTOBJ$" TO "cmid_user"; GRANT SELECT ON "SYS"."TABPART$" TO "cmid_user"; GRANT SELECT ON "SYS"."TABCOMPART$" TO "cmid_user"; GRANT SELECT ON "SYS"."TABSUBPART$" TO "cmid_user"; COMMIT; /* For combined load jobs:*/ GRANT EXECUTE ON DBMS_FLASHBACK TO "cmid_user"; /*To provide read access to the Amazon RDS online and archived redo logs:*/ GRANT READ ON DIRECTORY ONLINELOG_DIR TO "cmid_user"; GRANT READ ON DIRECTORY ARCHIVELOG_DIR TO "cmid_user";
さらに、マスターユーザーとしてログインし、次のAmazon RDSプロシージャを実行して、さらにいくつかのオブジェクトに対するSELECT特権を付与します。
begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_TABLES', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_OBJECTS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_OBJECT_TABLES', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_VIEWS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / /begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'DBA_USERS', p_grantee => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$CONTAINERS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$PARAMETER', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$SPPARAMETER', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$STANDBY_LOG', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$VERSION', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_CONS_COLUMNS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_CONSTRAINTS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_OBJECTS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_TABLES', p_grantee => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_TAB_PARTITIONS', p_grantee => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_USERS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rd 'ALL_TABLES', p_grantee => 'sadmin_util.grant_sys_object( p_obj_name => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ALL_TAB_PARTITIONS', p_grantee => 'cmid_user', p_privilege => 'SELECT', p_grant_option => false); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'ATTRCOL$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'CCOL$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'COLTYPE$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'INDPART$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'IDNSEQ$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'CDEF$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'RECYCLEBIN$', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; / /* Only required for RDS21 which supports PDB*/ begin rdsadmin.rdsadmin_util.grant_sys_object( p_obj_name => 'V_$PDBS', p_grantee => 'cmid_user', p_privilege => 'SELECT'); end; /