目次

Search

  1. はじめに
  2. 一括取り込みデータベース

一括取り込みデータベース

一括取り込みデータベース

Amazon RDS for Oracleソースに対するOracle特権

Amazon RDS for Oracleソースに対するOracle特権

Amazon RDS for Oracleソースを使用している場合は、一括取り込みデータベースユーザーに特定の権限を付与する必要があります。
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; /