1
我在甲骨文以下代碼:插入到表中,從圖中,Oracle,無法延長臨時段
插入件插入TABLE_X
SELECT * FROM view_y; 承諾;
其中,view_y大約需要半小時執行並返回大約400000條記錄。
問題是當我嘗試插入。插入需要兩個多小時,現在甚至無法完成。 錯誤是「無法在表空間TEMP中將臨時段擴展64」。
請以另一種方式插入數據 - 從視圖到表格。
非常感謝!
我在甲骨文以下代碼:插入到表中,從圖中,Oracle,無法延長臨時段
插入件插入TABLE_X
SELECT * FROM view_y; 承諾;
其中,view_y大約需要半小時執行並返回大約400000條記錄。
問題是當我嘗試插入。插入需要兩個多小時,現在甚至無法完成。 錯誤是「無法在表空間TEMP中將臨時段擴展64」。
請以另一種方式插入數據 - 從視圖到表格。
非常感謝!
在嘗試插入之前,首先應該讓這些大量的記錄首先使所有索引不可用。
作爲select的普通插入不消耗任何TEMP空間,但是通過保持索引更新來使用它。考慮到這一點,你寧願在table_x下執行索引語句,然後重新創建它們(或者使它們無法使用並重建它們)。
你需要問你的DBA給你更多的TEMP空間。或者,如果可以接受的話,將插入分解成多個段來單獨提交(通過某個字段對數據進行分區,但確保在執行時不會更改)。 – Thilo
嗨,@Thilo!不幸的是,DBA拒絕延長TEMP空間。我也在考慮分割數據,但不是按字段劃分,因爲視圖的邏輯非常複雜。我將嘗試對數據進行分區,以便通過塊進行分區。不知道這是否是我應該努力的正確方向。 – user914046