簡單談論VB.NET傳輸表空間
VB.NET還是比較常用的,于是我研究了一下VB.NET傳輸表空間,在這里拿出來和大家分享一下,希望對大家有用。2個數(shù)據(jù)庫(ltdb和epras),從ltdb導出tsts表空間(用戶ts,包含2個數(shù)據(jù)文件)到epras
執(zhí)行步驟
1.ltdb導出可傳輸表空間(以sysdba執(zhí)行導出)到dmp文件
2.將ltdb的tsts表空間改為只讀
3.用操作系統(tǒng)命令復制數(shù)據(jù)文件和dmp文件到另一個位置給另一個數(shù)據(jù)庫epras使用。如果在一臺服務器上,dmp文件可以不必復制,復制完成后,將ltdb的tsts表空間改為可讀寫
4.在epras數(shù)據(jù)庫創(chuàng)建ts用戶(此時不必授權)
5.導入可VB.NET傳輸表空間(以sysdba執(zhí)行導入)到dmp文件到epras數(shù)據(jù)庫
6.將epras的tsts表空間改為可讀寫,給ts用戶授權
好處:和數(shù)據(jù)exp/imp相比,速度很快,dmp文件只包含表空間元數(shù)據(jù)10g支持不同平臺的表空間傳輸,支持大頭/小頭操作系統(tǒng)之間的傳輸在oracle以前的版本中,可傳輸?shù)谋砜臻g的特性可以讓表空間在相同的體系結構和操作系統(tǒng)之間遷移.
在 Oracle 數(shù)據(jù)庫 10g 中,這個局限消失了:只要操作系統(tǒng)字節(jié)順序相同,您就可以在平臺之間VB.NET傳輸表空間。一些操作系統(tǒng)(包括 Windows)在低位內存地址中用***有效字節(jié)存儲多字節(jié)二進制數(shù)據(jù);因此這種系統(tǒng)被稱為低地址低字節(jié)序。相反,其它的操作系統(tǒng)(包括 Solaris)將***有效字節(jié)存儲在低位內存地址中,因此這種系統(tǒng)被稱為低地址高字節(jié)序。當一個低地址高字節(jié)序的系統(tǒng)試圖從一個低地址低字節(jié)序的系統(tǒng)中讀取數(shù)據(jù)時,需要一個轉換過程— 否則,字節(jié)順序將導致不能正確解釋讀取的數(shù)據(jù)。
不過,當在相同字節(jié)順序的平臺之間VB.NET傳輸表空間時,不需要任何轉換。10g的表空間跨平臺遷移,較9i就是增加了一個使用Rman進行的文件格式轉換的過程.
檢查待轉換表空間
- EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('tswin1,tswin2', TRUE);
- PL/SQL procedure successfully completed.
- '是否有沖突
- SELECT * FROM TRANSPORT_SET_VIOLATIONS;
- no rows selected
- '運行rman
- rman TARGET /
- CONVERT TABLESPACE tswin1,tswin2
- TO PLATFORM 'Microsoft Windows IA (32-bit)'
- FORMAT '/tmp/rman/%U';
- '在上述例子中,轉換后的文件名難于辨認并很難與原始文件關聯(lián)
- '還可以使用其它格式來為數(shù)據(jù)文件命名
- CONVERT TABLESPACE tswin1,tswin2
- TO PLATFORM 'Microsoft Windows IA (32-bit)'
- db_file_name_convert '/tmp/LTDB','/tmp/rman'
- '這將在轉換后保留文件名。
- */
【編輯推薦】

















