Reputation: 327
I am using AWS DMS to migrate an on-site Oracle 11g database to an Amazon RDS for Oracle DB instance of the same major version. I recently received this error:
2019-11-27T18:54:08 [SOURCE_CAPTURE ]E: Cannot execute SQL statement 'select tp.endian_format, tp.platform_name from v$database d, v$transportable_platform tp where d.platform_id = tp.platform_id'. OCI status '-1' [1020401] (oradcdc_redoutil.c:976)
2019-11-27T18:54:08 [TASK_MANAGER ]E: OCI error 'ORA-00942: table or view does not exist'; Cannot execute SQL statement 'select tp.endian_format, tp.platform_name from v$database d, v$transportable_platform tp where d.platform_id = tp.platform_id'. OCI status '-1'; Error executing source loop; Stream component failed at subtask 0, component st_0_XGQVEPQ6RSAXZT44XOZF7ERABI ; Stream component 's
My normal administrative schema can SELECT * FROM V$TRANSPORTABLE_PLATFORM;
without issue, however, my new 'migration' schema cannot. Both have SELECT ANY TABLE
privileges which, as described in Grant Select on All VIEWS [current and future] in Schema X, will allow the user to query any table or view in any schema in the database.
What permission am I missing in my migration schema? How does V$TRANSPORTABLE_PLATFORM
differ from table/view objects in the database? What query could I run in order to obtain the type of V$TRANSPORTABLE_PLATFORM
or any other database object?
Upvotes: 1
Views: 406
Reputation: 2406
A few things you may want to try:
SELECT_CATALOG_ROLE
to allow SELECT on system viewsV_$TRANSPORTABLE_PLATFORM
since V$TRANSPORTABLE_PLATFORM
will reference that tableSYS.
Upvotes: 1