之前介绍过创建Oracle表空间的步骤,这里介绍Oracle传输表空间功能,用来将一个实例中的表空间和数据文件移到另一个实例中。执行起来方便, 快捷。但是要使用该功能有一些限制:
需要两个平台一致。必须有相同的字符集和多语言字符集。要求两个实例的db block size 大小相等,如不相等则需要兼容9.0以上等。
具体步骤如下:
SQL> alter tablespace example read only; Tablespace altered SQL> --example表空间试验 SQL> connect sys/system as sysdba Connected to Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 Connected as SYS SQL> execute dbms_tts.transport_set_check('EXAMPLE',TRUE); PL/SQL procedure successfully completed SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS; VIOLATIONS SQL> --如果上面的查询可以查到记录,则说明不适合表空间传输条件, 需要根据实际 SQL> --情况将对象移到别的表空间; SQL> 连接到: Oracle Database 10g Enterprise Edition Release 10。1。0。2。0 - Production With the Partitioning, OLAP and Data Mining options已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
注: 将不导出表数据 (行)即将导出可Oracle传输表空间元数据。。。对于表空间 EXAMPLE。。。
.正在导出簇定义
.正在导出表定义
.正在导出表 REGIONS
.正在导出表 COUNTRIES
.正在导出表 LOCATIONS
.正在导出表 DEPARTMENTS
.正在导出表 JOBS
.正在导出表 EMPLOYEES
.正在导出表 JOB_HISTORY
.正在导出表 CUSTOMERS
.正在导出表 WAREHOUSES
.正在导出表 ORDER_ITEMS
.正在导出表 ORDERS
.正在导出表 INVENTORIES
.正在导出表 PRODUCT_INFORMATION
.正在导出表 PRODUCT_DESCRIPTIONS
.正在导出表 PROMOTIONS
.正在导出表 ORDERS_QUEUETABLE
.正在导出表 AQ