我在使用 impdm 和 expdp 导出/导入数据库时遇到了困难。
我有一个有效的模式,其中有几个使用类似于以下语句创建的工作视图:
CREATE OR REPLACE FORCE VIEW someView (column1, column2, etc) AS SELECT column1, column2, etc FROM someTable;
我可以毫无问题地查询视图,并且得到有效的结果:
SELECT * FROM someView;
但是,如果我尝试使用 expdp 导出视图的 DDL,甚至执行简单的 dbms_metadata.get_ddl 查询。IE:
SELECT dbms_metadata.get_ddl('VIEW','someView','someSchema') FROM DUAL
...那么一些视图 ddls 将缺少 SELECT 关键字。因此,我没有取回最初用于创建视图的原始 DDL,而是得到如下内容:
CREATE OR REPLACE FORCE VIEW someView (column1, column3, etc) AS column1, column2, etcfrom someTable;
这使我无法进行图像导出/导入,因为在导入步骤中事情会爆炸:
ORA-39083:创建对象类型 VIEW 失败,出现错误:ORA-00928:缺少 SELECT 关键字
建议?
我在 Windows 上使用 Oracle 11.2。