oracle expdp 无法导出SYS下特定TABLE

创建测试表:

D:appproduct11.1.0db_1>sqlplus "/as sysdba"

SQL*Plus: Release 11.1.0.7.0 - Production on 星期日 5月 18 17:12:06 2014

Copyright (c) 1982, 2008, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create table test_dump (id number,name varchar2(30));

表已创建。

SQL> select t.table_name,tablespace_name,status from user_tables t where t.table_name like 'TEST%';

TABLE_NAME                     TABLESPACE_NAME                STATUS
------------------------------ ------------------------------ --------
TEST_DUMP                      SYSTEM                         VALID

SQL> begin
  2  for i in 1..100 loop
  3  insert into test_dump values(i,'abc'||to_char(i));
  4  end loop;
  5  commit;
  6  end;
  7  /

PL/SQL 过程已成功完成。

尝试导出:

D:appproduct11.1.0db_1>expdp "sys/oracle as sysdba"  DUMPFILE=aduit2.dmp DIRECTORY=expdump TABLES=sys.test_dump logfile=testexp.log;

Export: Release 11.1.0.7.0 - 64bit Production on 星期日, 18 5月, 2014 17:18:38

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "SYS"."SYS_EXPORT_TABLE_01":  "sys/******** AS SYSDBA" DUMPFILE=aduit2.dmp DIRECTORY=expdump TABLES=sys.test_dump logfile=testexp.log;
正在使用 BLOCKS 方法进行估计...
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 0 KB
ORA-39165: 未找到方案 SYS。
ORA-39166: 找不到对象 TEST_DUMP。
ORA-31655: 尚未为作业选择数据或元数据对象
作业 "SYS"."SYS_EXPORT_TABLE_01" 已经完成, 但是有 3 个错误 (于 17:18:40 完成)

查找原因,最后在Oracle的官方文档

Oracle® Database Utilities
11g Release 2 (11.2)

Part Number E16536-05

中找到

Note:

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 SYSORDSYS, and MDSYS.