powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В чем может быть причина замедления FORALL INSERT?
25 сообщений из 66, страница 1 из 3
В чем может быть причина замедления FORALL INSERT?
    #39836040
MinistrBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В чем может быть причина замедления FORALL INSERT?

Несколько разных сессий выполняют вот такую процедуру вставки строк. Процедура приведена не полностью, но замеры времени выполнения участков кода, показывают что именно время выполнение этого кода возрастает.

Здесь выполняется INSERT через FORALL порциями по 10000 строк. Таблица, в которую выполняется вставка, совершенно пустая – вновь созданная, нет никаких триггеров, никаких индексов , но она LOGGING. Чем дальше, тем больше становиться время вставки порции строк. Т.е. скорость процесса всё время плавно уменьшается.

Хинт APPEND здесь не работает (это подтверждается планом в котором говориться что conventional insert (не direct)). Пробовал заменить на APPEND_VALUES – в этом случае сессии начинают блокировать друг друга, появляется ожидание «enq: TM – contention» и всё тормозит еще сильнее.

Ожидания этой сессии, отсортировано по TIME_WAITED, ничего криминального тут не вижу.
EVENT;TIME_WAITEDdirect path read;262343db file sequential read;9715read by other session;6161db file parallel read;736direct path read temp;426Disk file operations I/O;218direct path write temp;81direct path write;46latch: cache buffers chains;9library cache load lock;7log file switch (private strand flush incomplete);3cursor: pin S wait on X;2library cache: mutex X;1events in waitclass Other;1latch: shared pool;0latch: row cache objects;0enq: HW - contention;0buffer busy waits;0

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
BEGIN
   OPEN l_cursor FOR
      SELECT *
        FROM ela_document
       WHERE id BETWEEN X1 AND X2;

   LOOP
      BEGIN
         FETCH l_cursor BULK COLLECT INTO l_data LIMIT 10000;

         FORALL i IN 1 .. l_data.COUNT
            INSERT /*+ APPEND */
                  INTO  ela_document_copy
                 VALUES l_data (i);

         COMMIT;
      END;

      EXIT WHEN l_cursor%NOTFOUND;
   END LOOP;
END;
/



В чём может быть причина постепенного замедления процесса? И как это исправить?
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836064
alex-ls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobИ как это исправить?
зачем?
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836068
MinistrBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex-lsMinistrBobИ как это исправить?
зачем?

Чтобы быстрее вставлялось или хотя бы скорость не уменьшалась а оставалась на одном уровне.
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836077
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobИ как это исправить?Не гонять через PL/SQL.
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836091
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobЗдесь выполняется INSERT через FORALL порциями по 10000 строк. Таблица, в которую выполняется вставка, совершенно пустая – вновь созданная, нет никаких триггеров, никаких индексов , но она LOGGING. Чем дальше, тем больше становиться время вставки порции строк. Т.е. скорость процесса всё время плавно уменьшается.

Хинт APPEND здесь не работает (это подтверждается планом в котором говориться что conventional insert (не direct)). Пробовал заменить на APPEND_VALUES – в этом случае сессии начинают блокировать друг друга, появляется ожидание «enq: TM – contention» и всё тормозит еще сильнее.


1. Хинт append и не должен работать в insert values.
2. append_values - правильная замена append для insert values
3. insert append блокирует сегмент, в который выполняет вставку - это штатное поведение, и именно поэтому в конкурентном окружении вставку append-ом обычно не производят.

По деградации производительности: в Вашем случае, скорее всего, дело в запросе, которым гребет данные курсор.
Если он гребет данные из интенсивно обновляемой таблицы - то сценарий весьма вероятен.
Я бы снял 10046 level8 с процесса и локализовал проблему, но апологеты ash/awr, боюсь, сейчас забросают меня помидорами :)
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836145
alex-ls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobЧтобы быстрее вставлялось или хотя бы скорость не уменьшалась а оставалась на одном уровне.
так скорость значительно падает? или Вы пишите из-за 1-2%?
вставьте одним insert select, без разбиения на мелкие порции
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836406
MinistrBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex-lsMinistrBobЧтобы быстрее вставлялось или хотя бы скорость не уменьшалась а оставалась на одном уровне.
так скорость значительно падает? или Вы пишите из-за 1-2%?
вставьте одним insert select, без разбиения на мелкие порции
ElicНе гонять через PL/SQL.

Смысл в PL\SQL и разбиении на маленькие порции в задаче.
Нужно перебросить таблицу размером 30Тб из одного ТП в другое, потому что уже максимум файлов в ТП - 1022 и больше его расширять не получиться.
На оборудовании заказчика такая операция оценочно идет 20-30 дней.
Поэтому нужен процесс переноса, который можно перезапускать многократно.
Пробовали alter table ... move и dbms_redefinition - не подходит в данном случае. Если эти процессы падают, а они падают это время и не один раз, а еще иногда просят остановить всё потому что тормозит всё сильно. Поэтому нужен полностью управляемый код, который можно править как хочешь.

andrey_anonymousПо деградации производительности: в Вашем случае, скорее всего, дело в запросе, которым гребет данные курсор.
Если он гребет данные из интенсивно обновляемой таблицы - то сценарий весьма вероятен.
Я бы снял 10046 level8 с процесса и локализовал проблему, но апологеты ash/awr, боюсь, сейчас забросают меня помидорами :)

По поводу трассировки хорошая идея, только заказчик не даёт доступ к серверу непосредственно, у меня есть только машина с Toad и учёткой пользователя sysdba, а вот sys у меня нет. Из Toad можно конечно запустить трассировку, но как потом получить файл, а самое главное его обработать, чего-то не хочеться в сыром трейсе копаться.

Запрос гребет из опорной таблицы в которой просто список ID переносимых строк, чтобы понимать что уже перенесено. После вставки порции 10000 этаже порция ID удаляется из этой таблицы, т.е. да она постоянно обновляется, насчёт интенсивно или нет - не знаю. А что тут можно сделать?

Последний замер показал что скорость не уменьшается линейно, она постоянно разная, просто она стала меньше чем в первый день в целом, поэтому показалось что она уменьшается. Во вложении график скорости процесса за вчера - пик был в 6 утра, спрошу у админа чего у них там такое происходит в это время.

Приведу ниже всю процедуру чтобы было понятно. Таких процедур выполняется 10 шт, т.е. 10 потоков, и в каждом потоке еще и вставка идет порциями по 10000 строк. Такая порция, при работающих пользователях, сейчас вставляется примерно за 30 минут.

ИЗ ИДЕЙ:
- Хочу попробовать одну процедуру (один поток) с +APPEND_VALUES и порциями побольше, 50-100тыс.строк.

Вот текст типовой процедуры (одна из 10).

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
declare
   TYPE ARRAY IS TABLE OF ela_document%ROWTYPE;

   l_data         ARRAY;
   l_cnt          NUMBER := 0;
   l_obj          BINARY_INTEGER;
   l_log_rindex   BINARY_INTEGER;
   l_log_slno     BINARY_INTEGER;
   l_log_total    NUMBER;
   l_chunk_name   VARCHAR2 (255);
   l_cursor       SYS_REFCURSOR;
   t               NUMBER;
BEGIN
insert into ora_move (text,cdate) values ('START PROG_MOVE_TABLE_10', sysdate);


   OPEN l_cursor FOR
      select d.* from ela_document d 
      where d.elado_document_id in (select id from ela_doc_chunks where chunk# = 10);

commit;

   l_log_total := 7098807;
   l_chunk_name := 'PROG_MOVE_TABLE_10';

   SELECT o.object_id
     INTO l_obj
     FROM user_objects o
    WHERE o.object_type = 'TABLE' AND o.object_name = 'ELA_DOCUMENT';

   DBMS_APPLICATION_INFO.set_client_info ('Move_Table_Chunk');
   l_log_rindex := DBMS_APPLICATION_INFO.set_session_longops_nohint;

   DBMS_APPLICATION_INFO.set_session_longops (l_log_rindex, -- ид. строки в v$session_longops
                                              l_log_slno, -- зарезервировано Oracle
                                              l_chunk_name, -- имя длительной операции
                                              l_obj, -- ид. обрабатываемого объекта
                                              0, -- произвольное число, которое мы хотим публиковать
                                              0,        -- сколько уже сделано
                                              l_log_total, -- сколько всего нужно сделать
                                              'row',    -- одна единица работы
                                              'rows'); -- единицы работы (мн. число)

   LOOP
   BEGIN
   --t := DBMS_UTILITY.get_time;
      FETCH l_cursor BULK COLLECT INTO l_data LIMIT 10000;
   --insert into ora_move (text,cdate, description) values ('FETCH PROG_MOVE_TABLE_10', sysdate, (DBMS_UTILITY.get_time - t)/100);                             
      
      t := DBMS_UTILITY.get_time;
      FORALL i IN 1 .. l_data.COUNT
         INSERT /*+ APPEND */
               INTO  ela_document_copy
              VALUES l_data (i);
      insert into ora_move (text,cdate, description) values ('insert10->'||l_cnt, sysdate, (DBMS_UTILITY.get_time - t)/100);
      
      --t := DBMS_UTILITY.get_time;        
      FORALL i IN 1..l_data.COUNT
         DELETE FROM ela_doc_chunks WHERE ID = l_data(i).elado_document_id;
      --insert into ora_move (text,cdate, description) values ('delete10->'||l_cnt, sysdate, (DBMS_UTILITY.get_time - t)/100);

commit;

      l_cnt := l_cnt + 10000;
      DBMS_APPLICATION_INFO.set_session_longops (l_log_rindex,
                                                 l_log_slno,
                                                 l_chunk_name,
                                                 l_obj,
                                                 0,
                                                 l_cnt,
                                                 l_log_total,
                                                 'row',
                                                 'rows');
   
    exception when others then
    insert into ora_move (text,cdate, description) values (DBMS_UTILITY.format_error_stack, sysdate, l_chunk_name||': '||l_cnt||' из '||l_log_total);
commit;
   END;                                              
      EXIT WHEN l_cursor%NOTFOUND;
   END LOOP;
commit;
   CLOSE l_cursor;
   insert into ora_move (text,cdate) values ('STOP PROG_MOVE_TABLE_10', sysdate);
   END;
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836424
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBob есть только машина с Toad и учёткой пользователя sysdba, а вот sys у меня нет.
ты отжигаешь
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836508
alex-ls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobПоследний замер показал что скорость не уменьшается линейно, она постоянно разная, просто она стала меньше чем в первый день в целом, поэтому показалось что она уменьшается. Во вложении график скорости процесса за вчера - пик был в 6 утра, спрошу у админа чего у них там такое происходит в это время.
наверное это пик загрузки системы, например дисковой системы, у Вас же другие сессия базе работают?
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836572
MinistrBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-MinistrBob есть только машина с Toad и учёткой пользователя sysdba, а вот sys у меня нет.
ты отжигаешь

Поверь, это не самое извращенное что мне приходилось делать :) А что делать то. Не мы таки, жизнь така.
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836574
MinistrBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex-lsMinistrBobПоследний замер показал что скорость не уменьшается линейно, она постоянно разная, просто она стала меньше чем в первый день в целом, поэтому показалось что она уменьшается. Во вложении график скорости процесса за вчера - пик был в 6 утра, спрошу у админа чего у них там такое происходит в это время.
наверное это пик загрузки системы, например дисковой системы, у Вас же другие сессия базе работают?

Конечно работают. Там порядка 1200 пользовательских сессий и еще куча служб всяких. Я же и говорю процесс дней на 20-30 при полной загрузке, в этом то и прелесть :)
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836623
alex-ls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobКонечно работают. Там порядка 1200 пользовательских сессий и еще куча служб всяких. Я же
и говорю процесс дней на 20-30 при полной загрузке, в этом то и прелесть :)
так пусть "хозяева" снимут Вам AWR
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836640
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobтолько заказчик не даёт доступ к серверуТы кто там? Разработчик? Временной консультант? ...?
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836704
MinistrBob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicMinistrBobтолько заказчик не даёт доступ к серверуТы кто там? Разработчик? Временной консультант? ...?

Я бы это назвал временная и экстренная тех.поддержка. "Пока гром не грянет, мужик живёт и думает что всё ОК". Но на самом деле когда система вводилась в эксплуатацию лет 7 назад, никто и не предполагал что таблицы будут разрастаться до таких размеров, и ведь ничего оттуда удалять нельзя - все нужное.
Весь мир катиться к тому что скоро многие технологии перестанут работать, тупо из-за объемов данных, вот здесь простой move table уже не катит. Вот интересная статья на тему - Почему RAID 6 перестанет работать в 2019 году?
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39836840
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobА что делать тоНевежество вздохами не лечится.
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837035
Фотография Fogel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBob....
Нужно перебросить таблицу размером 30Тб из одного ТП в другое, потому что уже максимум файлов в ТП - 1022
....

MinistrBob....
Но на самом деле когда система вводилась в эксплуатацию лет 7 назад, никто и не предполагал что таблицы будут разрастаться до таких размеров, и ведь ничего оттуда удалять нельзя - все нужное.
....

мало кто знает, что будет с ним через 7 лет, не говоря уже о самой идеальной системе, созданной здесь и сейчас.
Вам(Тебе) нужно не xyйнёй "экстренная тех.поддержка" заниматься, а рефакторить архитектуру, разбив эту неебическую таблицу на множества: партиции, но тут, боюсь, даже они уже не вытянут, а лучше разные таблицы по периодам (кстати до появления партиций вполне себе работающий и, кстати, до сих пор на некоторых системах древней разработки, метод).
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837094
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobandrey_anonymousПо деградации производительности: в Вашем случае, скорее всего, дело в запросе, которым гребет данные курсор.
Если он гребет данные из интенсивно обновляемой таблицы - то сценарий весьма вероятен.
Я бы снял 10046 level8 с процесса и локализовал проблему, но апологеты ash/awr, боюсь, сейчас забросают меня помидорами :)
По поводу трассировки хорошая идея, только заказчик не даёт доступ к серверу непосредственно, у меня есть только машина с Toad и учёткой пользователя sysdba, а вот sys у меня нет.
Из Toad можно конечно запустить трассировку, но как потом получить файл, а самое главное его обработать, чего-то не хочеться в сыром трейсе копаться.
Этого более чем достаточно.

Код: plsql
1.
2.
3.
4.
select value from v$system_parameter where name like 'user_dump_dest';
create directory user_dump_dest as '<результат предыдущего запроса>';
select tracefile from v$process where addr in (select paddr from v$session where sid=<трассируемая сессия>);
select bfilename('user_dump_dest','<имя файла>') from dual;



Обработать - можно хоть штатным tkprof, хоть orasrp.

MinistrBob
Запрос гребет из опорной таблицы в которой просто список ID переносимых строк, чтобы понимать что уже перенесено.


После вставки порции 10000 этаже порция ID удаляется из этой таблицы, т.е. да она постоянно обновляется, насчёт интенсивно или нет - не знаю. А что тут можно сделать?
Напрасно.
Просто логируйте максимальный перенесенный вашей же процедурой ID в отдельную табличку и отбирайте по критерию неравенства.

MinistrBobВот текст типовой процедуры (одна из 10).

Избавьтесь от delete, он не нужен.
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837113
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousмаксимальный перенесенный вашей же процедурой IDОдного id мало для попроцессного распараллеливания.
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837128
feagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

Я бы на месте автора сделал бы немного по другому.
Создал бы таблицу, содержащую инфу для параллельной обработки, в которой бы хранил диапазоны ID, которые необходимо перенести в рамках одной таски
Код: plsql
1.
2.
3.
4.
create table ela_doc_chunks  as
select min(id) start_id,max(id) end_id,count(1) cnt, chunk#, 'I' status from
(select ntile(50) over (order by id ) chunk#,id from ela_document)
group by chunk# order by chunk#


Процедурой брал бы первый необработанный кусок, сразу проставлял ему статус ЗАНЯТО, дабы параллельные процессы не забрали его вместе с текущим
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
declare
cursor crTas is select * from ela_doc_chunks where STATUS= 'I' order by chunk# for update;
rTas crTas%rowtype;
begin
  
open crTas;
fetch crTas into rTas;
if crTas%NOTFOUND then
  close crTas;
  rollback;
  return;
end if;
update ela_doc_chunks  set STATUS= 'P' where current of crTas;
close crTas;
commit;
  ...обработка
end;


обрабатывал его без всяких массивов просто
Код: plsql
1.
insert into ela_document_copy select * from ela_document where id between rTas.start_id and rTas.end_id


в конце проставлял, что кусок завершен.
Код: plsql
1.
update ela_doc_chunks  set STATUS= 'C' where chunk# = rTas.chunk#;



как вариант почитайте еще про DBMS_PARALLEL_EXECUTE
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837134
feagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Плюс нужно понимать, что параллельные insertы не всегда работают лучше одиночного, так как работа в таком режиме идёт в основном с дисками, а не с CPU(10046 level 8 покажет какие ожидания доминируют, как уже сказали выше)
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837178
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MinistrBobСмысл в PL\SQL и разбиении на маленькие порции в задаче.
Нужно перебросить таблицу размером 30Тб из одного ТП в другое, потому что уже максимум файлов в ТП - 1022 и больше его расширять не получиться.
На оборудовании заказчика такая операция оценочно идет 20-30 дней.
Поэтому нужен процесс переноса, который можно перезапускать многократно.
Пробовали alter table ... move и dbms_redefinition - не подходит в данном случае. Если эти процессы падают, а они падают это время и не один раз, а еще иногда просят остановить всё потому что тормозит всё сильно. Поэтому нужен полностью управляемый код, который можно править как хочешь.
виртуально делите исходную таблицу на N сопоставимого размера кусков, через dbms_parallel_execute.create_chunks_by_rowid/create_chunks_by_number_col, либо DIY parallelism .

куски грузим последовательно, в один поток, но с enable_parallel_dml и выставленным DOP. примерно так:
Код: plsql
1.
2.
3.
4.
5.
6.
begin 
for c in (select start_rowid, end_rowid from DBA_PARALLEL_EXECUTE_CHUNKS ) loop
insert /*+append parallel(32) no_gather_optimizer_statistics*/ into target select * from source where rowid between c.start_rowid and c.end_rowid;
commit;
end loop;
end;


конкретные N и DOP подбирать по ситуации и тестировать. чем меньше N, тем меньше времени займет процесс от начала до конца, но тем выше будет цена падения процесса загрузки одного куска.
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837366
watson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MinistrBobТаких процедур выполняется 10 шт, т.е. 10 потоков, и в каждом потоке еще и вставка идет порциями по 10000 строк.

Интересно, как у вас работает параллельная вставка из нескольких потоков в одну и ту же таблицу с хинтом APPEND?
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837372
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
watsonMinistrBobТаких процедур выполняется 10 шт, т.е. 10 потоков, и в каждом потоке еще и вставка идет порциями по 10000 строк.

Интересно, как у вас работает параллельная вставка из нескольких потоков в одну и ту же таблицу с хинтом APPEND?Перечитай его сообщения.
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837379
watson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-watsonпропущено...


Интересно, как у вас работает параллельная вставка из нескольких потоков в одну и ту же таблицу с хинтом APPEND?Перечитай его сообщения.

Ага, не работает.. виноват.

Тогда, как уже писали и упоминал автор - APPEND_VALUES с одним потоком.

Ну и DELETE, я бы заменил на truncate в самом конце, когда все данные скопировались.
...
Рейтинг: 0 / 0
В чем может быть причина замедления FORALL INSERT?
    #39837611
large5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
read by other session это плохо .
...
Рейтинг: 0 / 0
25 сообщений из 66, страница 1 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / В чем может быть причина замедления FORALL INSERT?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]