Size: a a a

DBA - русскоговорящее сообщество

2021 February 19

g

greeninsania in DBA - русскоговорящее сообщество
Ilia Zviagin
ну я тоже впервые про это поле слышу...

Это как бы DBTS последней транзакции, менявшей страницу, где данная строка лежит.
Судя по описанию. То есть если меняется соседняя запись, данная тоже помечается как "возможно изменённая".
Ага. Там есть режим rowdependieces, тогда только изменённые строки будут помечаться.
источник

ВП

Василий Потапов... in DBA - русскоговорящее сообщество
по моему, ты пытаешься нарисовать какой-то костыль. ИМХО, риск потери данных очень велик
источник

g

greeninsania in DBA - русскоговорящее сообщество
Василий Потапов
по моему, ты пытаешься нарисовать какой-то костыль. ИМХО, риск потери данных очень велик
Так поэтому и спрашиваю про практику применения, или аргументы против)
источник

g

greeninsania in DBA - русскоговорящее сообщество
В mssql dbts отлично используется.
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
greeninsania
Так поэтому и спрашиваю про практику применения, или аргументы против)
применяли на практике, во- первых по дефолту scn меняется у целого блока, а не только у изменившейся строки (это можно поменять), во-вторых некоторые запросы в ansi-стиле падали со странными ошибками, если в выборке была эта функция - приходилось писать в старой оракловой нотации
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
greeninsania
Ага. Там есть режим rowdependieces, тогда только изменённые строки будут помечаться.
верно и если склероз не изменяет, этот режим добавляет накладных расходов на строку. в целом жить можно было, но scn служил лишь доп. проверкой, выборки то все же по индексам делали.
источник

g

greeninsania in DBA - русскоговорящее сообщество
Андрей Агеев
верно и если склероз не изменяет, этот режим добавляет накладных расходов на строку. в целом жить можно было, но scn служил лишь доп. проверкой, выборки то все же по индексам делали.
Спасибо!
В моем случае, то что блоку scn ставится не критично, затяну блок вместо одной строки. Про старую нотацию не понял, оракл только издали видел) но запросы с выборкой ORA_ROWSCN работают на тестах. В проде ещё не применяли.
Выборки по индексам это выбор новых id?
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
greeninsania
Спасибо!
В моем случае, то что блоку scn ставится не критично, затяну блок вместо одной строки. Про старую нотацию не понял, оракл только издали видел) но запросы с выборкой ORA_ROWSCN работают на тестах. В проде ещё не применяли.
Выборки по индексам это выбор новых id?
ну или id или дата-время изменения, все что угодно
источник

g

greeninsania in DBA - русскоговорящее сообщество
Андрей Агеев
ну или id или дата-время изменения, все что угодно
Оке, спасибо!
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
точно помню что падало с ansi-джойнами, пишешь таблицы через запятую - работает. это было. оракл 10-й там был. может пофиксили.
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Андрей Агеев
точно помню что падало с ansi-джойнами, пишешь таблицы через запятую - работает. это было. оракл 10-й там был. может пофиксили.
Ну ты ещё бы 9ку вспомнил...
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
Ilia Zviagin
Ну ты ещё бы 9ку вспомнил...
да там создалось субьективное впечатление некоторые баги десятилетиями живут.
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Андрей Агеев
да там создалось субьективное впечатление некоторые баги десятилетиями живут.
В 11ом уже не было никаких багов ANSI JOIN vs ORACLE JOIN. В последних релизах
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
greeninsania
Оке, спасибо!
ну короче если наткнетесь на странный баг, когда с ора_сцн запрос падает, а без него работает, то воркараунд будете знать какой попробовать
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
Ilia Zviagin
ну я тоже впервые про это поле слышу...

Это как бы DBTS последней транзакции, менявшей страницу, где данная строка лежит.
Судя по описанию. То есть если меняется соседняя запись, данная тоже помечается как "возможно изменённая".
если первый раз слышишь про данное системное поле, откуда такая уверенность, что багов с ним связанных в новых версиях нет?
источник

IZ

Ilia Zviagin in DBA - русскоговорящее сообщество
Андрей Агеев
если первый раз слышишь про данное системное поле, откуда такая уверенность, что багов с ним связанных в новых версиях нет?
Я что написал-то? ты видел?
Впрочем, ок, я гарантировать отсутсвие багов в оракле конечно не могу.
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
ну вот и у меня нет уверенности, что их нет, поэтому рассказываю человеку про то, как удавалось обходить, вдруг пригодится.
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
вероятно функцией, возвращающей это поле мало кто пользуется, поэтому баги могут существовать вечно - большинству же не мешают.
источник

g

greeninsania in DBA - русскоговорящее сообщество
Ещё раз спасибо) учту.
источник
2021 February 20

ДМ

Дмитрий Мачихелян... in DBA - русскоговорящее сообщество
CREATE OR REPLACE FUNCTION public.increment_updated_times()
 RETURNS trigger
 LANGUAGE plpgsql
AS $function$
 begin
   if
     old.contact_name= new.contact_name and
     old.company = new.company and
     old.contact_group = new.contact_group and
     old.email = new.email and
     old.account_name = new.account_name and
     old.job_title = new.job_title then
     new.updated_times = old.updated_times+1;
   return new
 END;
$function$
источник