暂无图片
暂无图片
4
暂无图片
暂无图片
1
暂无图片

ORA-02195: Attempt to create TEMPORARY object in a NON-TEMPORARY tablespace 处理

原创 笨鸟 2022-03-08
4504

执行 impdp 导入时遇到如下报错

ORA-39083: Object type TABLE:“XXX”.“TABLE1” failed to create with error:
ORA-02195: Attempt to create TEMPORARY object in a NON-TEMPORARY tablespace
Failing sql is:
CREATE GLOBAL TEMPORARY TABLE “XXX”.“TABLE1” (“CERTIFYCODE” VARCHAR2(10 BYTE), “SUBCODE” VARCHAR2(2 BYTE), “RISKCODE” VARCHAR2(6 BYTE), “RISKVERSION” VARCHAR2(8 BYTE), “STARTNO” VARCHAR2(20 BYTE), “ENDNO” VARCHAR2(20 BYTE), “DMLTYPE$$” VARCHAR2(1 BYTE), “SNAPID” NUMBER(*,0), “CHANGE_VECTOR$$” RAW(255)) ON COMMIT PRESERVE ROWS


参考文档:Impdp of temporary table fails with ORA-02195: Attempt to create TEMPORARY object in a NON-TEMPORARY tablespace while remapping system tablespace to another. (文档 ID 1493317.1)

原因:
impdp 导入时,如果没有指定 REMAP_TABLESPACE 参数,默认就不会给create global temporary tables语句附加表空间信息。

然而,一旦指定了 REMAP_TABLESPACE 参数,那么就会附加 新表空间名字 到 CREATE GLOBAL TEMPORARY TABLE 语句。

将临时表从一个临时表空间映射到另一个表空间是有道理的。所以以上报错是一个预期行为,并且已提交增强请求,以便表空间重映射不会发生在临时表上。

该增强接收前,可采用如下workaround处理

Workaround 1:

  1. 导入时,排除掉该表空间上的临时表
  2. 导入后手工创建这部分临时表

Workaround 2:

  1. 删除源库的临时表,并将临时表创建到临时表空间,然后再执行导出。

  2. 导入时,通过 REMAP_TABLESPACE 重定义到目标库的临时表空间。

image.png

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

墨天轮福利君
暂无图片
3年前
评论
暂无图片 0
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收! ❤️我们还会实时派发您的流量收益。
3年前
暂无图片 点赞
评论