今天进行了oracle 表空间迁移测试:
源服务器环境:
DELL R710
RED HAT LINUX 5.4 (X64)
目标服务器环境:
办公室台式计算机
WINDOWS2008 (32位)
数据库都是ORACLE 11.2.0.1
下面是测试全过程
并不是所有的平台都可以相互迁移的。查看平台列表命令如下:
select * from v$transportable_platform
ORDER BY endian_format asc
注意:必须是高位对高位,低位对应低位。
一下是其他限制条件:
1.source db 与target DB 有相同的字符集,nls_database_parameters 中NLS_CHARACTERSET,NLS_NCHAR_CHARACTERSET必须一样
2.不能有同名tablespace,不过 10G 可用alter tablespace rename解决
3.SYSTEM TABLESPACE 不能transport,sys对象在的tablespace不能transport
4.是不是自包含的(用TRANSPORT_FULL_CHECK可以解决 )不过导出INDEX TABLESPACE 没导出依赖的表tablespace还是会报错,分区表没全部包含,表lob列所在tablespace没包含 都会报错
操作如下:
SQL> CREATE DIRECTORY expdpt as '/u01';
Directory created
SQL> alter tablespace TEST read ONLY;
Tablespace altered
SQL> execute dbms_tts.transport_set_check('test',true);
PL/SQL procedure successfully completed
[oracle@bitest u01]$ expdp system/Manager5173erp directory=expdpt dumpfile=test.dmp transport_tablespaces=TEST
Export: Release 11.2.0.1.0 - Production on Fri Jul 9 14:41:00 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
?? "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01": system/******** directory=expdpt dumpfile=test.dmp transport_tablespaces=TEST
?????? TRANSPORTABLE_EXPORT/PLUGTS_BLK
?????? TRANSPORTABLE_EXPORT/TABLE
?????? TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
?????/????? "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01"
******************************************************************************
SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 ???????:
/u01/test.dmp
******************************************************************************
?????? TEST ???????:
/u01/test01.dbf
?? "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" ?? 14:41:58 ????
然后把表空间和EXPDP文件复制到目标服务器上。
目标服务器:
SQL> create directory expdpt as 'c:\'
2 /
目录已创建。
SQL> exit;
C:\Users\Administrator>impdp system/manager5173 directory=expdpt dumpfile=test.
dmp transport_datafiles=c:\test01a.dbf remap_schema=TEST:system
Import: Release 11.2.0.1.0 - Production on 星期五 7月 9 15:01:18 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01"
启动 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01": system/******** directory=expdpt d
umpfile=test.dmp transport_datafiles=c:\test01a.dbf remap_schema=TEST:system
处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
ORA-39123: 数据泵可传输的表空间作业中止
ORA-29339: 表空间块大小 16384 与配置的块大小不匹配
作业 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" 因致命错误于 15:01:20 停止
在运行IMPDP的时候报错。
发现原因是,目标表空间的DB_BLOCK(8K)和原数据库的DB_BLOCK(16K)大小不一致。
解决办法:
alter system set db_16k_cache_size=10M;
create tablespace tbs_test_16k
datafile 'C:\tbs_test_16k.dbf' size 10M
blocksize 16k;
然后建立一个TEST16K的帐号,把默认表空间映射到tbs_test_16k。
再进行IMPDP:
C:\Users\Administrator>impdp system/manager5173 directory=expdpt dumpfile=test.
dmp transport_datafiles=c:\test01a.dbf remap_schema=TEST:TEST16K
Import: Release 11.2.0.1.0 - Production on 星期五 7月 9 15:04:15 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01"
启动 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01": system/******** directory=expdpt d
umpfile=test.dmp transport_datafiles=c:\test01a.dbf remap_schema=TEST:TEST16K
处理对象类型 TRANSPORTABLE_EXPORT/PLUGTS_BLK
处理对象类型 TRANSPORTABLE_EXPORT/TABLE
处理对象类型 TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
作业 "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" 已于 15:04:19 成功完成
OK,搞定了!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8183550/viewspace-667658/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8183550/viewspace-667658/