再說Oracle long欄位的恢復

2021-08-30 05:04:30 字數 672 閱讀 7772

維護的客戶系統因為誤操作刪除了資料,立即進行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;

再說C模組的編寫(2)

前言 在 再說c模組的編寫 1 中主要總結了lua呼叫c函式時,對陣列和字串的操作,而這篇文章將重點總結如何在c函式中儲存狀態。什麼叫做在c函式中儲存狀態?比如你現在使用lua呼叫了c函式func1,但是func1中有一些資料在呼叫完以後儲存下來,供以後使用。而這些資料就是所謂的狀態,也就是我們需要...

再說C模組的編寫(1)

前言 在 lua 控制 c 中對lua呼叫c函式做了初步的學習,而這篇才是重中之重,這篇文章會重點的總結c模組編寫過程中遇到的一些問題,比如陣列操作 字串操作和c函式的狀態儲存等問題。現在就開始吧。陣列操作 在lua中應該不能叫陣列,而是一種table的東西 而在c語言中,沒有table這種東西,只...

再說變體結構 回覆 彬 的問題

假如有這樣三種結構,分別來描述 直線 圓與三角形 type tline packed record id integer x1,y1 integer x2,y2 integer end tcircle packed record id integer x,y integer r integer en...