|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
НеофитSQL Кэш действительно глобальный, один на целый сиквенс. Точнее, sequence cache в SGA глобальный для всех последовательностей, но с позиции выдачи значений также глобальный для одиночного сиквенса. Согласен, затупил. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 20:23 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
env НеофитSQL, Держите "загадку". От первого nextval до select currval других сессий не было. Код: 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.
Изученных инструментов должно хватить для "решения". Возможно, вы добавили триггер между первой и последней строкой, но об этом не сказали? Или можно полагать что экран правдиво отражает весь инпут полученный ораклом с начала до конца? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 20:32 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
НеофитSQL Или можно полагать что экран правдиво отражает весь инпут полученный ораклом с начала до конца? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 20:36 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
K790 НеофитSQL... По этой причине, Ораклу пришло много баг репортов, и их отделу техподдержки пришлось писать аж целую объяснительную. https://support.oracle.com/knowledge/Oracle Database Products/2588246_1.html Смотрю в книгу вижу RAC фигу. О чем и говорил Вячеслав. Непонятно только, зачем этот бессознательный поток на форум нести? Освой концепции и вопросов станет на порядок меньше. Я вижу, вы второй параграф не осилили, застряли на фиге RAC. Перевожу: "применяется к: Ораклу: версия 7 и позже. Информация в документе применима ко всем платформам" Вы понимаете, почему в документах тех поддержки симптом описывается в одной конфигурации, а ответ захватывает более широкую сферу? Я могу объяснить, это вытекает из правил процесса тех поддержки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 21:45 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
кит северных морей НеофитSQL Или можно полагать что экран правдиво отражает весь инпут полученный ораклом с начала до конца? Да, поэтому я задал уточняющий вопрос. Подождем, что ответит. Мой спул был без модификаций, но не с начала сессии, чтобы показать эффект состояния БД на одинокую сессию.. Вырезать что-то из середины или править текст это конечно обман. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 21:59 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev это единственный человек для которого так много оказалось интиетивно неправильно понятным, что читать документацию совсем не обязательно я скажу больше. это единственный на моей памяти придурок оригинал на этом форуме, которому неглупые и критически настроенные в обычной ситуации люди уже не первую неделю пытаются хирургически пересадить свои мозги. честно - я в ахфиге. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 23:42 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
проходил мимо... честно - я в ахфиге. Аналогично. Если бы я знал больше об AI (искусственном интеллекте), я бы мог предположить, что наш век заканчивается, и неофиты нас сменяют. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2020, 23:50 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
dmdmdm проходил мимо... честно - я в ахфиге. Аналогично. Если бы я знал больше об AI (искусственном интеллекте), я бы мог предположить, что наш век заканчивается, и неофиты нас сменяют. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 01:23 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
dmdmdm Если бы я знал больше об AI (искусственном интеллекте), я бы мог предположить, что наш век заканчивается, и неофиты нас сменяют. Не, неофит не AI, неофит это китайская комната)) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 02:01 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
НеофитSQL экран правдиво отражает весь инпут полученный ораклом с начала до конца Разумеется нет, т.к. инпут полученный ораклом от других процессов, включая системные экран не отразит. Если же речь про "команды полученные в одной сессии", тогда да. Даже правдивее, чем было у вас, ничего не пропущено. НеофитSQL Возможно, вы добавили триггер Да, воспользовался вашей же казуистикой про "другие сессии" env От первого nextval до select currval других сессий не было. и добавил триггер в другой сессии до первого nextval. Поэтому уточнил, что должно хватить изученных инструментов. Пример показывает, что при использовании общего сиквенса в разных кусках кода последний явный вызов nextval в коде пользователя не обязательно будет совпадать с currval в этой же сессии. Никакого чуда, ожидаемое поведение. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 09:36 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
env добавил триггер в другой сессии до первого nextval ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 09:40 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
Вообще-то именно на 11G был такой неопубликованный баг (Sequence Starts With Value 2 In 11G (Doc ID 1273858.1)) И даже вроде SY его здесь показывал ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 09:59 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
кит северных морей env добавил триггер в другой сессии до первого nextval Была мысль. Но решил, что это не сильно отличается. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 10:01 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
Вячеслав Любомудров Вообще-то именно на 11G был такой неопубликованный баг (Sequence Starts With Value 2 In 11G (Doc ID 1273858.1)) И даже вроде SY его здесь показывал я думаю, что всё проще и сессии одной достаточно (и автора ,кто ищет, тот найдет .. в зеркале) примерно было так: Sequence ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 11:41 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
кит северных морей https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_6015.htm ORDER Specify ORDER to guarantee that sequence numbers are generated in order of request. This clause is useful if you are using the sequence numbers as timestamps. Guaranteeing order is usually not important for sequences used to generate primary keys. в какой ситуации, выполняя запросы вида insert into tab(id, ts) values (seq.nextval, systimestamp), мы получим расхождение в очередности id и ts? Dimitry Sibiryakov не говорил именно о таком запросе, в общем случае id может быть получено ранее до вставки в таблицу, на таблице может быть триггер на ts, причем триггер может явно поломать даже ваш вариант, кроме того, я не помню чтобы Oracle давал гарантии последовательности и четкой очередности вызова различных функций в запросе, тем более что запрос не один и в разных сессиях, в вашем примере я вижу четыре конкурирующих по времени процесса: получение id и ts в первом запросе и получение id и ts во втором запросе, если Oracle дает гарантию последовательности выполнения получения id1 - ts1 -id2 - ts2, хотелось бы увидеть где это описано. В этой ситуации есть еще нюанс, допустим разные сессии вставляют записи с id - 8, 9, 10; 8 и 10 были подтверждены, в этот момент наш неофит начал некую обработку и считал записи вплоть до последней 10-й, обработал их и думает, что он обработал все записи до 10-й включительно, после этого проходит commit 9-й и ущербная логика программного модуля неофита поломалась. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 14:06 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
graycode, Он живёт в парадигме НеофитSQL В таблицу импорта событий пишет один пользователь, больше никто Предположу, что один пользователь == одна сессия в этой парадигме. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 14:17 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
env, Меня больше смущает даже не это, а то что его творчество проходит кодревью ... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 14:36 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
graycode, systimestamp получаем на момент старта оператора для всех строк, потом уже id, ф-ции, триггера и тд и чисто теретически (если не латчить ) , можно получить рассогласование в двух сессиях выполняем insert into tab(id, ts) values (seq.nextval, systimestamp), 1) в первой сессии старт инсерта - вычисляется systimestamp получили напр xxx.001001 2) "прерывание" (переключаемся на вторую сессию) 3) во второй стартует инсерт вычисляется systimestamp получили напр xxx.001005 4) во втрой получаем ИД напр 17, "прерывание" (возвращаемся к обслуживанию инсерта в первой сессии) 5) в первой получаем ИД напр 18 итого, ид не согласованы по времени как на самом деле я не знаю ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 14:45 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
graycode, Судя по предыдущим топикам, "старший товарищ" там уже развёл такой зоопарк, что это неудивительно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 14:48 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
graycode env, Меня больше смущает даже не это, а то что его творчество проходит кодревью ... Это бывает, что непрывного code review нет, или есть "по желанию". А вот то, что "боевая база" - 11.2.0.1.0, и разработка ведется прямо на ней - не смущает? Вот это в моей голове со словом "работа" ни в каком извороте не комбинируется. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 15:44 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
booby, Про наличие админа никто же не говорил. Бэкапов скорее всего тоже нет и база возможно в noarchivelog. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 15:47 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
booby, С большой долей вероятности лицензий на Oracle у организации нет, деньги на девелоперскую среду не выделяются и вообще деньги не выделяются, поэтому сидит два-три человека с зарплатой сильно ниже рынка и пилят систему на ворованном Oracle без всякой организации процесса разработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 16:05 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
graycode booby, С большой долей вероятности лицензий на Oracle у организации нет в Украине позволить себе купить оракле могут лишь немногие https://prozorro.gov.ua/tender/search/?query=oracle .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 16:16 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
Stax graycode booby, С большой долей вероятности лицензий на Oracle у организации нет в Украине позволить себе купить оракле могут лишь немногие https://prozorro.gov.ua/tender/search/?query=oracle .... stax В России так же было, прошло 15 лет, в результате: Oracle DBA/Developer на рынке доступнее чем по другим базам Oracle база сидит на каждом рабочем месте, не говоря о информационных системах. первая доза бесплатна, как только появятся бабки, все резко изменится... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 17:32 |
|
Чтение таблицы из триггера (after-insert)
|
|||
---|---|---|---|
#18+
[quot env#22218733] НеофитSQL Пример показывает, что при использовании общего сиквенса в разных кусках кода последний явный вызов nextval в коде пользователя не обязательно будет совпадать с currval в этой же сессии. Никакого чуда, ожидаемое поведение. ничего удивительного. Для оракла все равно, видит пользователь вызов nextval на экране или нет. Хоть в триггере, хоть в функции. Главное, чтобы в той же сессии. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2020, 20:03 |
|
|
start [/forum/topic.php?fid=52&msg=40010909&tid=1880777]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
83ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 187ms |
0 / 0 |