conn / as sysdba create tablespace tsts datafile 'C:\oracle\oradata\orcl\tsts01.dbf' size 100m; create table t4 (col1 number(4),col2 varchar2(20)) tablespace tsts; insert into t4 values('4444','dddd'); comit; conn scott/tiger create table t5 (col1 number(4),col2 varchar2(20)) tablespace tsts; insert into t5 values ('5555','eeee'); commit; conn system/oracle create table t6 (col1 number(4),col2 varchar2(20)) tablespace tsts; insert into t6 values ('6666','ffff');
이렇게 테이블 스페이스 하나 만든 후 sys, system, scott 유저로 각각 테이블 스페이스를 지정하여 테이블 을 생성하였고 데이터를 넣었습니다.
select owner, table_name, tablespace_name from dba_tables where tablespace_name='TSTS'; 를 확인하면
OWNER TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------
SYS T4 TSTS
SYSTEM T6 TSTS
SCOTT T5 TSTS
로 확인 할 수 있지만
exp 를 사용하던 expdp 를 사용하던 테이블 스페이스를 지정하면 sys와 scott 의 객체만 저장을 하네요
expdp scott/tiger dumpfile=tstx_expdp_scott.dmp directory='DP_DIR' logfile=dp_tsts.log tablespaces=tsts
BLOCKS 메소드를 사용한 총 예측: 128 KB
객체 유형 TABLE_EXPORT/TABLE/TABLE 처리 중
. . "SCOTT"."T5" 5.460 KB 1행이 엑스포트됨
. . "SYSTEM"."T6" 5.460 KB 1행이 엑스포트됨
마스터 테이블 "SCOTT"."SYS_EXPORT_TABLESPACE_01"이(가) 성공적으로 로드됨/로드 취소됨
******************************************************************************
왜 이런 현상이 발생하는걸까요?
"Several system schemas cannot be exported because they are not user schemas; they contain Oracle-managed data and metadata. Examples of system schemas that are not exported include SYS, ORDSYS, and MDSYS."
System 스키마는 익스포트 할 수 없습니다. 왜냐하면 , 유저 스키마가 아닌 오라클 관리 데이터와 메타데이터를 담고 있기 때문입니다.
라고 합니다. (오역이 있을 수 있어 원본 첨부)
발췌 : https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL826