2010-09-08 69 views
3

我需要将Oracle数据库从生产导入到开发中,仅用于一个模式。最简单的方法是什么? 我所做的是使用此模式删除用户并使用相同的选项重新创建用户并运行import命令。这是正确的方法吗?这是导入Oracle转储数据库的正确方法吗?

我使用的是Oracle 10g,我是一名开发人员而不是DBA,但我的DBA为我提供了转储文件,并且需要构建一个本地测试环境。

我需要删除用户吗?我可以删除此用户的所有对象吗?

回答

2

当你说转储文件时,你的意思是RMAN备份或数据泵文件?如果是后者,则应该使用Oracle数据泵导入实用程序impdp来引入文件。一些文档可以在这里找到:http://www.orafaq.com/wiki/Datapump

如果是前者,最好的办法是使用企业管理控制台安排RMAN恢复作业。

+0

破维基链接 – 2012-03-05 08:57:57

1

我也是开发人员而不是DBA,但最近不得不使用导入\导出功能。

我使用Oracle Data Pump来​​实现这一点,发现Oracle文档非常有用。

数据泵的文档可以在here找到,有关Oracle称为“原始导出和导入”的文档可以在here找到。

2

我所做的就是放弃使用此模式的用户并使用相同的选项重新创建用户并运行import命令。这是正确的做法

这几乎是我在我的笔记本电脑上创建开发架构时所做的。

我可以只删除该用户的所有对象吗?

我认为这是一个相当混乱的方法。最好是放弃用户并导入它。

+0

你是什么意思“凌乱的办法”? – 2010-09-10 11:52:11

+0

@henry你打算如何删除对象?放下他们?你将如何处理依赖关系(例如:对象A依赖于依赖于C的B,但你试图删除对象A,这可能会失败)?重新创建对象时,相同的依赖关系将发挥作用。表格中的数据如何?不要自己动手做这些事情,而应该头疼不已,为什么不使用随时准备好的工具呢?我以前也曾考虑过同样的方法,但我越想到它,它就变得越复杂。所以我放弃了整个想法,只是放弃用户并重新创建用户。 – Sathya 2010-09-11 21:51:26

+0

我不同意你的看法。你可以使用“级联约束”。为依赖。您在重新创建时仍然可以导入。我同意放弃用户是一种方式。我只是想知道放下所有物体可能是另一种方式。 – 2010-09-13 12:40:38

0

打开命令提示和写

imp userName/[email protected] file=Path full=y

其中

userName = oracle用户
password =用户密码
Schema = Oracle模式
Path = C:\ dumpfile.dmp

相关问题