Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Когда может изменяться rowid? / 18 сообщений из 18, страница 1 из 1
18.01.2019, 13:01
    #39761447
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Подскажите, в каких случаях может изменяться rowid строки?
Версия Oracle 10g.
Я нагуглил такой список:

- Экспорт/импорт таблицы
- ALTER TABLE XXXX MOVE
- ALTER TABLE XXXX SHRINK SPACE
- FLASHBACK TABLE XXXX
- Партиционирование (разделение, изменение, комбинирование)

То есть физические манипуляции с файлами данных.
Но это не с сайта Oracle, поэтому может быть что-то упущено.
Может ли rowid меняться при применении транзакций, выполнении DML, рестарте сервера?
...
Рейтинг: 0 / 0
18.01.2019, 13:06
    #39761455
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Alibek B.Но это не с сайта Oracle
т.е документации ты не доверяешь ?
...
Рейтинг: 0 / 0
18.01.2019, 13:07
    #39761456
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Alibek B.в каких случаях может изменяться rowid строки?Лучше попытайся назвать причину, зачем нужно хранить rowid.
...
Рейтинг: 0 / 0
18.01.2019, 13:13
    #39761457
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
123ййт.е документации ты не доверяешь ?
Я разве не противоположное сказал?
Как раз в документации я не нашел статьи, где бы перечислялись причины смены rowid.

Elicзачем нужно хранить rowid.
Хранить не нужно, но нужно помнить на протяжении срока выполнения долгоиграющего скрипта.
...
Рейтинг: 0 / 0
18.01.2019, 13:23
    #39761469
Maxim Demenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Alibek B.Может ли rowid меняться при применении транзакций, выполнении DML, рестарте сервера?

Как минимум может при UPDATE клüча партиционирования в партиционированной таблице

Regards

Maxim
...
Рейтинг: 0 / 0
18.01.2019, 13:25
    #39761470
Viewer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns008.htm If you delete a row, then Oracle may reassign its rowid to a new row inserted later.
...
Рейтинг: 0 / 0
18.01.2019, 13:37
    #39761478
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Alibek B.Хранить не нужно, но нужно помнить на протяжении срока выполнения долгоиграющего скрипта.

если строка заблокирована, можете пользовать спокойно,
пока curent of cursor реализовано на WHERE ROWID = :B1

.....
stax
...
Рейтинг: 0 / 0
18.01.2019, 13:41
    #39761484
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Staxесли строка заблокирована, можете пользовать спокойноблокировка гарантирует только, что строку-роуид не поменяет другая транзакция.
...
Рейтинг: 0 / 0
18.01.2019, 14:03
    #39761500
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Alibek B.,

еще есть ИОТ (но там не совсем ровид)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
  1* select rowid,i.* from iii i
SQL> /

ROWID                                             ID NAME
----------------------------------------- ---------- ----------
*BAEQbKsCwQL+                                      1 1111111
*BAEQbKsCwQP+                                      2 222222

SQL> update iii set id=3 where id=1;

1 row updated.

SQL> select rowid,i.* from iii i
  2  /

ROWID                                             ID NAME
----------------------------------------- ---------- ----------
*BAEQbKsCwQP+                                      2 222222
*BAEQbKsCwQT+                                      3 1111111



.....
stax
...
Рейтинг: 0 / 0
18.01.2019, 15:26
    #39761555
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
ViewerIf you delete a row, then Oracle may reassign its rowid to a new row inserted later.
Stax==>*BAEQbKsCwQT+
Ага, понятно.
Значит rowid может поменяться в том числе и в рамках сессии.
...
Рейтинг: 0 / 0
18.01.2019, 15:31
    #39761564
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Alibek B.Значит rowid может поменяться в том числе и в рамках сессии.А вне "рамок сессии" это как?
...
Рейтинг: 0 / 0
18.01.2019, 15:54
    #39761583
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Alibek B.Значит rowid может поменяться в том числе и в рамках сессии.
Надо различать изменение rowid конкретной записи (физический переезд) и появление совершенно иной записи по известному rowid.
Кроме того, следует отличать rowid от logical rowid IOT
...
Рейтинг: 0 / 0
18.01.2019, 16:23
    #39761605
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
-2-А вне "рамок сессии" это как?
Есть долгоиграющий скрипт, который запускается, подключается к БД и что-то делает в течение времени, пока запущен (несколько часов/дней/недель). Это время, пока он запущен, я считаю сессией.
...
Рейтинг: 0 / 0
18.01.2019, 16:33
    #39761612
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Alibek B.-2-А вне "рамок сессии" это как?
Есть долгоиграющий скрипт, который запускается, подключается к БД и что-то делает в течение времени, пока запущен (несколько часов/дней/недель). Это время, пока он запущен, я считаю сессией.
если "долгоиграющий скрипт" не блокирует строки с которыми работает по rowid,
то есть опасность что он обработает "левые/чужие" записи

....
stax
...
Рейтинг: 0 / 0
18.01.2019, 16:35
    #39761615
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Да, я это уже понял.
...
Рейтинг: 0 / 0
18.01.2019, 17:43
    #39761668
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
Alibek B.-2-А вне "рамок сессии" это как?
Есть долгоиграющий скрипт, который запускается, подключается к БД и что-то делает в течение времени, пока запущен (несколько часов/дней/недель). Это время, пока он запущен, я считаю сессией .Это похоже на описание рамок сессии , вопрос был про вне рамок сессии .

Staxесли "долгоиграющий скрипт" не блокирует строки с которыми работает по rowid,
то есть опасность что он обработает "левые/чужие" записиА если блокирует?
...
Рейтинг: 0 / 0
18.01.2019, 18:16
    #39761691
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
-2-Это похоже на описание рамок сессии , вопрос был про вне рамок сессии .
А вне рамок сессии изменение rowid меня не интересует.
Скрипт следит за данными и была мысль однозначно идентифицировать записи с помощью rowid, пока скрипт запущен.
Но поскольку rowid может меняться, то этот способ не подходит.
...
Рейтинг: 0 / 0
18.01.2019, 21:08
    #39761746
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда может изменяться rowid?
-2-блокировка гарантирует только, что строку-роуид не поменяет другая транзакция.тоесть, исходя из сказанного, сама она (строка/ROWID) поменяться может - без транзакции?
удивительно. я всегда думал, что блокировка существует не для защиты от *других транзакций*, а в принципе для защиты от изменений без твоего ведома.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Когда может изменяться rowid? / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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