日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

charset参数 sqluldr2_sqluldr2使用几例

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 charset参数 sqluldr2_sqluldr2使用几例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

sqluldr2是樓方鑫(d.b.c.a)編寫的一個快速導出oracle數據的工具。本文主要介紹如何使用這個工具實現工作中的幾個需求。

一、導出文件分卷

對于壓縮文件winrar,一個比較深的功能就是壓縮后的文件還是比較大時,不方便復制時,可以進行分卷壓縮,制定每個壓縮分卷文件的大小。同樣,對于使用Toad或者PL/SQL developer工具導成文件文件時,由于缺乏這個功能,常常造成單個文件過大,生成時間過長。

sqluldr2工具有一個rows參數,除了類似exp工具的feedback參數,每導出行數據,自動輸出一行提示信息外,還可以結合batch參數,如果batch參數設為yes,則每行數據生成一個導出文件。

此外size參數可以指定導出文件的最大的大小。它與rows參數 取更嚴厲的要求來確定分卷文件的大小。

由于按多個文件輸出,因此在指定輸出文件名時,需使用動態文件名,例如指定file參數為orders_%B.csv,其中%B表示在多個文件導出時,表示文件序號。

例如,sqluldr2.par定義為如下:

user=system/manager@dbserver

query=select?? /*+ parallel(8)? */? * from? orders

head=no

rows=1000000

file=d:\data\orders_%B.csv

log=d:\data\sqluldr.log

text=CSV

fast=yes

batch=yes

size=500

control=d:\data\order.ctl

mode=truncate

table=orders

執行起來:sqluldr2? parfile=./sqluldr2.par

二、ORACLE跨數據庫的導入導出

我們將數據導成文本,其最終目的還是要導入到其它數據庫。 導入其它ORACLE數據庫,最快的方法就是使用ORACLE自帶的sqlldr工具。

Sqlldr使用的控制文件,可以在第一部分中control、mode和table參數指定后,生成控制文件,可以修改這個文件以適合實際使用。

如果我們先把數據導成文本文件,再使用sqlldr導入到數據庫,由于涉及到磁盤的寫入讀取,可能在大數據量時影響速度。因此可以將sqluldr2的輸出到標準輸出設備(屏幕),而sqlldr從標準輸出設備上讀取入庫。

可以將sqluldr2的file參數設置為”-“, sqluldr2將輸出到標準輸出設備,修改sqlldr中的控制文件的INFILE參數為"-"(對于windows和unix參數),使用管道模式,進行數據導出裝載。

此外,由于源(sqluldr2導出的苦)和目標數據庫(sqlldr導入庫)的字符集不一樣(這也是我們之所以采用文本導出方式的原因),

我們可以在NLS_LANG環境變量和目標數據庫字符集一致的情況下,

設置sqluldr2的charset參數與源數據庫字符集一致,避免來回修改NLS_LANG環境變量。

舉例:

在sqlldr中的控制文件

指定INFILE參數:

LOAD

DATA

INFILE "-"

源數據庫字符集為US7ASCII,目標數據庫字符集ZHS16GBK,當前NLS_LANG為AMERICAN_AMERICA.ZHS16GBK

sqluldr2

user=system/manager@dbserver1

query="select?? /*+

parallel(8)? */ ??* from

orders where rownum <10" charset=US7ASCII?? ???file=- |

sqlldr guoge/guoge@dbserver 2control=D:\order.ctl

注意,的INFILE參數為"-"對于XE下的sqlldr仿佛無效。

三、MYSQL數據庫的導入

ORACLE數據也可以導入到MYSQL數據庫,sqluldr2的參數format指定為mysql,

輸出的則為MYSQL語句,可以直接執行。例如:

sqluldr2

comm/comm@dbserver? table=app_roles

format=mysql quote=0x27 escape=0x53 null=null

query=" select * from app_roles" file=- | mysql -h

21.103.117.51? -uroot -pqwxtpwd? test

四、導出后壓縮

sqluldr2其實可以在導出是就進行壓縮,文檔上說“當文件名(“FILE”選項)的后綴以小寫的“.gz”結尾時,會將記錄直接寫入到GZIP格式的壓縮文件中”,但仿佛對WINDOWS無效。其實我們可以結合組合命令。例如:

sqluldr2

parfile=./sqluldr2.par

&&? winrar a? -afrar

-ibck -m5?? -df??? -ep -r orders.rar d:\data

總結

以上是生活随笔為你收集整理的charset参数 sqluldr2_sqluldr2使用几例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。