SQLDeveloper复制数据库

时间:2015-01-21 09:38:51

标签: database testing oracle-sqldeveloper data-objects

我试图复制数据库用于测试/开发,在SQLDeveloper中我只能看到用户视图,我无法访问数据对象。

无论如何只复制视图并获得一个dll,为那些无法访问但在这些视图的sql查询中引用的数据对象创建某种幻像结构?问题是有超过一千个这样的引用,

在下面的示例中,由于权限太大,我无法访问标头对象, 例如:

    CREATE OR REPLACE FORCE VIEW "TRADE"."EXCHANGE" ("MSGQUE", "MSGQUE2") AS 
  select msgque, msgque2
from  head.msgqueues;

我尝试在SQL开发人员中导出视图,但是当我在Oracle测试数据库中导入视图时,视图包含错误并且无法使用,因为数据对象未在export.sql文件中导出,

提前致谢

1 个答案:

答案 0 :(得分:1)

我建议使用expdp实用程序来执行此操作。您可以明确说要抓取视图和表格 parfile示例:

SCHEMAS=SCOTT 
INCLUDE=TABLE:"IN ('DEPT')" 
INCLUDE=VIEW
DIRECTORY=datapump 
DUMPFILE=dept.dmp 
LOGFILE=dept.log

然后你可以将parfile插入到你想要的数据库中,你将获得模式中的TABLEVIEW。您可以修改IN子句以获取所需的任何命名方案。