Oracle快速導入數據工具


  sqlldr是oracle自帶的快速導入批量數據的工具,常用於性能測試。考慮手工構造控制文件較為繁瑣,因此使用腳本完成批量數據的自動導入。

基本知識

sqlldr命令語法

sqlldr dbname/dbpassword@oracle_sid control=control.ctl log=sqlldr.log bad=sqlldr.bad

選項介紹

1、control 控制文件:包含導入數據和表的信息
2、log 日志文件:導入過程中的日志記錄
3、bad 失敗文件:導入失敗的數據記錄
4、rows 每次提交記錄數
5、bindsize 每次提交記錄的緩沖區大小
6、direct 使用直接路徑導入,默認為false
7、parallel 並行導入

控制文件格式

load data infile 'datafile' append into table tablename fields terminated by '|'
(
 col1,
 col2
)

設計思路

  核心是創建sqlldr導入使用的控制文件

  1、從USER_TAB_COLUMNS表中獲取輸入的欲導入數據標的表結構屬性(列名和類型);

  2、對DATE和TIMESTAMP類型進行轉換,完成sqlldr要求的控制文件格式。

  3、調用sqlldr命令執行自動導入數據。

腳本使用

  1、下載代碼:loadOradata.sh,上傳到oracle用戶任意目錄下。

  2、登錄oracle用戶,執行chmod +x loadOradata.sh賦可執行權限。

  3、執行./loadOradata.sh 數據庫名/數據庫密碼 待導入的表名 構造生成的數據文件

  說明:建議在導入數據前先備份並清理待導入的表。原因是sqlldr命令的direct=True,,可能會由於存在重復數據導致索引失效。


免責聲明!

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



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