Oracle将dmp还原到现有数据库

时间:2019-04-12 11:50:23

标签: oracle oracle11g oracle10g

我希望从.dmp文件恢复Oracle数据库。

当我尝试导入此文件时,它不会替换当前数据。 论坛上的建议是删除用户/架构,然后导入.dmp。 但是我不想这样做,因为一切都在系统用户下进行。 因此,如果我放弃系统用户,我将失去对数据库管理的访问权限。

有什么想法如何导入.dmp文件并替换当前数据吗?

1 个答案:

答案 0 :(得分:2)

如果您正在使用数据泵,我认为您必须考虑参数TABLE_EXISTS_ACTION

看来您可以使用TABLE_EXISTS_ACTION=REPLACE来满足自己的需要,但请注意转储文件中是否有SYSTEM表,最好使用TABLES=...子句将表定位到要替换数据的表。

P.S。这样,您可以精确地刷新表及其数据,但是不幸的是,如果不通过datapump导入删除并重新创建它们,则无法刷新其他现有对象,例如函数,过程,包等。