之前介紹過創建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傳輸表空間元數據
成功終止導出, 沒有出現警告。