У меня есть этот запрос ниже, сгенерированный инструментом BI, который выполняется в Oracle версии 12.2. Иногда один, несколько или все столбцы в результатах пусты, сообщение об ошибке не возвращается. В большинстве случаев вывод завершен, хотя. Это происходит как в инструменте BI, так и при выполнении запроса к базе данных напрямую с использованием Oracle SQL Developer 19.
После игры с настройками инструмента BI я подозреваю, что проблема может быть связана с использованием глобальных временных таблиц или параллельного выполнения или обоих в комбинации.
Вот запрос, я должен был удалить имена таблиц и столбцов.
ALTER SESSION SET PARALLEL_DEGREE_POLICY=AUTO;
create GLOBAL TEMPORARY table ZZMD00 ()
ON COMMIT PRESERVE ROWS
insert into ZZMD00
select /*+ NO_STATEMENT_QUEUING */
commit
ANALYZE TABLE ZZMD00 ESTIMATE STATISTICS SAMPLE 25 PERCENT
create GLOBAL TEMPORARY table ZZMD01 ()
ON COMMIT PRESERVE ROWS
insert into ZZMD01
select /*+ NO_STATEMENT_QUEUING */
commit
ANALYZE TABLE ZZMD01 ESTIMATE STATISTICS SAMPLE 25 PERCENT
create GLOBAL TEMPORARY table ZZMD02 ()
ON COMMIT PRESERVE ROWS
insert into ZZMD02
select /*+ NO_STATEMENT_QUEUING */
commit
ANALYZE TABLE ZZMD02 ESTIMATE STATISTICS SAMPLE 25 PERCENT
create GLOBAL TEMPORARY table ZZMD03 ()
ON COMMIT PRESERVE ROWS
insert into ZZMD03
select /*+ NO_STATEMENT_QUEUING */
commit
ANALYZE TABLE ZZMD03 ESTIMATE STATISTICS SAMPLE 25 PERCENT
select /*+ NO_STATEMENT_QUEUING */
from ZZMD00 pa11
full outer join ZZMD01 pa12
on ()
full outer join ZZMD02 pa13
on ()
full outer join ZZMD03 pa14
on ()
ALTER SESSION SET PARALLEL_DEGREE_POLICY=MANUAL
Кто-нибудь знает, что может вызвать неполное или пустые результаты здесь? Большое спасибо!