Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Commit Write NoWait / 10 сообщений из 10, страница 1 из 1
02.01.2018, 12:32
    #39578664
cwn
cwn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Commit Write NoWait
День добрый!
Код: 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
02.01.2018, 17:10
    #39578725
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Commit Write NoWait
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
02.01.2018, 19:09
    #39578757
mRdUKE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Commit Write NoWait
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
03.01.2018, 09:18
    #39578861
cwn
cwn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Commit Write NoWait
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
03.01.2018, 10:07
    #39578863
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Commit Write NoWait
cwnвременами именно "сваливается" ORA-06519 (выполнен откат назад для незавершенной автономной транзакции) на операторе return Чудес не бывает.
Ты вообще в курсе, где начинается автономка?
...
Рейтинг: 0 / 0
03.01.2018, 10:36
    #39578871
cwn
cwn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Commit Write NoWait
ElicТы вообще в курсе, где начинается автономка?begin он и в Африке begin, разве нет? )
...
Рейтинг: 0 / 0
03.01.2018, 10:41
    #39578872
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Commit Write NoWait
cwnElicТы вообще в курсе, где начинается автономка?begin он и в Африке begin, разве нет? )Не для всех это очевидно.
...
Рейтинг: 0 / 0
03.01.2018, 11:35
    #39578883
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Commit Write NoWait
Eliccwnпропущено...
begin он и в Африке begin, разве нет? )Не для всех это очевидно.
очевидно что солнце вокруг земли вертится, но к сожленью ето не так

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

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


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