再說Oracle long字段的恢復

維護的客戶系統因爲誤操作刪除了數據,立即進行rman恢復數據到一個測試環境,然後依據相關表間關係逐步恢復數據到生產環境.由於涉及範圍比較大,必須慎重行事.. 但是其中有好幾個表都使用了Oracle的long類型字段給恢復帶來了麻煩..

第一,不能直接generate出sql腳本來批量執行,因爲long類型字段中有好多值非常大會報字符太長的錯誤. 所以不可能挨着個的檢查和逐個執行腳本.

第二,自己寫PL/SQL先查出來long類型的字段以及主鍵ID值,先批量把其他字段值插完,然後使用遊標逐個更新long字段,但是由於數據過多,PL/SQL同樣報錯.(這個估計是oracle建立時的某個參數的設置問題)

第三,直接使用oracle提供的copy命令,出現了亂碼. 不過在isqlplus中執行一切正常. (還是sqlplus的執行環境問題)


--- 不設置long的話,他會按默認值截斷長字符串
set long 100000

copy from user_test/passwd@dbName create TstTab_Copy using select * from TstTab;

copy from user_test/passwd@dbName insert TstTab_Copy using select * from TstTab;
發佈了23 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章