重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1231|回复: 0
打印 上一主题 下一主题

[工具] Error ORA-29341 while transporting tablespace with Datapump (Doc ID 271984.1)

[复制链接]
跳转到指定楼层
楼主
发表于 2021-2-26 18:44:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.2.0.0. to 12.1.0.1 [Release 11.2 to 12.1]
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.
***Checked for relevance on 02-MAR-2010***


SYMPTOMS
NOTE: In the images and/or the document content below, the user information and data used represents fictitious data from the Oracle sample schema(s) or Public Documentation delivered with an Oracle database product. Any similarity to actual persons, living or dead, is purely coincidental and not intended in any manner.

The error ORA-29341 while transporting the tablespace with DataPump


The error occurs even if the tablespace can be transported and self contained

CHANGES


CAUSE
The object residing in the tablespace which is being transported has the dependent object in the SYSTEM tablespace.

The normal export works but the error occurs in case of datapump export.


The transportable_set_check does not have full check specified and normal transportable export does not do a full check but full check disallows in-pointer or references from outside of a transportable set into a transportable set.

Steps to reproduce the error:
~~~~~~~~~~~~~~~~~~~~~

connect "/as sysdba"

create or replace directory data_pump_dir as '/home/users/dump_files';

grant read,write on directory data_pump_dir to u1;

grant exp_full_database to u1;

connect u1/u1;

create table emp (emp_name varchar2(90));

create index emp_indx on emp (emp_name) tablespace system;

insert into emp values ('asdf');

insert into emp values ('fffd');

commit;


execute dbms_tts.transport_set_check ('USERS1',true);
PL/SQL procedure successfully completed.


select * from transport_set_violations;
no rows selected

exit

$ expdp u1/u1 DUMPFILE=acb.dmp TRANSPORT_TABLESPACES='USERS1' TRANSPORT_FULL_CHECK=y LOGFILE=expacb.log

Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit
Production
With the Partitioning, OLAP and Data Mining options
Starting "U1"."SYS_EXPORT_TRANSPORTABLE_01": u1/******** DUMPFILE=acb.dmp TRANS
PORT_TABLESPACES=USERS1 TRANSPORT_FULL_CHECK=y LOGFILE=expacb.log
ORA-39123: Data Pump transportable tablespace job aborted
ORA-29341: The transportable set is not self-contained

Job "U1"."SYS_EXPORT_TRANSPORTABLE_01" stopped due to fatal error at 08:45
SOLUTION
Create the index in the same tablespace which is being transported or drop the index before transporting the tablespace.

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-20 20:51 , Processed in 0.110076 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表