關(guān)于oracle抽取數(shù)據(jù)的問(wèn)題?
最近遇到這樣一個(gè)問(wèn)題。源oracle有一個(gè)包含7億數(shù)據(jù)的視圖。這個(gè)表是第三方的,我們只有讀權(quán)限。除主鍵外,源視圖沒(méi)有索引。現(xiàn)在我們必須將其中的所有數(shù)據(jù)同步到我們的數(shù)據(jù)庫(kù)中。我用分頁(yè)的,從一頁(yè)中提取5000個(gè)片段。剛開始很快,一頁(yè)數(shù)據(jù)幾百毫秒,越慢。現(xiàn)在找出一頁(yè)數(shù)據(jù)差不多要一個(gè)小時(shí)。以這種速度,你可以不要在一年內(nèi)全部提取,你可以不要添加索引或任何東西。有什么方法可以提高提取效率嗎?
水壺工具非常方便
工具太多:你的需求是一次性的還是多次的?1.如果是一次性的,用oracles自己的數(shù)據(jù)以極快的速度,然后同步到目的地,再導(dǎo)入。2.如果是多次,你對(duì)時(shí)效性有什么要求?如果要求高,可以用CDCs實(shí)時(shí)提取。詳細(xì)的方案可以參考我的文章,里面有具體的步驟和效果。如果實(shí)時(shí)性要求不高,該方案可以使用傳統(tǒng)的
怎樣把oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)導(dǎo)入到excel中?
1.首先,在SQL窗口窗口中,查詢要導(dǎo)出的數(shù)據(jù)。
2.右鍵點(diǎn)擊查詢結(jié)果集(注意不要選中任何一行或單元格)-[復(fù)制到Excel]-[復(fù)制為xls/xlsx]導(dǎo)出為97-2003格式或2007年以后的xlsx文件。
3.如果你不如果不想導(dǎo)出查詢的所有數(shù)據(jù),可以在左側(cè)選擇要導(dǎo)出的行,然后重復(fù)上述操作。
4.點(diǎn)擊導(dǎo)出后,系統(tǒng)會(huì)自動(dòng)打開導(dǎo)出的excel文件的內(nèi)容,包括數(shù)據(jù)和查詢這些數(shù)據(jù)的sql腳本。
5.點(diǎn)擊"SQL語(yǔ)句和查看數(shù)據(jù)庫(kù)腳本。
6.以下是excel文件的操作。單擊文件-另存為保存excel文件。7.選擇保存路徑并輸入文件名。注意:導(dǎo)出到excel時(shí),行數(shù)記錄也會(huì)自動(dòng)導(dǎo)出。您可以在exc
如何實(shí)現(xiàn)sqlserver數(shù)據(jù)插入oracle數(shù)據(jù)庫(kù)?
在使用SQLServer數(shù)據(jù)庫(kù)的過(guò)程中,有時(shí)我們需要導(dǎo)出SQLServer數(shù)據(jù),導(dǎo)入到其他數(shù)據(jù)庫(kù)中,比如Oracle。假設(shè)Scott用戶想要將SQLServer中Northwind數(shù)據(jù)庫(kù)中的Products表導(dǎo)出到Oracle,需要先安裝SQLServer企業(yè)版。
1.打開工具:開始-GT程序-GT導(dǎo)入和SQLServer數(shù)據(jù)導(dǎo)出。
2.接下來(lái),選擇數(shù)據(jù)源[數(shù)字]選擇"用于SQLServer的MicrosoftOLEDB提供程序根據(jù)來(lái)源,這應(yīng)該是默認(rèn)值。[服務(wù)器]選擇要導(dǎo)出數(shù)據(jù)的服務(wù)器。如果是本地的,選擇(本地)[數(shù)據(jù)庫(kù)]選擇要導(dǎo)出的數(shù)據(jù)所在的庫(kù)。在這里,選擇Northwind。
3.接下來(lái),選擇目的[目的]選擇MicrosoftODBCforOracle[DSN]并選擇一個(gè)用戶/系統(tǒng)DSN,然后在下拉列表框中找到連接到Scott用戶的DSN名稱。如果下拉列表中沒(méi)有,點(diǎn)擊下拉列表框右側(cè)的【新建】,打開新建數(shù)據(jù)源界面。接下來(lái),選擇系統(tǒng)數(shù)據(jù)源。接下來(lái),在驅(qū)動(dòng)程序列表中選擇MicrosoftODBCforOracle。接下來(lái),完成,將出現(xiàn)MicrosoftODBCforOracle安裝界面[數(shù)據(jù)源名稱]。隨意進(jìn)入。比如sss[Description]可以不填寫[用戶名]而填寫SQLServer數(shù)據(jù)導(dǎo)出到的Oracle用戶名,這里是scott[Server]填寫用來(lái)連接Oracle服務(wù)器的服務(wù)名。例如,sqlplusscott/可以用來(lái)連接數(shù)據(jù)庫(kù),所以這里是server1。如果這臺(tái)機(jī)器是一臺(tái)服務(wù)器,您可以使用sqlplusscott/tiger連接到數(shù)據(jù)庫(kù),將它留空即可。這將創(chuàng)建一個(gè)數(shù)據(jù)源sss,并確保在下拉列表框中選擇sss。[用戶名]填寫SQLServer數(shù)據(jù)導(dǎo)出到的Oracle用戶的名稱,這里是Scott[密碼]向其填寫SQLServer數(shù)據(jù)的Oracle用戶使用的密碼,這里是tiger。
4.接下來(lái),指定表復(fù)制或查詢。如果要導(dǎo)出的內(nèi)容是整個(gè)表格,請(qǐng)選擇[從源數(shù)據(jù)庫(kù)復(fù)制表格和視圖]。如果要導(dǎo)出的內(nèi)容是表格的列和行的一部分,您可以選擇[指定要通過(guò)查詢傳輸?shù)臄?shù)據(jù)]。這時(shí)候就需要寫一個(gè)查詢語(yǔ)句了。在此選擇第一項(xiàng)[從源數(shù)據(jù)庫(kù)復(fù)制表和視圖]。
5.接下來(lái),選中源表和視點(diǎn)中產(chǎn)品行的復(fù)選框,內(nèi)容將出現(xiàn)在目的和轉(zhuǎn)換列中。目的可用于選擇表名。轉(zhuǎn)換可用于修改列的數(shù)據(jù)類型或構(gòu)建表的整個(gè)SQL語(yǔ)句。
6.接下來(lái),保存、計(jì)劃和復(fù)制包,并選擇立即運(yùn)行。
7.接下來(lái),您將完成DTS導(dǎo)入/導(dǎo)出向?qū)А?/p>
8.完成提示和n個(gè)表已成功從MicrosoftSQLServer復(fù)制到或。acle";
9.完成并關(guān)閉導(dǎo)入和導(dǎo)出程序。注意:因?yàn)閛racle的表名是大寫的,而SQL的表可能是大小寫混合的,所以表可以導(dǎo)入后在oracle中找不到。例如,如果在oracle中查詢Products表,它應(yīng)該寫成select*fromscott..