2013-06-03 38 views
0

我正在複製不同數據庫之間的幾個sql表。對於每個表,都準備了單獨的腳本,其中包括DROP..CREATE..AS SELECT..操作以及一些PROMPT..SELECT SYSDATE..操作以用於日誌目的。所有輸出信息(Table dropped, Table created, etc.)必須收集在一個文件中。來自運行在不同進程中的腳本的日誌輸出

我已經試過了代碼:

sqlplus -S user/password/sid @CopyScript1.sql > Output.log & 
sqlplus -S user/password/sid @CopyScript2.sql > Output.log & 
sqlplus -S user/password/sid @CopyScript3.sql > Output.log & 
wait 

表被複制,因爲我想要的,但日誌文件是完整的混亂:

Elapsed: 00:00:00.00 
TABLE1 table creation b 
Tabl 
Table dropped. 

Elapsed: 00:00:0 
Table created. 

Elapsed: 00:00:01.43 

03-06-2013 19:18:45 

Elapsed: 00:00:00.00 
TABLE2 table creation end 
end 
n end 

我應該改變,以獲得適當的日誌?


編輯: 每個日誌條目都可以由若干行(SYSDATE和1+線的意見,再加上最終完成的手術時機,f.ex的結果:

(00:00:14) 
2013-06-04 02:08 
Provided example of log entry 
can consist of more than 1 line 

日誌條目文件應該由入境日期排序。

回答

0

登錄每個查詢到不同的文件,然後使用「貓* .LOG」把他們重新走到一起。

+0

感謝。我已經更新的問題。SIMPL由於日誌條目必須進行排序,因此在我的情況下,連接不起作用。 'cat * .log | sort> Output.log'也不起作用,因爲條目是多行的,並且只有一行是帶日期的(但是我們可以假設排序的日期在第二行輸入,並且條目由空行分隔)。 – Chorel

+0

在這種情況下,你必須在perl/sed/whatever中寫一些自定義的東西。它高度依賴於文件的確切格式。 – BraveNewCurrency

相關問題