powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / commit distributed transaction on remote knote.
5 сообщений из 5, страница 1 из 1
commit distributed transaction on remote knote.
    #32191627
Bardis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Delayu na DB "OL1" zapros tipa:




Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
for i in ( select db_link from user_db_links)
   loop
      query:='select bla from table@'||i.db_link||' where blablabla...';
      execute immediate (query) into blabla;
      if blabla = 'bla' then 
         out_string:='Bla...Bla';
         else 
         out_string:='Bla...Bla...Bla';
      end if;
      dbms_output(out_string);
end loop;
 


Problema v sledujuschem:

1. Output pojavlyajetsya tolko posle togo kak transakzija projdet po vsem Basam is user_db_links;
2. Na remote Basach sessii prodolzhajut suschestvovat do konza raboty osnovnogo skripta.

VOpros:
Kak zastavit etu zarazu vydavat output posle kazhdoj Bazy? Kak zakryvat sessii na remote Bazach srazu posle otrabotki zaprosa na nich?
...
Рейтинг: 0 / 0
commit distributed transaction on remote knote.
    #32191815
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Вполне документированная оссобенность работы dbms_output. Альтернатива -- dbms_pipe, utl_file.
2. Ты неявно начинаешь транзакцию каждым SELECT'ом. Попробуй добавить commit или rollback. При работе с distributed transactions и XA TM сие обычно помогало избавиться от воплей последнего о том, что still in transaction.
...
Рейтинг: 0 / 0
commit distributed transaction on remote knote.
    #32192325
Bardis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vtyknul commit;

Ne pomagajet:(

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
for i in ( select db_link from user_db_links)
   loop
      query:='select bla from table@'||i.db_link||' where blablabla...';
      execute immediate (query) into blabla;
      if blabla = 'bla' then 
         out_string:='Bla...Bla';
         else 
         out_string:='Bla...Bla...Bla';
      end if;
      dbms_output(out_string);
      commit;
end loop;


sessii vseravno ostjutsya na remote do pobednogo konza:((
...
Рейтинг: 0 / 0
commit distributed transaction on remote knote.
    #32192527
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
COMMIT will not help, you nee to close database link:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
for i in ( select db_link from user_db_links)
   loop
      query:='select bla from table@'||i.db_link||' where blablabla...';
      execute immediate (query) into blabla;
      EXECUTE IMMEDIATE 'ALTER SESSION CLOSE DATABASE LINK ' || i.db_link;
      if blabla = 'bla' then 
         out_string:='Bla...Bla';
         else 
         out_string:='Bla...Bla...Bla';
      end if;
      dbms_output(out_string);
end loop;


SY
...
Рейтинг: 0 / 0
commit distributed transaction on remote knote.
    #32192920
Bardis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to SY:

Super!!!.... kak vsegda :-)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / commit distributed transaction on remote knote.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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