在Oracle 11g中,我需要`SELECT * FROM V $ TRANSPORTABLE_PLATFORM;`?

问题描述 投票:0回答:1

我正在使用AWS DMS将现场Oracle 11g数据库迁移到相同主要版本的Amazon RDS for Oracle DB实例。我最近收到此错误:

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

我的普通管理模式可以毫无问题SELECT * FROM V$TRANSPORTABLE_PLATFORM;,但是我的新“迁移”模式不能。两者都具有SELECT ANY TABLE特权,如Grant Select on All VIEWS [current and future] in Schema X中所述,将允许用户查询数据库中任何表或任何模式中的视图。

我在迁移架构中缺少什么权限? V$TRANSPORTABLE_PLATFORM与数据库中的表/视图对象有何不同?我可以运行什么查询以获得V$TRANSPORTABLE_PLATFORM或任何其他数据库对象的类型?

oracle oracle11g permissions permission-denied aws-dms
1个回答
0
投票

您可能想尝试的几件事:

  • 授予SELECT_CATALOG_ROLE允许在系统视图上进行SELECT
  • 由于V_$TRANSPORTABLE_PLATFORM将引用该表,因此向V$TRANSPORTABLE_PLATFORM添加了手动授予
  • 通过添加SYS.确保架构不模糊
© www.soinside.com 2019 - 2024. All rights reserved.