powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Были в вашей практике проблемы с целостностью баз данных Каше?
46 сообщений из 46, показаны все 2 страниц
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39493094
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабж
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39493829
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересные конечно результаты. Хотя с учетом того что не так много пока проголосовавших, значит не так и много. Скажем так, отвечают только те у кого были проблемы с целостностью баз, а у кого проблем не было те сюда и не ходят вообще, и их может быть значительно больше. И наверно еще интересны варианты, о предполагаемых причинах которые привели к нарушению целостности. Хотя бы в комментариях, и на каких версиях Caché случалось, чтобы примерно понять расклад по новым версиям.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39493907
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Декабрь 2015. Cache 2012.2.5, CentOS 6.x. Файл БД был "грязно" скопирован на другой сервер.

Возникли ошибки типа 21, 25 и 26.

Случай заинтересовал ISC, и они провели расследование, пытаясь выявить как вероятные причины порчи БД, так и разобраться в некоторых внутренних вопросах (в основном их, конечно, интересовало второе). Однозначно признали, что из-за грязного копирования могла возникнуть лишь ошибка типа 26. Отчёт о ней выглядел примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
Error of type 26 while processing pointer block 5318955
  which has a left neighbor pointer block of 4966846
 The error occurred while processing node 8
00163","000D",153,"uAtACLА","000","@XHRS
Svid","") pointing to the lower level block 5187262
 The lower level block specifies a right link block of 6018052.
 That doesn't match the next pointer node in the pointer block, which is 5187264

По остальным ошибкам не было столь однозначного мнения. Ситуацию усложняло то, что целостность БД не проверялась перед копированием, поэтому какие-то ошибки возможно уже были, и новые ошибки наложились на старые.

Случай отчасти поучительный для тех, кто не верил, что при грязном копировании (т.е., при копировании смонтированной БД) целостность может пострадать, но как говорится учёба прошла за чужой счёт.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39494244
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

месяца два назад я бы выбрал второй вариант, а сейчас первый. Творится какая-то мистика и ересь, каждую неделю обнаруживаются новые ошибки, вплоть до "The lower level block is degraded and can't be parsed". Но но в основном ошибка правой ссылки, но такая, что просто поправить ее нельзя, потому что в этом случае по сортировке следующий блок будет меньше, чем последняя запись сбойного. Приходится блок удалять.
Админы, как водится, в отказ.
Катастрофы с сервером случались, но в основном с сервером ничего не происходит, но даже не перезапускается между проверками. После исправления ошибок глобала сразу же проверяю его, т.е. вылазят не недоисправленные ошибки, а новые. Ломаются данные в индексных глобалах, где частое расщепление блоков. Я в недоумении.

Последнее, что удивило - было сообщение об ошибке, но лог глянул не в день окончания проверки, посмотрел через пару дней, ошибку глазами в REPAIR не увидел. Перепроверил через INTEGRIT - нет ошибки. Сейчас смотрю логи новой проверки целостности - в глобале две ошибки, и одна из них в том же блоке, что и показало в предыдущий раз. Глазами пока еще не смотрел.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39494257
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.,

Ого, тут явно что-то не так с сервером. Просто останавливать сервер в разгар рабочего дня, пиная на админов, что у них проблемы с железом. Так часто просто не может происходить, тут точно внешняя причина. Но способы выявления этого конечно зависят от конфигурации сервера, ну и конечно ОС.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39494262
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне довольно сложно представить себе частого появления ошибок. На моей практике проблемы возникали в основном по вине неправильного выклчения сервера, либо разрушений диска. Даже база в несколько терабайт, с ежедневным ростом по несколько гигабайт, где одних журналов на 100Гб в день набегает. И не было проблем с целостностью.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39494316
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Случай с исчезновением ошибки перестал был мистическим, ошибка просто переместилась в другой блок (видимо, произошло расщепление ошибочного блока)
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39494406
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н....произошло расщепление ошибочного блока...Такое возможно при ошибке в блоке указателей. При ошибке в блоке данных - вряд ли: если у него неверная правая связь, или последний узел, Cache просто откажется работать с этим блоком: <DATABASE>, и отстаньте.

Мне случалось видеть "исчезающие ошибки" такого рода: БД > 1TB не удаётся проверить за ночь, и часть проверки неизбежно идёт в параллель с пользователями. При этом есть вероятность словить незавершённую запись. В Cache 2015.1 эти ошибки проявляются так: счётчик ошибок, записанный в начало протокола проверки, > 0, а в самом протоколе ошибок-то и нет. Что удобно, начиная с этой версии, в настройках задачи проверки целостности в качестве имени протокола можно указать каталог, куда будут складываться файлы протоколов проверки, не затирая друг друга. Количество хранимых файлов можно ограничить.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495687
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаю некоторых ошибок и причин их возникновения.
Почему, например, Pointer Reference может не совпадать с первой записью в блоке (блок данных) и как это исправить. Была ушибочная запись в родительском блоке, удалил и заново вставил. В родительском поправилось, а в дочернем Pointer Referense так и остался старым.
Или, почему Next Pointer Rereferense вообще может быть не похож ни на что: ни что - ни на первую запись следующего узла, ни на ссылку на следующий узел в родительском узле? Часто такое бывает, если нарушена сортировка глобала, запись в следующем блоке раньше по сортировке, чем последняя запись в предыдущем, но не только. И опять, как исправить?
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495755
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему, Pointer Reference в блоке может не совпадать с первой записью просто потому, что обрезан. Число при этом округляется.
Next Pointer Referense вроде бы удалось изменить повторной установкой Link-а. Странно, в другой ошибке это сделать не получилось (кажется)
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495803
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Почему, например, Pointer Reference может не совпадать с первой записью в блоке (блок данных) и как это исправить.Это ошибка, на которую указывает проверка целостности?
вообще заголовок блока не хранит такую информацию, так что Pointer Reference и Next Pointer Reference это чисто информационные данные и на них можно повлять только изменив первый узел блока. Заголовок всего то 28 байт, не так много информации можно туда вместить. А список узлов хранится как данные этого блока.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495826
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

нет, ошибка в Next Pointer Referense, просто меня самого сбивает, что у самого блока Pointer Referense хрен знает что. И если Next Pointer Referense - вычисляемый параметр, то почему в нем может быть ошибка? Не в Link-е, а именно в Next Pointer Referense.

The lower block has a right link global reference that doesn't
Match what was expected in the next pointer node's global reference.
We would expect them to be equal.

Я логически понимаю, что это избыточная информация, а блок всего 8Кб, да и я не работал с блоками на низком уровне в отличии от вас, но пока у меня создается ощущение, что Link и Next Pointer Referense хранятся отдельно. Может быть разные длины для вычисления Pointer Referense и Next Pointer Referense, из-за этого вычисляется неправильно? Но тогда это вообще тупо.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495843
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Link и Next Pointer Referense хранятся отдельно...Так и есть, только Link хранится в заголовке блока, а Next Pointer Referense берётся из блока указателя предыдущего уровня (нижнего уровня, если ошибка в блоке данных).

Могли разойтись, например, так: при выполнении расщепления блока данных блок указателей нижнего уровня был перезаписан с учётом сего факта, а блоки данных - почему-то нет.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495864
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

Т.е. достаточно исправить указатель в родительском блоке? А то, что он, например, где-то отображается обрезанным, это не ошибка? А Способы поменять этот указатель какие? Я делал удаление и вставку записи в родительском блока, но при этом у меня получалось, что Link предыдущего блока автоматом сам не проставлялся. Еще можно удалять и добавлять первую запись в самом блоке, но из-за обрезки указателя меня смутило, что они не совпадаеют с данными.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495869
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* не указателя, а Pointer Referense
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495871
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.,

Ссылки на блоки могут идти из разных мест, и поэтому есть возможность проверить

например есть блок указателей верхнего уровня, со ссылками на два узла нижнего уровня
каждый узел ссылается на нижестоящий блок, первый из которых должен иметь ссылку на последующий за ним блок в списке указателей верхнего блока

верхний блок
1. ссылка на блок 50
2. ссылка на блок 51

блок: 50
должна быть ссылка на блок 51

блок: 51
если в родительском это последний узел, то ссылки не будет
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495884
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.,

написал и подумал, что возможна другая причина ошибки типа 24: изменился первый узел в некотором блоке данных (удалили узел глобала), а в блоке указателей осталась старая запись. Такой сценарий более вероятен, т.к. при ошибке расщепления скорее всего разбежались бы правый указатель блока данных и указатель на следующий блок в блоке указателей, что привело бы к ошибке типа 26:
Код: plaintext
1.
2.
The lower level block specifies a right link block of 4653.
That doesn't match the next pointer node in the pointer block, which is 4054.

Нашёл у себя рецепты по ремонту БД при некоторых типах ошибок, конкретно: 9, 13, 14, 24, 26. Могу выложить куда-нибудь, если интересно.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39495894
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Я делал удаление и вставку записи в родительском блоке...Именно так это и лечится согласно моим шпаргалкам; сам не лечил ошибку типа 24 уже давно, и не могу это подтвердить.

Блок А.Н....при этом у меня получалось, что Link предыдущего блока автоматом сам не проставлялсяВозможно, были ещё ошибки. Integrity может и не показать все ошибки с первого раза.

Про обрезку указателя: не могу прокомментировать, не слышал о таком.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496226
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, вы меня обманываете
Если все вычисляется, скажите, откуда берется у блока 160685934 Next Pointer Referense = ^EnsHL7.Segment(7432,35)?


**********Global EnsHL7.Segment is Not OK**********
Error of type 24 while processing pointer block 157514517
which has a left neighbor pointer block of 157514516
The error occurred while processing node 651
which is ^EnsHL7.Segment(7428,2330146) pointing to the lower level block 160685934
The lower block has a right link global reference that doesn't
Match what was expected in the next pointer node's global reference.
We would expect them to be equal.
The lower block's right link reference is ^EnsHL7.Segment(7432,35)
The pointer block's next reference is ^EnsHL7.Segment(7428,2330247).
***We will continue checking with the next pointer block at this level.

**********Global EnsHL7.Segment is Not OK**********
Error of type 24 while processing pointer block 157514517
which has a left neighbor pointer block of 157514516
The error occurred while processing node 654
which is ^EnsHL7.Segment(7428,2330449) pointing to the lower level block 160685938
The lower block has a right link global reference that doesn't
Match what was expected in the next pointer node's global reference.
We would expect them to be equal.
The lower block's right link reference is ^EnsHL7.Segment(7432,""...)
The pointer block's next reference is ^EnsHL7.Segment(7428,2330550).
***We will continue checking with the next pointer block at this level.

Block #: 157514517
Block # 157514517 Type: 6 BOTTOM POINTER
Link Block: 157514518 Offset: 6148
Count of Nodes: 746 Collate: 5
First Node: ^EnsHL7.Segment(7428,2264477)
Last Node: ^EnsHL7.Segment(7428,2339747)

--more--

# Node POINTER
1 ^EnsHL7.Segment(7428,2264477) 160685052
2 ^EnsHL7.Segment(7428,2264578) 160685054
*****
649 ^EnsHL7.Segment(7428,2329944) 160685932
650 ^EnsHL7.Segment(7428,2330045) 160685933
651 ^EnsHL7.Segment(7428,2330146) 160685934
652 ^EnsHL7.Segment(7428,2330247) 160685935
653 ^EnsHL7.Segment(7428,2330348) 160685937
*****
745 ^EnsHL7.Segment(7428,2339646) 160686046
746 ^EnsHL7.Segment(7428,2339747) 160686049

-----------------------------------------------------------------------------------------------------------
Block # 160685934 Type: 8 DATA
Link Block: 160685935 Offset: 7760
Count of Nodes: 257 Collate: 5 Big String Nodes: 0
Pointer Length:24 Next Pointer Length:21 Diff Byte:Hex 3F
Pointer Reference: ^EnsHL7.Segment(7428,2330146)
Next Pointer Reference: ^EnsHL7.Segment(7432,35)
Next pointer stored? Yes


--more--

# Node Data
1 ^EnsHL7.Segment(7428,2330146) |^~\&ERR|||0|I
2 ^EnsHL7.Segment(7428,2330146,0,33744131)
3 ^EnsHL7.Segment(7428,2330147) |^~\&MSH|^~\&|||MOLISVT|LABOR|20170723170537||ACK^R01^ACK|00000000000016872143|P|2.4
****
256 ^EnsHL7.Segment(7432,34) |^~\&MSH|^~\&|||MOLISVT|LABOR|20170325053813||ACK^R01^ACK|00000000000014746399|P|2.4
257 ^EnsHL7.Segment(7432,34,0,29492664)


-----------------------------------------------------------------------------------------------------------
Block # 160685935 Type: 8 DATA
Link Block: 160685937 Offset: 6068
Count of Nodes: 202 Collate: 5 Big String Nodes: 0
Pointer Length:24 Next Pointer Length:24 Diff Byte:Hex 4C
Pointer Reference: ^EnsHL7.Segment(7428,2330247)
Next Pointer Reference: ^EnsHL7.Segment(7428,2330348)
Next pointer stored? Yes


--more--

# Node Data
1 ^EnsHL7.Segment(7428,2330247) |^~\&MSA|AA|6448760969403
2 ^EnsHL7.Segment(7428,2330247,0,33744199)
***
201 ^EnsHL7.Segment(7428,2330347) |^~\&ERR|||0|I
202 ^EnsHL7.Segment(7428,2330347,0,33744269)

Хотя тут жесть в том, что порядок сортировки нарушен, в конце блока 160685934 данные по сортировке выше, чем в блоке 160685935
И как такие ошибки исправлять, кроме как удалять данные целыми блоками? Чистить несколько сотен записей в блоке 160685934
тоже как-то не хочется
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496278
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.,

да где уж мне вас обмануть! :) Тем более, что-то ведь означают эти пункты меню:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    ...
    10)  Blpntlen4 - Change
    11)  Blnextpntlen4 - Change
    12)  Blnextpntvalue4 - Change
    13)  Blnextpntoff - Change
    ...


Но ни разу (ни устно, ни письменно) мне не попадались советы что-то делать с ними.

Когда ошибок много, то наверное да, удалять целыми блоками. При таком высоком проценте ошибок наверняка нарушена и логическая структура данных.

Нарушение порядка сортировки в пределах одного блока данных может означать, что его образ испортился уже в памяти (в кэше глобалов), но здесь умолкаю. А техподдержка (WRC) на эту тему что говорит?
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496296
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Хотя тут жесть в том, что порядок сортировки нарушен, в конце блока 160685934 данные по сортировке выше, чем в блоке 160685935Я смею предположить, что такое могло произойти по причине того, произошла ошибка при разбиении блока, новый блок записался, а разбитый не успел и остался в прежнем состоянии. И это полагаю может приводить к дальнейшим ошибкам, при попытке разместить новые данные, которые будут помещатся не в тот блок.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496304
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по номерам блоков, база у вас не маленькая, сколько времени занимает проверка целостности?
Думаю, стоит присмотрется к исходникам утилит REPAIR, Integrity, можно понять и алгоритмы проверки и как вообще устроена база. Тем более что этот код весь открыт, разве что $view с его магическими комбинациями понять не так просто. Только свое с примением функции $view на важной базе очень не рекомендую ничего делать, только на отдельной специальной базе для опытов. Чревато, на себе испытал, я таким образом удалил самый первый блок в базе со смещением, как так получилось я не знаю. Но чинил потом почти вручную, так как REPAIR меня послал.
И со знаниями внутренностей Integrity, получить возможность быстро отсканировать проблемную ветку, очень полезно.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496311
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

проверка занимает чуть меньше суток. Ошибки проявляются с завидной регулярностью в разных глобалах, кроме еженедельной проверки я делаю еще проверку в середине недели. Не помню, чтобы полная проверка базы чего-нибудь не выявила. Ну и после исправления, конечно, тоже проверяю глобал.
У меня конспирологическая теория, что данные внутри блоков уже много где с кривой сортировкой, которую проверка целостности не проверяет, а при разбиении блоков это проявляется. Нет подтверждения, что такое возможно, но вообще мало что могу придумать для объяснения того, что происходит.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496315
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

С Интерсистемс интересная история. Они отказываются поддерживать организацию, по крайней мере официально. Такая странная правовая коллизия, софт куплен в сторонней фирме, и лицензия на Каше идет вместе с софтом от этой фирмы, с Интерсистемс официальных отношений нет, на поддержку они поставить не могут, потому что организация ничего у них не покупала. Я могу, конечно спросить у инженеров что-то, и они мне отвечают, к ним претензий нет. Но такие серьезные вещи скорее всего нужно решать через спецов, более приближенных "к телу", обычно они работают на рубежом, личных контактов у меня с ними нет, а через WRC, как понимаете, задачу я поставить не могу.

Blpntlen4 - block header pointer length field
Blnextpntlen4 - header next pointer length field
Blnextpntvalue4 - block header Discriminator byte
Blnextpntoff - header indicator of stored next pointer

Я так понимаю, Blpntlen4 и Blnextpntlen4 - длины Pointer Reference и Next Pointer Reference. Непонятно, зачем длины хранить в блоке, если сами значения не хранятся (или все-таки хранятся?) Не понимаю логику этих значений, смотрел, на мой взгляд, не совпадает ни с чем. Менять не понимая страшновато.
Blnextpntvalue4 - нет догадок, о том, что это.
Blnextpntoff - признак, что Link есть. Странно, это по Link-у нельзя понять?
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496329
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полезно иногда заглядывать все таки в исходники
не помню такого раньше. Но есть возможность запустить REPAIR для удаленной базы через ECP
хотя судя по коду различия в работе минимальны, используется тот же набор команд для работы с блоками
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496591
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorНо есть возможность запустить REPAIR для удаленной базы через ECPПробую (Cache 2015.1.2):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
%SYS>zn "^TDB01^QMSRELEASE-GLOBALS"

^TDB01^QMSRELEASE-GLOBALS> ; чтобы никто не сомневался, что такая удалённая БД есть

^TDB01^QMSRELEASE-GLOBALS> zn "%SYS" d ^REPAIR

***Block Repair/Examine Program***


Directory: : /vol/cachesys/mgr/ => ^TDB01^QMSRELEASE-GLOBALS
%SYS>

наверное, среагировала на ^; если ввести без него, говорит: Directory 'TDB01^QMSRELEASE-GLOBALS' does not exist
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496610
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.,

не хочу сыпать соль на раны, но вы наверное и сами поняли, что "сторонняя фирма" вас серьёзно подставила. Правильнее было бы разрулить вопрос с лицензией, у вас ведь и обновлений нет. Насчёт иностранных инженеров: в WRC сильнее Николая Жохова никого сегодня нет, по крайней мере я не встречал.

По поводу упомянутых 4-х полей Bl*: даже спецы WRC боятся в них лазить, не рискну гадать, что они делают. Некоторая избыточность для доп.контроля точно есть.

Неверной сортировки внутри блока в вашем примере я не увидел (вздохнув с облегчением), а насчёт нарушения сортировки в цепочке блоков объяснение DAiMor-а прозвучало правдоподобно. Такие ошибки Integrity всегда видит.

Соглашусь и с тем, что причина столь частых ошибок может быть только внешняя, Cache так сбоить просто не умеет.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496625
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

Точка входа для ECP другая
Код: sql
1.
2.
3.
4.
5.
6.
%SYS>d ECP^REPAIR

***ECP Client Cache Block Repair/Examine***


Remote directory? (h for help, ? for a list, Q to quit):



из раннего что есть под рукой, тоже работает
Cache for UNIX (Apple Mac OS X for x86-64) 2014.1.4 (Build 803_2U) Tue Aug 11 2015 16:54:11 EDT
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496662
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

вот оно как, спасибо, будем знать. Хотя мне трудно представить себе админа в здравом уме и трезвой памяти, который станет чинить БД, предварительно не отключив всех клиентов (включая ECP).
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496672
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал d ECP^REPAIR любопытства ради. Выдала список удалённых баз на СБД, включив в него даже такую: "^TDB01^/vol/cachesys/mgr/cachetemp/", которая, конечно, не описана в конфигурации удалённых баз на СП. Но при попытке перейти в любую базу ответ один: "The database is not mounted".

Хотя все они, конечно, mounted, ECP работает, и на СБД видно, что все базы смонтированы (они "белые", а не "розовые").

В любом случае, хотя бы имеем утилиту командной строки для просмотра списка удалённых баз. Её иногда не хватало, приходилось либо лезть в Портал, либо вызывать SHOW^%NSP и вытаскивать спецификацию БД из её выдачи.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496722
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovВ любом случае, хотя бы имеем утилиту командной строки для просмотра списка удалённых баз.У меня нету сейчас под рукой настроеного ECP.
Но вот команду нашел
Код: sql
1.
do ##class(SYS.ECP).DisplayDatabases()


а ECP^REPAIR
использует такую
Код: sql
1.
s sfn=##class(SYS.ECP).AskUserForRemoteDir()
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496730
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

"d ECP^REPAIR" короче, чем "do ##class(...)...()"
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496737
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovDAiMor,

"d ECP^REPAIR" короче, чем "do ##class(...)...()" тоже верно
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496766
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

подумал было, что класс путается с зеркальной (mirror) конфигурацией, и попробовал на другом, тоже работающем СП, но без зеркала. Результат тот же. И в общем-то имеет право не работать: публикации в Release Notes ещё не было. Мне ради этой мелочи лень разворачивать ECP-"кластер" на 2017.1; будут ещё задачи, заодно посмотрю и это.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496960
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovне хочу сыпать соль на раны, но вы наверное и сами поняли, что "сторонняя фирма" вас серьёзно подставила. Это политика Интерсистемс в первую очередь, что она позволяет продавать свои лицензии сторонним фирмам и оставляет поддержку на их совести.
Alexey MaslovПравильнее было бы разрулить вопрос с лицензией, у вас ведь и обновлений нет. Ээм. А что делать с лицензией, софт то не самописаный. Никто ведь гарантий, что он будет работать на другой версии Каше не даст, а просто потому что круто в здравом уме тоже мало кто согласится эпгрейдиться.
Alexey Maslov Насчёт иностранных инженеров: в WRC сильнее Николая Жохова никого сегодня нет, по крайней мере я не встречал.Не могу судить, меня почти всегда переводили в итоге на англоязычных специалистов.
Alexey MaslovНеверной сортировки внутри блока в вашем примере я не увидел (вздохнув с облегчением), а насчёт нарушения сортировки в цепочке блоков объяснение DAiMor-а прозвучало правдоподобно. Такие ошибки Integrity всегда видит.Ну ошибка то внутри блока в любом случае до рассечения, тут мы уже ничего не увидим, даже если что-то было.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39496961
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovвот оно как, спасибо, будем знать. Хотя мне трудно представить себе админа в здравом уме и трезвой памяти, который станет чинить БД, предварительно не отключив всех клиентов (включая ECP).Уверяю вас, таки есть, как минимум один .
Ошибки обычно в индексах, пример, который я привел, скорее исключение. Останавливать всю систему ради того, чтобы поправить один индекс, не вижу особого смысла. Система работает по многим российским часовым поясам, чем в какой момент занимается - я не знаю. После исправления логики целостности я просто перестраивают индекс без удаления (кроме одной таблицы, ее вообще не перестраиваю, потому что это порождает несколько десятков гигабайт журналов и такое же распухание CACHETEMP). Явная коллизия за все время была только одна, просто пришлось еще раз исправить ошибку. На случая предположения, что я сам же эти ошибки и делаю - нет, они в разных глобалах происходят.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39497399
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Это политика Интерсистемс в первую очередь, что она позволяет продавать свои лицензии сторонним фирмам и оставляет поддержку на их совестиВообще-то, нормальная практика продаж через VARов. Если в "цепочке -вендор - партнёр(VAR) - клиент" последний оплачивает техподдержку, а партнёр не платит вендору и лишает тем самым клиента т/п вендора, значит, он кидает клиента, и вполне может за это ответить, разве нет? Впрочем, вариантов развития событий здесь много, и я отнесусь с пониманием, если вы не захотите вдаваться в подробности. Это на вашей новой работе происходит?

Насчёт ремонта БД на ходу: это на самом деле опасно, можно огрести новых ошибок, и вполне возможно, что это ваш случай. Кроме того, остановив работу, вы привлекаете внимание руководства к проблемам:
- БД рушится => нестабильная работа железа
- нет зеркального сервера; что если основной сервер совсем станет?

Ремонтируя БД на ходу, вы превращаетесь в "героя, спасающего мир", из которого в любой момент могут сделать стрелочника ("плохо починил" и т.д.).
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39497495
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovа партнёр не платит вендору и лишает тем самым клиента т/п вендора, значит, он кидает клиентаИз чего вы сделали такие выводы?
Alexey MaslovЭто на вашей новой работе происходит?Да, на новой.
Alexey MaslovНасчёт ремонта БД на ходу: это на самом деле опасно, можно огрести новых ошибок, и вполне возможно, что это ваш случай. Кроме того, остановив работу, вы привлекаете внимание руководства к проблемам:Я не "владелец" системы, если я ее остановлю без согласования, то в первую очередь привлеку внимание к себе. Внимание руководства к проблеме я привлек обычными способами, но версий ни у кого нет, и что делать никому не понятно. Зеркального сервера нет, это проблема, о ней тоже знают, но в случае такого разрушения не факт, что оно поможет.
По поводу новых ошибок. Как вы представляете механизм появления ошибки в одном глобале при правке связности в другом? Я не представляю. Самый вероятный случай: при правке линка одного узла модифицируется родительский блок, при этом в родительский блок на живой системе добавляется подузел, который после сохранения правленого родительского узла видно не будет. Ошибка отлично видится и элементарно исправляется. Ситуации типа расщепления родительского блока, понижения или повышения уровня дерева и подобные штуки на тех объемах и том времени, в котором это находится, крайне маловероятны, и в любом случае это будет видно.

Alexey MaslovРемонтируя БД на ходу, вы превращаетесь в "героя, спасающего мир", из которого в любой момент могут сделать стрелочникаМне уже приходилось экстренно разбираться с прикладными проблемами, отчасти с вопросами "а не из-за твоих ли проблем они возникли?" (в некоторых ситуациях перестало хватать памяти процесса). А кому сейчас легко?

Пара деталей еще:
1. сервера находятся у хостера, за время моего наблюдения хостер сменился, проблемы остались;
2. сервера находятся под VMWare. У меня нет опыта эксплуатации систем подобного объема под виртуалкой (многопроцессорные системы, терабайтные объемы данных).
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39497506
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovНашёл у себя рецепты по ремонту БД при некоторых типах ошибок, конкретно: 9, 13, 14, 24, 26. Могу выложить куда-нибудь, если интересно.Выложите. Если есть описание номеров, то тоже, это даже более желательно. Мне номера ошибки ничего не говорят, каждый раз текстом читаю.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39497689
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.зеркала нет...но в случае такого разрушения не факт, что оно поможет...Поможет. Как вы хорошо знаете, зеркало работает через журнал, а его целостность не зависит от целостности БД. Испорченный журнал я вроде бы видел 1 раз за 15 лет, и то до конца не уверен, что видел :)
Блок А.Н.По поводу новых ошибок. Как вы представляете механизм появления ошибки в одном глобале при правке связности в другом? Я не представляю.Я тоже, имел в виду появление ошибок в том же самом глобале.
Блок А.Н.2. сервера находятся под VMWare. У меня нет опыта эксплуатации систем подобного объема под виртуалкой (многопроцессорные системы, терабайтные объемы данных).У меня тоже нет опыта настройки такого хозяйства в целом, однако разворачивать и запускать систему (Linux + Cache) под vSphere приходилось. На нашем крупнейшем объекте БД подобного объёма; 2.5 года в строю без серьёзных нареканий. Эксплуатирует всё, включая Cache, сторонняя организация.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39497805
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovКак вы хорошо знаете, зеркало работает через журнал, а его целостность не зависит от целостности БД. да, но база то будет все равно с нарушенной целостностью, максимум, что можно сделать - это переключиться на целый узел зеркала, а кривой пересоздать. При скорости возникновения ошибок около двух в неделю - это вообще не вариант.

Alexey MaslovЯ тоже, имел в виду появление ошибок в том же самом глобале.Тот же самый глобал после исправления целостности я проверяю. Не всегда удается поправить ошибку с первого раза, был как минимум один случай, когда мои действия породили ошибку целостности. Но в итоге глобал я выправляю. Что не мешает появлению новых ошибок.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39499487
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslov,

Вот писал когда-то здесь
http://www.sql.ru/forum/1011743/postroenie-otkazoustoychivogo-klastera-dlya-cache?hl=drbd

Технология работает уже лет 7 24 часа в сутки. Никаких проблем с целостностью данных.
Вероятность падения базы на двух серверах близка к 0. Для повышения надежности в сетевой рейд можно включить любое количество серверов.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39499492
kalin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39499690
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalin,

В моем случае операционка - винда. Но с ней обычно тоже все достаточно стабильно.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39499760
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kalinТехнология работает уже лет 7 24 часа в сутки. Никаких проблем с целостностью данных.Рад это слышать :) Написали бы заметку на community, чтобы аксакалы из ISC за вас тоже порадовались, а может, и присоветуют что. С нас-то спрос невелик.
...
Рейтинг: 0 / 0
Были в вашей практике проблемы с целостностью баз данных Каше?
    #39508604
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
24 ошибка оказалась не такой уж простой для исправления руками. Либо удалять море узлов, либо весь блок целиком.
Николай Жохов написал программу для исправления, и мы поправили один глобал (он правил - я смотрел).
В общем, я еще раз порекомендую техподдержку Интерсистемс, там крутые специалисты и она отзывчивая.
(Да, организация в которой происходят эти проблемы, не на поддержке, но получилось так, что немножечко поддержать оказалось можно)

С причиной ошибок пока ничего не ясно.
...
Рейтинг: 0 / 0
46 сообщений из 46, показаны все 2 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Были в вашей практике проблемы с целостностью баз данных Каше?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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