【发布时间】:2015-03-25 11:59:22
【问题描述】:
我正在使用imp 命令导入数据库,但在一次之后,我们再次执行imp 命令以便第二次插入数据。我们要删除旧数据并插入新数据。
这是我尝试过的......
请帮助我并建议有助于解决此类问题的特定参数..
感谢和抱歉我的英语..
【问题讨论】:
-
请说明您是如何调用
imp命令的。
标签: linux oracle oracle-sqldeveloper imp impdp
我正在使用imp 命令导入数据库,但在一次之后,我们再次执行imp 命令以便第二次插入数据。我们要删除旧数据并插入新数据。
这是我尝试过的......
请帮助我并建议有助于解决此类问题的特定参数..
感谢和抱歉我的英语..
【问题讨论】:
imp 命令的。
标签: linux oracle oracle-sqldeveloper imp impdp
IMPDP 有参数:TABLE_EXISTS_ACTION = {SKIP |追加 |截断 |替换}
table_exists_action=skip:这表示忽略导入文件中的数据并保持现有表不变。这是默认值,如果您设置 content=data_only,则它不是有效参数。
table_exists_action=append:这表示将导出数据附加到现有表中,保留现有行并从 dmp 文件添加新行。当然,数据列的数量和类型必须匹配才能使用附加选项。就像附加提示一样,Oracle 不会重新使用空闲列表上的任何空间,并且会提高表的高水位标记以容纳传入的行。
table_exists_action=truncate:这表示截断现有表行,保留表定义并替换正在导入的 expdp dmp 文件中的行。要使用此选项,您必须在目标表上没有任何参照完整性(约束)。当现有表列与导入表列匹配时,您使用 table_exists_action=truncate。 truncate 选项不能用于 db 链接或集群表。
table_exists_action=replace:这表示删除整个表并替换导入 dmp 文件中的表定义和行。要使用此选项,您必须在目标表上没有任何参照完整性(约束)。当现有表列与导入表列不匹配时,您使用 table_exists_action=replace。
【讨论】: