powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / orw_rowscn is null - нормально?
7 сообщений из 7, страница 1 из 1
orw_rowscn is null - нормально?
    #39474137
ora_rowscn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет. Это нормальное поведение? В смысле где-нибудь описано?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Connected to Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 

SQL> create table dropme(id integer) rowdependencies;
Table created
SQL> insert into dropme values (1);
1 row inserted
SQL> commit;
Commit complete
SQL> select id, ora_rowscn from dropme for update;
                                     ID ORA_ROWSCN
--------------------------------------- ----------
                                      1 3901451194
SQL> /
                                     ID ORA_ROWSCN
--------------------------------------- ----------
                                      1           
...
Рейтинг: 0 / 0
orw_rowscn is null - нормально?
    #39474152
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ora_rowscnЭто нормальное поведение?Это логично. Scn, который будет у строки, неизвестен до коммита.
...
Рейтинг: 0 / 0
orw_rowscn is null - нормально?
    #39474209
Read commited
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elicora_rowscnЭто нормальное поведение?Это логично. Scn, который будет у строки, неизвестен до коммита.
Ну ладно хоть эта логика проявляется на втором запросе, а не, скажем, десятом или пятнадцатом.
...
Рейтинг: 0 / 0
orw_rowscn is null - нормально?
    #39474283
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Read commitedElicпропущено...
Это логично. Scn, который будет у строки, неизвестен до коммита.
Ну ладно хоть эта логика проявляется на втором запросе, а не, скажем, десятом или пятнадцатом.Для select for update берется текущая версия блока.
После того как он выполнен, состояние текущей версии отличается от того, что было до него как минимум в том,
что уже проставлен признак блокировки (lck) идентификатор транзакции (xid) для интересующей строки,
изменен scn (как оно выглядит с rowdependencies надо делать dump), chkval etc.
Если интересует углубиться дальше - 15384061 .
...
Рейтинг: 0 / 0
orw_rowscn is null - нормально?
    #39474587
ora_rowscn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopизменен scn
А на коммите откатывает его взад?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SQL> select id, ora_rowscn from dropme for update;
                                     ID ORA_ROWSCN
--------------------------------------- ----------
                                      1 3901928116
SQL> commit;
Commit complete
SQL> select id, ora_rowscn from dropme for update;
                                     ID ORA_ROWSCN
--------------------------------------- ----------
                                      1 3901928116


Read commitedНу ладно хоть эта логика проявляется на втором запросе, а не, скажем, десятом или пятнадцатом.

Какая разница - на втором или пятом? Если ты пишешь PL/SQL процедуру, следует ожидать что она в стеке вызовов может оказаться не на верхнем уровне, а транзакция может быть начата до ее вызова. Посему, в общем, все равно - на втором, пятом или рандомно.

Резюме.
Судя по всему, таки не баг, либо багофича вроде того, как for update сбрасывает резалткэш, котороая то нотэбаг, то таки баг, то нотэбаг взад.
Всем спасибо за участие.
...
Рейтинг: 0 / 0
orw_rowscn is null - нормально?
    #39474730
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ora_rowscnfor update сбрасывает резалткэшЯ там по ссылке делал предположение, что result cache смотрит на chkval.
При роллбек текущей версией блока становится та, которая была до select for update, соответсвенно chkval становится прежним и result cache снова валидный.
Аналогичная ситуация с scn.
...
Рейтинг: 0 / 0
orw_rowscn is null - нормально?
    #39474732
Read commited
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ora_rowscnКакая разница - на втором или пятом? Если ты пишешь PL/SQL процедуру, следует ожидать что она в стеке вызовов может оказаться не на верхнем уровне, а транзакция может быть начата до ее вызова. Посему, в общем, все равно - на втором, пятом или рандомно.
Ты не понял меня.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / orw_rowscn is null - нормально?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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