現有如下場景:oracle導出所有表的SQL語句,包括數據。
直接用dump是不行了。導出SQL,可行,但是遇到blob,clob文件,還是沒辦法導出。
我們可以先把所有不帶blob,clob的表篩選出來,先導出,具體做法如下:
先查出哪些表,不帶blob,clob類型:其中EEEEEE爲用戶名,具體根據自己情況替換,
select distinct ('TABLE "' || a.OWNER || '"."' || a.TABLE_NAME || '"')
from sys.all_tab_columns a
where a.OWNER = 'EEEEEE'
and a.TABLE_NAME not in
(select t.TABLE_NAME
from sys.all_tab_columns t
where t.OWNER = 'EEEEEE'
and t.DATA_TYPE in ('CLOB', 'BLOB'))
查出來數據如下:
然後進入到導出表頁面,工具-->導出表,下面選擇SQL插入一欄
右鍵上面的其中一張表,點擊保存對象選擇(save object selection),保存後得到xxx.osf文件,用編輯器打開,然後
把第一步查詢到的數據,整理後放進osf文件裏,保存。然後,在這個導出表頁面,右鍵選擇“載入對象選擇(load object selection)”,選擇剛剛整理好的osf文件,就可以篩選出特定條件的表了。。。然後可以順利導出。
然後再去處理那些字段帶有blob和clob的表,sql中去掉not,可以查出,但是不能直接導出,這裏不做贅述。
同樣的方法,可以靈活使用,根據自己的條件導出需要的表。
本文原創,轉載或摘錄請註明出處。謝謝。