問題背景:最近公司數據庫服務器為了統一管理,對分散在各個服務器的數據庫集中到一台機器(252)上。為區別以ip地址最后一節作為各個機器的名稱。分散服務器有一台是98。其中一個數據庫比較小,用exp導出,用imp導入是出現錯誤,有clob字段的表(暫舉一例:T_NEWS)一直導入失敗。本人oracle玩的不轉。就想用sql server的鏈接服務器的辦法來解決。
解決描述:
1.在98上創建鏈接服務器
Create public database link lnk252 connect to user252 identified by psw252 using 'ora252'
其中:lnk252是創建的鏈接服務器名稱;user252是252機器上的oracle用戶;psw252是252機器上的oracle用戶user252對應的密碼;ora252是本地對252監聽的服務名。
2.在252機器創建跟98機器一樣的表結構的表T_NEWS.
3.執行語句 insert into T_NEWS@lnk252 select * from T_NEWS.
4.OK數據導入成功。
不足之處:
1.如果庫中有lob大字段的表過多,需要一個一個的執行,比較繁瑣。
2.創建dblink受用戶權限的限制。