powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Commit Write NoWait
10 сообщений из 10, страница 1 из 1
Commit Write NoWait
    #39578664
cwn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cwn
Гость
День добрый!
Код: plsql
1.
select * from v$version

Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

Может ли при "commit write nowait" , временами, не фиксироваться запись? Если да, то можно ли это где-то увидеть, найти эту запись, за опр. период?

Примерный вид пакета:

Код: 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.
package body logs is pragma serially_reusable;

procedure errs (msg IN VARCHAR2) is PRAGMA AUTONOMOUS_TRANSACTION;
begin
    insert into errs (mess) values (msg);
    COMMIT WRITE NOWAIT;
end errs;

procedure ins1 (vs1 IN VARCHAR2) is PRAGMA AUTONOMOUS_TRANSACTION;
begin
    insert into ins1(str) values (vs1);
    COMMIT WRITE NOWAIT;
end ins1;

procedure ins2 (vs2 IN VARCHAR2) is PRAGMA AUTONOMOUS_TRANSACTION;
begin
    insert into ins2(str) values (vs2);
    COMMIT WRITE NOWAIT;
end ins2;

procedure parse (vs IN VARCHAR2) is PRAGMA AUTONOMOUS_TRANSACTION;
begin
    ins1(vs); -- запись есть
    -- ...
    ins2(vs); -- записи нет
    exception when others then errs(msg); -- в логах пусто
end parse;

...

p.s. при повторном "прогоне" с исходными данными, запись корректно записалась в обе таблицы ..
...
Рейтинг: 0 / 0
Commit Write NoWait
    #39578725
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cwn11.2.0.>>>3<<<.0Странновато.
cwn Может ли при "commit write nowait" , временами, не фиксироваться запись? Не может, если "база" в этот момент не "падала".
cwn
Код: plsql
1.
    exception when others then errs(msg); -- в логах пусто

Логи, бывает, не пишутся.
cwnp.s. при повторном "прогоне" с исходными данными, запись корректно записалась в обе таблицы ..Барабашек нет, а ошибка, как водится, где-то в 17-ой строке.


P.S. С автономками не перебор?
...
Рейтинг: 0 / 0
Commit Write NoWait
    #39578757
Фотография mRdUKE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cwn,

Asynchronous Commit
Note that the specification of the NOWAIT and BATCH options allows a small window of vulnerability in which Oracle Database can roll back a transaction that your application view as committed. Your application must be able to tolerate the following scenarios:
1) The database host crashes, which causes the database to lose redo that was buffered but not yet written to the online redo logs.
2) A file I/O problem prevents log writer from writing buffered redo to disk. If the redo logs are not multiplexed, then the commit is lost.
WARNING SUMMARY:
The COMMIT NOWAIT feature also has serious implications for database consistency in the event of an instance crash or hardware fault occurring while COMMIT NOWAIT is enabled. Backup and recovery strategies must be up to date and readily available if the COMMIT NOWAIT feature is enabled due to the nature of the affects during failures.
...
Рейтинг: 0 / 0
Commit Write NoWait
    #39578861
cwn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cwn
Гость
ElicСтранновато.Чем, тем что не последняя из 11-ых?
ElicЛоги, бывает, не пишутся.Спасибо, временами именно "сваливается" ORA-06519 (выполнен откат назад для незавершенной автономной транзакции) на операторе return . Только не понятно почему, может быть дело в сбросе переменных пакета, если пакет одновременно используется несколькими десятками клиентов?
vs = d038163220180103F301000000000000000953486:24
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure parse (vs IN VARCHAR2) is PRAGMA AUTONOMOUS_TRANSACTION;
    n number(3);
    i number(1);
begin
    ins1(vs); -- запись есть
    
    n := length(vs);

    if n < 64 then i := 1;
    elsif n < 88 then i := 2;
    elsif n < 112 then i := 3;
    elsif n < 136 then i := 4;
    else return;
    end if;
...

mRdUKEAsynchronous CommitСпасибо за информацию.
...
Рейтинг: 0 / 0
Commit Write NoWait
    #39578863
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cwnвременами именно "сваливается" ORA-06519 (выполнен откат назад для незавершенной автономной транзакции) на операторе return Чудес не бывает.
Ты вообще в курсе, где начинается автономка?
...
Рейтинг: 0 / 0
Commit Write NoWait
    #39578871
cwn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cwn
Гость
ElicТы вообще в курсе, где начинается автономка?begin он и в Африке begin, разве нет? )
...
Рейтинг: 0 / 0
Commit Write NoWait
    #39578872
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cwnElicТы вообще в курсе, где начинается автономка?begin он и в Африке begin, разве нет? )Не для всех это очевидно.
...
Рейтинг: 0 / 0
Commit Write NoWait
    #39578883
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eliccwnпропущено...
begin он и в Африке begin, разве нет? )Не для всех это очевидно.
очевидно что солнце вокруг земли вертится, но к сожленью ето не так

.....
stax
...
Рейтинг: 0 / 0
Commit Write NoWait
    #39579003
Лапласиан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Staxочевидно что солнце вокруг земли вертится, но к сожленью ето не таккто вокруг кого вертится - это условный выбор системы координат и точки отсчета.
...
Рейтинг: 0 / 0
Commit Write NoWait
    #39579030
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛапласианStaxочевидно что солнце вокруг земли вертится, но к сожленью ето не таккто вокруг кого вертится - это условный выбор системы координат и точки отсчета.
да-да
мы вокруг месяца

.....
stax
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Commit Write NoWait
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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