我希望从.dmp文件恢复Oracle数据库。
当我尝试导入此文件时,它不会替换当前数据。 论坛上的建议是删除用户/架构,然后导入.dmp。 但是我不想这样做,因为一切都在系统用户下进行。 因此,如果我放弃系统用户,我将失去对数据库管理的访问权限。
有什么想法如何导入.dmp文件并替换当前数据吗?
答案 0 :(得分:2)
如果您正在使用数据泵,我认为您必须考虑参数TABLE_EXISTS_ACTION
看来您可以使用TABLE_EXISTS_ACTION=REPLACE
来满足自己的需要,但请注意转储文件中是否有SYSTEM表,最好使用TABLES=...
子句将表定位到要替换数据的表。
P.S。这样,您可以精确地刷新表及其数据,但是不幸的是,如果不通过datapump导入删除并重新创建它们,则无法刷新其他现有对象,例如函数,过程,包等。