如何使用imp命令覆盖现有数据

时间:2015-03-25 11:59:22

标签: linux oracle oracle-sqldeveloper imp impdp

我使用imp命令导入数据库但是一次之后,我们再次执行imp命令,以便第二次插入数据。我们想要删除旧数据并插入新数据。

这就是我试过的......

请帮助我并建议有助于解决此类问题的具体参数..

感谢和抱歉我的英语..

1 个答案:

答案 0 :(得分:-2)

IMPDP具有以下参数:TABLE_EXISTS_ACTION = {SKIP | APPEND | TRUNCATE | REPLACE}

table_exists_action = skip:这表示忽略导入文件中的数据并保持现有表不变。这是默认值,如果设置content = data_only,则它不是有效参数。

table_exists_action = append:这表示将导出数据附加到现有表上,保留现有行并从dmp文件添加新行。当然,数据列的数量和类型必须匹配才能使用append选项。就像附加提示一样,Oracle不会重新使用空闲列表中的任何空间,并且将提升表的高水位标记以容纳传入的行。

table_exists_action = truncate:这表示截断现有的表行,保留表定义并替换正在导入的expdp dmp文件中的行。要使用此选项,您必须在目标表上没有任何参照完整性(约束)。当现有表列与导入表列匹配时,可以使用table_exists_action = truncate。 truncate选项不能用于db链接或群集表。

table_exists_action = replace:这表示删除整个表并从import dmp文件中替换表定义和行。要使用此选项,您必须在目标表上没有任何参照完整性(约束)。当现有表列与导入表列不匹配时,使用table_exists_action = replace。