TRANSPORT TABLESPACE總結

empo007發表於2007-01-18
Oracle的傳輸表空間是指,可以將一個資料庫上的一個或多個表空間的全表資料檔案複製到另一個資料庫伺服器上,透過匯入的方式將表空間資訊載入到目標資料庫的資料字典中。[@more@]

限制:

10G之前源和目標資料庫必須處於相同的平臺

源和目標資料庫必須使用相同的字符集和國家字符集

傳輸表空間不支援:物化檢視或複製、基於函式的索引、Scoped REFs和相容性設定為8.0時,帶有多個收件人的高階佇列。

使用傳輸表空間應該使源和目標資料庫的相容性都在8.1以上,如果源資料庫中的表空間的block_size和目標資料庫的db_block_size不相等,那麼目標資料庫的相容性必須設定為9.0以上。

步驟:

1、驗證表空間是否是自包含的,被傳輸的表空間必須是自包含的。

過程dbms_tts.transport_set_check用來檢查一個表空間集合是否是自包含的。這個過程有三個引數,第一個是表空間名字的列表,用逗號分隔,第二個引數指出是否檢查完整性約束,第三個引數指出檢查集合內參考集合外的同時是否反過來檢查集合外是否參考了集合內的物件。執行完過程後,查詢檢視SYS.TRANSPORT_SET_VIOLATIONS檢視檢查結果。如果檢視中有記錄說明表空間不是自包含的。

2、匯出----將所有要傳輸的表空間置為READ ONLY,使用EXP匯出所需的資料字典資訊。注意:使用EXP的時候必須以SYSDBA身份登陸。

3、匯入----將表空間包含的所有資料檔案以及EXP得到的dmp檔案透過作業系統級的命令複製到目標資料庫伺服器的指定目錄,然後SYSDBA身份使用IMP匯入表空間集合

4、分別在源、目標庫中將表空間置為READ WRITE。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/85922/viewspace-891240/,如需轉載,請註明出處,否則將追究法律責任。

相關文章