У меня есть процедура Oracle, которая состоит из нескольких блоков EXECUTE IMMEDIATE. Один из них - объединить две большие таблицы (~ 100-200 000 000 записей):
v_sql:='create table idb.cm_contact_add_char_exp_tmp as
select ch.* from idb.cm_contact_add_char_exp ch join
idb.communication_contact_exp_tmp cont on cont.customer_rk=ch.customer_rk and ch.RESPONSE_TRACK_CD=cont.RESPONSE_TRACK_CD'
execute immediate v_sql;
Первая таблица (CH) имеет индекс на (CUSTOMER_RK,RESPONSE_TRACK_CD) и раздел на дату.
Оракл выдает следующую ошибку:
Ошибка SQL: ORA-01652: невозможно расширить временный сегмент на 64 в табличном пространстве TEMP