Oracle 12c,导出表,序列为默认值,已附加架构

时间:2018-12-20 06:48:08

标签: oracle sequence oracle12c default-value

我将oracle 12c与用户u1一起使用。与用户u1一起创建表T1,

create SEQUENCE  T1_SEQ START WITH  1;
CREATE  table T1(
  id number(11) DEFAULT T1_SEQ.nextval PRIMARY KEY ,
  name varchar2(255)
);

现在我想将架构导出到其他架构,并使用以下命令导出

expdp u1/password dumpfile=u1.dmp  schemas=u1

,但是当其他人使用u1.dmp与名为u2的新用户导入架构时,

impdp u2/password   remap_schema=u1:u2  DUMPFILE=u1.DMP TABLE_EXISTS_ACTION=REPLACE

发生错误,因为表T1列ID的默认值将U1添加为前缀。

U1.T1_SEQ.nextval

这是新的create table语句

CREATE  table T1(
      id number(11) DEFAULT U1.T1_SEQ.nextval PRIMARY KEY ,
      name varchar2(255)
    );

当我想将一个架构移动到另一个架构时,如何消除U1的影响。 你能给我一些建议吗?预先谢谢!。

1 个答案:

答案 0 :(得分:2)

根据《问汤姆》,这是一个已知且持续的问题。

所以你可以

  1. 从导入中排除受影响的对象
  2. 使用sqlfile选项导入受影响的对象
  3. 在运行之前修改sqlfile脚本输出以指向正确的对象

Please See relevant topic