oracle表空间传输
oracle表空间的传输步骤如下:1.检验表空间的自包含性:SQL>exec dbms_tts.transport_set_check(account_data,true);SQL>select * from transport_set_violations;-如果未选定行,说明表空间是自包含的。否则不能传输。2.将表空间置为只读:SQL>alter tablespace tablespace_name read only;3.卸出表空间:$exp transport_tablespace=y tablespaces=tablespace_name file=xxx4.复制数据文件和卸出文件,并将这些文件复制到另一台服务器。5.使用IMP装入表空间:$imp transport_tablespace=y datafiles=xxx.dbf tablespaces=tablespace_name file=xxx.dmp6.将表空间改为读写状态:SQL>alter tablespace tablespace_name read write;表空间传输的一些限制:需要两个平台一致,必须有相同的字符集和多语言字符集。要求两个实例的db block size 大小相等,如不相等则需要兼容9.0以上等。我在windows平台和solaris平台传输表空间的时候就遇到了以上问题,摘录如下:$ imp transport_tablespace=y datafiles=/oracle/product/10.2.0/db_1/oradata/ocp10g/INDX01.DBF tablespaces=indx file=indx.DMPImport: Release 10.2.0.2.0 - Production on Fri Nov 28 08:59:02 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.Username: / as sysdbaConnected to: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsExport file created by EXPORT:V09.02.00 via conventional pathAbout to import transportable tablespace(s) metadata.import done in US7ASCII character set and AL16UTF16 NCHAR character setimport server uses AL32UTF8 character set (possible charset conversion)export client uses ZHS16GBK character set (possible charset conversion). importing SYSs objects into SYS. importing SYSs objects into SYSIMP-00017: following statement failed with ORACLE error 29345:"BEGIN sys.dbms_plugts.beginImport (9.2.0.1.0,852,2000,NULL,NULL,629""7,6301,1); END;"IMP-00003: ORACLE error 29345 encounteredORA-29345: cannot plug a tablespace into a database using an incompatible character setORA-06512: at "SYS.DBMS_PLUGTS", line 2386ORA-06512: at "SYS.DBMS_PLUGTS", line 1946ORA-06512: at line 1IMP-00000: Import terminated unsuccessfully$