oracle如何導出含有CLOB格式字段的數據(轉)


問題:

1、 使用oracle dump方式導出的數據在導入的時候不能隨意選擇一張表的數據進行導入;

一般業務的表的數量都有1000左右,在出現由於某張表數據異常導致的故障時,用dump文件進行恢復基本不可行或者很費事;

2、 表存在外鍵約束和觸發器,使用oracle dump import方式導入表的時候不能非常簡單

的禁止觸發器和外鍵,導致大量錯誤產生,導入的表的數據不全,部分表數據沒有導入;

3、 當修改了某些表的數據后需要將這些表的數據恢復到測試環境搭建時的數據,import

不能將這些表的數據清空后重新導入。

4、 當修改了某些表的字段后需要將這些表的數據恢復到測試環境搭建時的數據,import

不能將這些表重建后重新導入。

解決:

PL/SQL Developer導入導出工具

PL/SQL Developer位於PLSQL DEV工具的“Tools”菜單下的“Export tables„”“Import

tables„”下,可以進行數據的導出和導入。

導出功能介紹

Where clause:

使導出操作支持where條件,比如你只需要導出每張表的10000條記錄,可以在輸入框里輸入

“rownum < 10001”。

Compress file:

選中后支持導出文件的壓縮,節省存儲空間,但是壓縮會占用多余的時間。

Include storage:

導出的文件中包含建表信息,如果需要在導入的時候能支持建表操作,需要選中該項。

導入功能介紹

Drop tables

支持在導入數據前先刪除表,選擇該項后,默認選擇“Create tables”選項,並且“Truncate

tables”“Delete table”操作變成灰色不可用狀態。

Create tables

支持在導入數據前先創建表,比如我們已將建好了用戶,這個時候需要導入表而之前又沒有執

行建表腳本的時候,可以選中此項。

Truncate tables

支持在導入數據前先清空表數據,想恢復表數據到建測試環境的時候可以使用這個選項,該選

項和“Delete tables”互斥。

Delete tables

支持在導入數據前刪除表數據,這個選項目前還沒有發現比較特殊的使用意義,該選項和

“Truncate tables”互斥。該選項的導入速度大大慢於“Truncate tables”,一般使用“Truncate tables”

如何解決導出clobblob類型數據報錯的問題

當表字段中含有clobblob類型數據時,使用PL/SQL Developer導出會報stream read error

的錯誤,導出操作終止,說明PL/SQL Developer方式導出不支持這種類型,oracle export方式可以支持這種類型。

由於需要導出的表很多,PL/SQL在導出前都要對需要導出的表進行分析,通常都會花費十幾分

鍾的時間,然而由於某張表存在clobblob類型數據時就會異常終止,那之前的操作時間就會浪費,為了導出所有表需要將導出的表進行標記,只導出沒有clobblob類型數據的表。我們通常的做法是在導出表的時候用ctrl或者shift按鍵進行手工選擇,通過導出的日志記錄不能導出的表,然后手工將這些表反選出待導出的表。但是這樣操作費時費力,需要通過不停反復的操作,才能知道哪些表不能導出。

如何使用oracle系統視圖all_tab_columnsPL/SQL在導出表的時候提供的

Object selection功能快速導出不包含clobblob的表數據。

1、 使用下面的sql語句拼出Object selection的文件內容。

--不包含clobblob的表

select distinct('TABLE "'||a.OWNER ||'"."'||a.TABLE_NAME||'"') from sys.all_tab_columns a

where a.OWNER = '用戶名'

and a.TABLE_NAME not in (select t.TABLE_NAME from sys.all_tab_columns t where t.OWNER =

'用戶名' and t.DATA_TYPE in ('CLOB','BLOB'))

 

2、 按照上面的語句的執行結果生成Object selection的文件(后綴是.osf),文件的內容

如下:

PL/SQL Developer Object Selection File

1

TABLE "用戶名"."表名1"

TABLE "用戶名"."表名2"

TABLE "用戶名"."表名3"

3、 在導出表功能的表選擇框里單擊右鍵選擇“Load Object selection”,選擇上一步制

作的文件,完成表的選擇。

4、選擇合適的參數,進行導出操作。 用oracle export方式導出包含clobblob的數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM