之前介绍过创建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$_ORDERS_QUEUETABLE_S
.正在导出表 AQ$_ORDERS_QUEUETABLE_T
.正在导出表 AQ$_ORDERS_QUEUETABLE_H
.正在导出表 AQ$_ORDERS_QUEUETABLE_G
.正在导出表 AQ$_ORDERS_QUEUETABLE_I
.正在导出表 STREAMS_QUEUE_TABLE
.正在导出表 AQ$_STREAMS_QUEUE_TABLE_S
.正在导出表 AQ$_STREAMS_QUEUE_TABLE_T
.正在导出表 AQ$_STREAMS_QUEUE_TABLE_H
.正在导出表 AQ$_STREAMS_QUEUE_TABLE_G
.正在导出表 AQ$_STREAMS_QUEUE_TABLE_I
.正在导出表 TIMES
.正在导出表 PRODUCTS
.正在导出表 CHANNELS
.正在导出表 PROMOTIONS
.正在导出表 CUSTOMERS
.正在导出表 COUNTRIES
.正在导出表 SUPPLEMENTARY_DEMOGRAPHICS
.正在导出表 CAL_MONTH_SALES_MV
.正在导出表 FWEEK_PSCAT_SALES_MV
.正在导出表 SALES
.正在导出表 COSTS
.正在导出表 MVIEW$_EXCEPTIONS
.正在导出表 ONLINE_MEDIA
.正在导出表 PRINT_MEDIA
.正在导出引用完整性约束条件
.正在导出触发器
.结束导出可Oracle传输表空间元数据
成功终止导出, 没有出现警告。
【编辑推荐】