2017-09-27 18 views
0

我需要从一个完整备份(EXPDP)导入只有一个表到新创建的表在同一个数据库。步骤从IMPDP还原一个表在Oracle 10g

那么我可以直接用新名称导入表格吗?或者我必须先使用相同的参数创建一个新表,然后导入?

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; 

我们需要临时表只有这样我可以在以后下降佐尼。上述方法也不会影响hr架构中的原始雇员表,对吧?

+0

这是正确的方法。 –

回答

0

Oracle会从你的转储文件导入表的员工,并remame到环境管理计划,如果一个雇员表存在,它不会被affeted,如果emps表中已经存在,它不会做任何事情。 当使用TABLE_EXISTS_ACTION参数要么specifiying存在一个表,您可以更改的行为:

  • TRUNCATE =>截断表是否存在,并从
    转储进口数据
  • 更换=>将先更换与从转储定义 ,然后表导入数据
  • APPEND =>将 数据表中追加离开现有数据英寸