我只需要将一个表从完整备份(expdp)导入到同一数据库中的新创建表。
我可以直接用新名称导入表吗?或者我必须先创建一个具有相同参数的新表然后导入?
impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp TABLES=hr.employees REMAP_TABLE=hr.employees:emps
另一个问题是remap_table会影响我已经存在的员工表吗?或者它只会创建一个名为emps的新表,并将员工的数据从转储导入到它?
......................更新......................
我发现oracle 10g中没有remap_table,所以我可以使用这个方法:
create user johny identified by 1234;
grant create session to johny;
impdp system/****** DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp LOGFILE= tb_imp.log TABLES='HR.employees' REMAP_SCHEMA=HR: johny;
我们暂时只需要这张桌子,所以我可以稍后放弃johny。上述方法也不会影响hr模式中的原始employees表,对吗?
答案 0 :(得分:0)
Oracle将从您的转储文件中导入表员工并将其重新存储到emps,如果存在员工表,则不会受到影响,如果emps表已经存在则不会执行任何操作。 通过使用table_exists_action参数指定:
,可以在表存在时更改行为