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