|
Процедура поиска объекта по номер страницы (page) Sybase ASA 10.0.1.4310
|
|||
---|---|---|---|
#18+
Добрый вечер! Возник вопрос: существует ли такая функция или процедура в Sybase ASA, которая позволит получить из адреса страницы (вида "0x0:0x7b097b") ID или название объекта, данные которого хранятся в данной странице? Заранее спасибо за помощь в поиске. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 18:14 |
|
Процедура поиска объекта по номер страницы (page) Sybase ASA 10.0.1.4310
|
|||
---|---|---|---|
#18+
Вопрос возник из-за периодически возникающей ошибки, из-за которой база самопроизвольно опускается: Код: sql 1. 2.
Хотелось бы понять какой из объектов "испортился". ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 18:50 |
|
Процедура поиска объекта по номер страницы (page) Sybase ASA 10.0.1.4310
|
|||
---|---|---|---|
#18+
Проще всего будет прогнать dbunload на всю базу - это вытащит все данные (и объекты) в текстовые файлы. Если ошибка действительно в странице данных (а не в индексе или кеше) то dbunload упадет на соответствующей таблице. Ну а чтобы избежать дальнейших проблем: После dbunload в текущем каталоге будет лежать reload.sql. Прогони его на свежесозданную (dbinit) базу. Получишь нормальную БД точно без каких-либо внутренних ошибок. Потом просто подменишь битую базу новенькой и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 19:24 |
|
Процедура поиска объекта по номер страницы (page) Sybase ASA 10.0.1.4310
|
|||
---|---|---|---|
#18+
Кстати, White Owl, а создание базы с checksums on page, кажется так, может спасти от такой беды? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 23:41 |
|
Процедура поиска объекта по номер страницы (page) Sybase ASA 10.0.1.4310
|
|||
---|---|---|---|
#18+
Sergey OrlovКстати, White Owl, а создание базы с checksums on page, кажется так, может спасти от такой беды?Каким это образом? По моему, это весьма бесполезная опция (могу быть и не прав конечно). Наличие проверочной суммы на странице позволит поддерживать уверенность что "что мы прочитали со страницы именно то, что туда записывали". А если по какой-либо причине на страницу записалась чушь и мы для этой чуши посчитали сумму - чушь не перестанет быть чушью. В случае как у Aleximos, если у нас по какой-то причине в индексе появилась ссылка на не существующую страницу - эта ссылка никуда не денется и магически не исправится (и страница тоже не появится). Как мне кажется от чего может помочь "checksums on page" опция - это потребовать повторного чтения страницы со сбоящего жесткого диска. Типа мы знаем что этот диск может выдать не то что на него записали, поэтому будем читать тщательнее... Но в этом случае по моему проще и надежнее просто заменить диск. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2013, 00:25 |
|
Процедура поиска объекта по номер страницы (page) Sybase ASA 10.0.1.4310
|
|||
---|---|---|---|
#18+
White OwlSergey OrlovКстати, White Owl, а создание базы с checksums on page, кажется так, может спасти от такой беды?Каким это образом? По моему, это весьма бесполезная опция (могу быть и не прав конечно). Наличие проверочной суммы на странице позволит поддерживать уверенность что "что мы прочитали со страницы именно то, что туда записывали". Как мне кажется от чего может помочь "checksums on page" опция - это потребовать повторного чтения страницы со сбоящего жесткого диска. Типа мы знаем что этот диск может выдать не то что на него записали, поэтому будем читать тщательнее... Во первы на диске к каждому сектору хардварно записывается хеш и так-же проверяется при чтении. Это делает контролёр диска. Смысла дублировать функционал нету. Тем не мене функция на мой взгляд очень полезная и на сколько я помню, разработчики постгресса решили включить её в релиз-план. Используется функция в другом контексте. Страница может занимать несколько секторов, и при непредвиденном сбое может получится так-что заголовок страницы был обновлён а хвост(остаток) -нет. При этом номер последней транзакций TLS в заголовке говорит о том что страница была сброшена на диск, и recovery не нужен, а проверка хэша позволяет избежать подобных недоразумений. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2013, 16:02 |
|
Процедура поиска объекта по номер страницы (page) Sybase ASA 10.0.1.4310
|
|||
---|---|---|---|
#18+
mikronИспользуется функция в другом контексте. Страница может занимать несколько секторов, и при непредвиденном сбое может получится так-что заголовок страницы был обновлён а хвост(остаток) -нет.мммм... да, про несовпадение размеров страницы и сектора я забыл. Действительно в этом случае надо либо маркировать каждый сектор датой обновления, либо чексумма в последнем секторе. Хотя это все равно не тот случай что у ТС. Если бы у него произошел такой сбой он бы получил чушь в хвосте одной (нескольких) записей какой-либо таблицы, а сервер отследить проблему (при отсутствии чексумм) не смог бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2013, 17:10 |
|
|
start [/forum/topic.php?fid=55&fpage=7&tid=2009810]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 142ms |
0 / 0 |