源端字符集与endian查看:

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK

SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
  2       FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
  3       WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;

PLATFORM_NAME                  ENDIAN_FORMAT
------------------------------ --------------
Microsoft Windows IA (32-bit)  Little

在目标端字符集与endian查看:

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK

SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
     FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
  3       WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;

PLATFORM_NAME                  ENDIAN_FORMAT
------------------------------ --------------
Linux 64-bit for AMD           Little

从上面信息可看到字条集均为ZHS16GBK,endian类型都是Little,符合transpor tablespace set的要求。

 

下面内容在源端操作:

========================================================================
SQL> create tablespace keke datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\keke_01.dbf' size 10M au
toextend on;

表空间已创建。

SQL> create user keke identified by oracle default tablespace keke;

用户已创建。

SQL> grant connect,resource,dba to keke;

授权成功。

SQL> conn keke/oracle
已连接。

SQL> create table keke as select * from dba_objects;

表已创建。

SQL> commit;

提交完成。

SQL> CONN /AS SYSDBA
已连接。
SQL> exec dbms_tts.transport_set_check('KEKE',TRUE);

PL/SQL 过程已成功完成。

SQL> select * from transport_set_violations;

未选定行

SQL> select tablespace_name,status from dba_tablespaces where tablespace_name='KEKE';

TABLESPACE_NAME                STATUS
------------------------------ ---------
KEKE                           ONLINE

已选择10行。

SQL>

SQL> alter tablespace keke read only;

表空间已更改。
C:\Documents and Settings\Administrator>expdp system/oracle directory=mydump dumpfile=keke.dmp logfi
le=keke.log transport_tablespaces=KEKE

Export: Release 10.2.0.1.0 - Production on 星期一, 09 9月, 2013 13:28:18

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

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动 "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** directory=mydump dumpfile=keke.dmp log
file=keke.log transport_tablespaces=KEKE
处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
处理对象类型 TRANSPORTABLE_EXPORT/TABLE
处理对象类型 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01"
******************************************************************************
SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 的转储文件集为:
  C:\MYDMP\KEKE.DMP
作业 "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" 已于 13:28:33 成功完成

===========================================================================

下面内容在目标端操作:

===========================================================================
SQL> create user keke identified by keke;

User created.

[oracle@node1 ~]$ impdp system/oracle dumpfile=KEKE.DMP directory=dmp transport_datafiles=/test/mydump/KEKE_01.DBF

Import: Release 10.2.0.1.0 - 64bit Production on Monday, 09 September, 2013 13:38:39

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

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/******** dumpfile=KEKE.DMP directory=dmp transport_datafiles=/test/mydump/KEKE_01.DBF
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 13:39:12

SQL> select tablespace_name,status from dba_tablespaces where tablespace_name='KEKE';

TABLESPACE_NAME                STATUS
------------------------------ ---------
KEKE                           READ ONLY
SQL> alter tablespace keke read write;

Tablespace altered.

SQL> select tablespace_name,status from dba_tablespaces where tablespace_name='KEKE';

TABLESPACE_NAME                STATUS
------------------------------ ---------
KEKE                           ONLINE

7 rows selected.

SQL> alter user keke identified by oracle default tablespace keke; #####由于权限及密码保存在oracle数据字典里,所以这些信息需要更新。

User altered.

SQL> conn keke/oracle
Connected.
SQL> select count(*) from keke;

  COUNT(*)
----------
     49781

==============================================================================

end