可传输表空间(Transportable Tablespace)特性可用于将一个表空间的集合(set)从一个Oracle数据库拷贝到另一个Oracle数据库。
使用可传输表空间来移动数据要比导出/导入或者卸载/加载同样的数据快很多。这是因为包含了所有实际数据的数据文件(datafile)只需要被拷贝到目的位置,而仅仅使用数据泵(Data Pump)来传输表空间对象的元数据(metadata)到新的数据库即可。
可传输表空间特性在许多场景下都可以用到,包括:
- 导出和导入数据仓库表中的分区(partition)
- 将结构化的数据发布到CD上
- 将一个表空间的多个只读版本拷贝到多个数据库中
- 归档(archiving)历史数据
- 进行表空间point-in-time-recovery (TSPITR)
有两种方法可以传输表空间:
- 手动。包括了执行SQL*Plus,RMAN和Data Pump中的相关命令。
- 使用企业管理器(Enterprise Manager)中的传输表空间向导(Transport Tablespaces Wizard)。
关于跨平台(platform)传输表空间
从Oracle Database 11g开始,可以跨平台进行表空间的传输。这个功能可用于:
- 将数据库从一个平台迁移到另一个平台
- 为内容提供商向运行有不同平台的Oracle数据库的客户发布和分发结构化数据提供了一个更加易用和高效的方法
- 简化了数据从数据仓库到运行在较小的平台上的数据超市的分发
- 使得在不同操作系统和平台上的Oracle Database之间可以共享只读的(read-only)表空间,只要存储系统可以被各个平台所访问并且各个平台具有相同的字节序(endianness)
跨平台表空间传输支持很多,但不是全部的平台。可以通过查询v$transportable_platform视图来查看被支持的平台,和确定每个平台的字节序。
SQL> col platform_name for a40
SQL> select * from v$transportable_platform;
如果源平台和目标平台具有不同的字节序,则需要在源平台或者目标平台上将表空间转换成为目标平台的字节序。如果字节序相同,则无需这一转换。
If you liked my post, feel free to subscribe to my rss feeds
























BlogoSquare