1. 程式人生 > >sqluldr2批量匯出Oracle的資料

sqluldr2批量匯出Oracle的資料

1.sqluldr2設定引數檢視。

       基本命令:sqluldr2


2.匯出例項

     2.1當前oracle資料庫就在當前伺服器上(示例)

     $sqluldr2  smart/smart  query="select * from advice"  

     即sqluldr2  使用者名稱/密碼  query=”查詢語句,查詢語句一定在帶分號


     2.2當前Oracle不在當前伺服器上

    $sqluldr2 smart/[email protected]/ora16  query="select* from advice" field=0x7c file="export.txt"

    匯出資料到當前資料夾的export.txt,並且用”|”來分隔欄位(注意|是特殊字元,要轉義)


    2.3使用tablec引數生成控制檔案(控制檔案的作用是可以將匯出的檔案用sqluldr匯入用)

    示例:$ sqluldr2 smart/[email protected]/ora16 query="select * from advice" field=0x7c table=control      file="export.txt"


     2.4批量匯出重新命名

     批量匯出重名,batch=1為50W,batch=2為100W, %y%m%d%b依次對應動態檔案年、月、日、批次。field=0x20,分隔符空隔,預設讓文字對齊。Sqluldr4.0.0不支援%用法。

$/home/weblogic/oratools/sqluldr2.bin4.0.0smart/[email protected]/ora16 query='select ID,NAME,AGE,ADDRDSS,HIRE_DATE from MY_TEST' field=0x20NULL='\\N' charset=AL32UTF8 batch=2 file=A%y%m%d%b.txt


3.匯出效能測試

     匯出一千多萬條資料測試效能,不到一分鐘的時間:

     $/home/weblogic/oratools/sqluldr2.bin4.0.0smart/[email protected]/ora16 

query='select ID,NAME,AGE,ADDRDSS,HIRE_DATE  from MY_TEST' field=0x7c NULL='\\N'charset=AL32UTF8 table=MY_TEST file=export.txt



4.其他總結

Field  分隔符  指定欄位分隔符,預設為逗號  

record 分隔符  指定記錄分隔符,預設為回車換行,Windows下的換行 

quote  引號符  指定非數字欄位前後的引號符

例如現在要改變預設的欄位分隔符,用“#”來分隔記錄,匯出的命令如下所示:

sqluldr2  test/test sql=tmp.sqlfield=# 

在指定分隔符時,可以用字元的ASCII程式碼(0xXX,大寫的XX為16進位制的ASCII碼值)來指定一個字元,常用的字元的ASCII程式碼如下:

回車=0x0d,換行=0x0a,TAB鍵=0x09,|=0x7c,&=0x26,雙引號=0x22,單引號=0x27

在選擇分隔符時,一定不能選擇會在欄位值中出現的字元組合,如常見的單詞等,很多次匯入時報錯,回過頭來找原因時,都發現是因為分隔符出現在欄位值中了。


相關推薦

sqluldr2批量匯出Oracle資料

1.sqluldr2設定引數檢視。        基本命令:sqluldr2 2.匯出例項      2.1當前oracle資料庫就在當前伺服器上(示例)      $sqluldr2  smart/smart  query="select * from advice"

如何利用LoadRunner最高效的批量製造Oracle資料

前不久寫過一篇高效大批量製造MySQL資料的文章:《如何利用LoadRunner最高效的批量製造MySQL資料》,後來有人問我,怎麼高效大批量製造Oracle資料。其實是一樣的,也是用JDBC的批量插入(addBatch)方法,以下就提供一下我寫的指令碼,以供參考:/* *

利用cmd的操作命令匯出oracle資料

oracle中資料庫完全匯入匯出:cmd命令列模式 Oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可以把資料從遠端資料庫伺服器匯出到本地的dmp檔案,imp命令可以把dmp檔案從本地匯入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,

通過shell指令碼 動態批量匯出mysql 資料

一般mysql匯出資料會使用select into outfile  匯出,這種方式只有在命令列模式下才能把檔案生成 到本地,如果通過儲存過程執行,檔案會生成到mysql資料庫所在的主機上。 這個時候如果你需要動態配置查詢條件來匯出檔案,就會變得很麻煩。這種情況下,可以使用

如何使用plsql匯出oracle資料建表語句,儲存過程,檢視。以及表中資料

轉載自:http://blog.csdn.net/u010735684/article/details/48524727 侵刪 第一:匯出資料建表語句,儲存過程,檢視等 開啟plsql,如圖,點選工具————匯出使用者物件  點選匯出使用者物件。如圖所示:  如圖勾

linux下配置 oracle資料匯出工具sqluldr2

工具下載地址:   http://www.anysql.net/tools/sqluldr2-non-free-features.html 右側下載SQLULDR2 分別對應32為,64位的win和Linux平臺 安裝步驟 1.需要安裝oracle_client

Oracle資料匯出匯入資料庫指令碼

--檢視目錄(dba賬號下操作) select * from dba_directories; --匯出expdp指令碼 vim exp_honesty_201809211642.par 編輯生成匯出的par指令碼新增以下指令碼內容 userid="/ as sysdba" dire

oracle建立表空間及使用者,匯出匯入資料備份

轉載:https://blog.csdn.net/ludongshun2016/article/details/52849784?utm_source=copy  建立表空間及使用者 //建立臨時表空間   create temporary tablespace salt

【轉載】oracle 資料匯入匯出

oracle 資料匯入匯出   一、oracle中copy from的用法     1.語法及使用說明   1.1 語法   下面我們來看一下SQL*Copy Command的語法及使用說明。   在解釋SQ

匯入匯出 Oracle 分割槽表資料

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

C# Oracle.ManagedDataAccess 批量更新表資料

    這是我第一次發表部落格。以前經常到部落格園查詢相關技術和程式碼,今天在寫一段小程式時出現了問題, 但在網上沒能找到理想的解決方法。故註冊了部落格園,想與新手分享(因為本人也不是什麼高手)。     vb.net和C#操作Oracle資料庫已經用了N多年了。由

Python連線Oracle資料查詢匯出結果

python連線oracle,需用用到模組cx_oracle,可以直接pip安裝,如網路不好,可下載離線後本地安裝 cx_oracle專案地址:https://pypi.org/project/cx_Oracle/ cx_oracle離線下載地址:https://pypi.org/project/cx_O

一次成功批量刪除oracle冗餘資料的經歷

問題描述:千辛萬苦往資料庫裡存了幾十萬條資料,發現由於程式問題,有將近10萬條的冗餘資料,此時內心是無比崩潰的,關於怎麼查詢是否有冗餘資料見上一篇文章(https://my.oschina.net/u/3636678/blog/2967373)。 嘗試1:首先想到的當然就是delete語句啦,如下所示:

mybatis 批量插入oracle 如果表裡存在就更新, 不存在就插入資料

判斷需要插入的資料是否存在,如果不存在就更新 <insert id="saveBatch" parameterType="java.util.List" >   MERGE INTO 表名 T   USING (  <foreach collection=

使用PHPExcel實現資料批量匯出為excel表格的方法(必看)

/** * 批量匯出資料 * @param $arr 從資料庫查詢出來,即要匯出的資料 * $name excel表歌名 */ function expExcel($arr,$name){ //require

Java實現oracle資料批量操作

java事務處理 TestDemo:結合位於java.sql下面的介面 PreparedStatement和oracle事務實現批量刪除 常用方法: int [] executeBatch(): 將一批命令提交給資料庫來執行,如果全部命令執行成功,則返回更新計陣列成的陣列。 vo

Oracle的sequences批量匯出

場景一:將某個使用者的全部sequence查詢出來,並拼成建立語句: select 'create sequence '||sequence_name|| ' minvalue '||min_value|| ' max

plsql 工具怎樣匯出 oracle資料

一、雙擊 plsql 工具,輸入登陸使用者、登陸密碼以及登陸資料庫名稱,如下圖:   二、選單 Tools --> Export Tables...,如下圖:   三、進入匯出介面後,可以選擇單個表,進行單個表資料匯出,也可以選擇多個數據表,進行

使用SQLyog批量匯出資料的遇到的問題

最近使用SQLyog批量匯出資料,資料匯出來了,但是把匯出來的資料,再執行的時候,確有問題了, 多了一行程式碼CREATE DATABASE /*!32312 IF NOT EXISTS*/`test` /*!40100 DEFAULT CHARACTER SET latin

Oracle資料匯入匯出imp/exp sp2-0734:未知的命令開頭'imp 忽略了剩餘行預設分類 解決辦法

sp2-0734:未知的命令開頭'imp 忽略了剩餘行預設分類 2010-03-03 17:36:08 閱讀134 評論0 字號:大中小 很多時候問題並沒有我們想象的那麼複雜,比如這個問題,我Google,百度了很久都沒有結果, 最後在Google的一個小連結裡面看到了,