處理一個小例子,其中必須從 teradata數據庫將數百萬條記錄複製到Oracle數據庫。將具有數百萬條記錄的拷貝表從一個數據庫遷移到另一個數據庫 - Spring Boot + Spring JDBC
環境:春天引導+春JDBC(的JdbcTemplate)+ REST春春+ +計劃+ Maven的甲骨文+ Teradata的
使用Spring JDBC的BATCHUPDATE將數據插入到目標數據庫Oracle。
在源數據庫的SQL查詢中使用teradata的「top 1000」。
fecthDataResults = repository.queryForList(
"select top 1000 A, B, C, D, E from " + schemaName + ".V_X");
從視圖「V_X」查詢。
這個視圖有4000萬條記錄,如果它運行,spring啓動應用程序將會窒息。
也插入目標Oracle DB中的2個表(主要和備份)。
什麼是最好的方式來獲取和加載/複製4000萬記錄,確保複製成功完成到2個表。
Spring Scheduler在指定的時間/間隔安排批量複製。 春季休息手動調用複製 - 這兩個都是實現的。
任何建議,將不勝感激。
謝謝。
我會將它委託給原生的'imp/exp'腳本......但如果您需要在Java中執行此操作,則可以選擇Spring Batch + Spring JDBC操作('將頂部X選擇到Y')。 –
從Teradata導出數據(CSV或其他格式) - > transform - >直接導入到oracle(使用SQL * Loader實用程序等工具)爲您提供一個選項?這樣你繞過彈簧應用 – Srinivas
謝謝@Carlos。將Top X(1000)用於Y本身。現在必須檢查如何處理3600萬條記錄。 – Manish