2014-01-22 71 views
3

我使用toad for oracle以插入腳本的形式備份了表。由於巨大的尺寸,我無法在蟾蜍中使用該腳本來執行插入操作。有沒有一種方法可以使用蟾蜍運行巨大的腳本?Sql巨大的插入腳本

+0

廣東話它導出或保存爲使用SQL * Loader的功能?它更高效。 –

+0

問題是我輸出它並截斷表。現在我沒有額外的備份:( – user1751356

+2

oops,實際上表複製的人過去使用create table temp作爲select * from sourcetable;而且,您還可以嘗試使用SQL Plus並運行腳本。 –

回答

4

1.通過在服務器上運行腳本來減少網絡時間。絕大多數時間都是等待網絡使用的機會。通常每個INSERT聲明是一個單獨的往返行程。

2.通過批量插入來減少網絡時間。圍繞大量的插入包裝beginend;。一個PL/SQL塊只需要一次往返。請注意,您可能無法將整個腳本放在單個匿名塊中,因爲存在解析限制。使用大於幾兆字節大小的匿名塊會導致DIANA錯誤。

3.間接運行代碼。也許只是加載文件在蟾蜍是問題?運行一個簡單地調用該腳本的腳本,可能類似@my_script.sql

不知道更多關於蟾蜍或腳本看起來像我不能肯定,如果這些將工作。但是我用這些方法來解決類似的問題,通常有一種方法可以使簡單的安裝腳本運行速度提高10倍以上。

+1

我同意所有這些。非常真實。但是很抱歉,它沒有太多理論對於OP的問題 –

+2

@MaheswaranRavisankar是的,我們需要更多關於環境的信息來給出一個更明確的答案,例如INSERT的一個樣本,它爲什麼不能在TOAD中使用,等等。 –

+0

我試圖運行從sqlplus的腳本,但它是拋出一個錯誤。最初我使用編輯器做了一些花哨的東西可能是它拿起一個空白空間或東西。但後來我可以運行該文件使用sqldeveloper使用@ my_script.sql。感謝大家的建議。欣賞它:) – user1751356

2

嘗試使用運行該腳本在sqlplus '@'

+0

在這個問題的更多細節:http://stackoverflow.com/questions/31560367/how-to-run-sql-file-in-oracle-sql-developer-tool-to-import-database – Eckd

0
  1. 查看菜單,顯示項目經理
  2. SQL文件添加到項目
  3. 選擇文件,右擊並選擇執行

see screenshot