|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
Добрый день! Возникло несколько проблем при переводе базы данных на более новую версию Sybase. Во-первых, начали себя вести странно локальные временные таблицы (объявляемые через #). Странность заключалась в том, что некоторые из запросов, в составе которых создавались и использовались временные таблицы, начали выдавать ошибку (ссылка на официальную страницу ошибки - http://dcx.sybase.com/1200/en/saerrors/errm1397.html). Причём ошибку выдавало 1 раз из 4-х (цифра примерная, точной статистики привести не могу), т.е. какой-либо "стабильности" в её выдаче не наблюдалось. Способ решения данной ошибки, рекомендуемый в официальном мануале к Sybase (запуск процедуры с параметром Код: sql 1.
), ничего не дал. Во-вторых, при падении базы данных, она (база) откатилась к состоянию на момент последнего checkpoint'а, чего не наблюдалось на 10 версии (т.е. были потеряны данные за час, против потерь данных за 5-10 минут на 10 версии). Вопросы: 1) Чем отличается поведение временных таблиц в 12 версии от 10 версии? 2) Какие ещё есть возможные решения по данной ошибке? 3) Почему могли быть потеряны данные за такой промежуток времени? Большое спасибо за ответы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 14:04 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
> которых создавались и использовались временные таблицы, начали выдавать ошибку > (ссылка на официальную страницу ошибки - > http://dcx.sybase.com/1200/en/saerrors/errm1397.html). Повтори сслыку на ошибку и продублируй текстом. А то не открывается. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 18:17 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
Исправил заголовок. На самом деле речь идет про ASA. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 18:58 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 19:38 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
AleximosВо-первых, начали себя вести странно локальные временные таблицы (объявляемые через #). Странность заключалась в том, что некоторые из запросов, в составе которых создавались и использовались временные таблицы, Код покажешь? AleximosВо-вторых, при падении базы данных, она (база) откатилась к состоянию на момент последнего checkpoint'а, чего не наблюдалось на 10 версии (т.е. были потеряны данные за час, против потерь данных за 5-10 минут на 10 версии).На чекпоинте все транзакции зарегестрированные в логе, но не наложенные на собственно базу данных - накладываются (транзакции переходят из dirty pages в white pages). То есть при утере лога, но нормальном файле базы ты получишь базу на момент чекпоинта. Если хочешь вытянуть из старого лога отложенные транзакции, запускай сервер с ключом -а и старым логом. Если это уже сделано, а транзакции из старого лога не появились, значит падение базы затронуло лог и был поврежден как раз участок лога с грязными транзакциями. От версии это не зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 20:50 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
AleximosВопросы: 1) Чем отличается поведение временных таблиц в 12 версии от 10 версии? 2) Какие ещё есть возможные решения по данной ошибке? 3) Почему могли быть потеряны данные за такой промежуток времени? Большое спасибо за ответы. Как пытались перевести с 9-ки на 12-тую, у меня были проблемы при работе 8-ной базы под 9-тым сервером. После некоторых раздумий, была выбрана след. последовательность действий, была выгружена структура из 8-ки и пытались этим sql-скриптом загрузить в 9-ку, естественно она на кое-что ругалась, анализировалась ругань, вносились изменения в 8-мую базу и процесс повторялся... Ну а потом, поскольку базы были маленькими(1-2гига), то они были выгружены в скрипт со структурой и данными, затем в скриптах была убита статистика и все это богатство загружено в 9-ку... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 11:10 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
White Owl, Вначале создаётся временная таблица: Код: sql 1. 2. 3.
Впоследствии в одной из подпроцедур создаётся таблица с таким-же именем и структурой. Код: sql 1. 2. 3.
Ошибка возникала при обращении к данным, записанным в таблицы, причём как к первой, так и ко второй. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 11:50 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
White Owl, А точнее примерно вот такая последовательность: В общей коннекции: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 12:21 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
-Доктор, а если я сделаю так, то у меня болит. Что мне делать? -Не делайте так! (старый народный анекдот) Мораль: не создавайте времянок с одинаковым именем, данные которых вы еще пытаетесь шарить. Я бы ожидал, что на втором create должна была выскочить ошибка, что объект уже существует. P.S. если приводить до ума бажный код нет никакой возможности, то попробуйте использовать диалект watcom и вместо #t использовать объявления declare local temporary table. А вось попустит на некторое недолгое время. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 16:27 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
Ggg_old, Спасибо за совет, но объявление временной таблицы на Watcom'е тоже не помогало. Есть ли ещё какие-то варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2012, 18:49 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
Aleximos, вариант только один - исправлять ваш кривой код. То что оно работало раньше считайте чудом и удачей. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2012, 00:34 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
Ggg_old, И как должен быть написан такой код? Можете аналог предложить? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 10:30 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
да какой там аналог? Просто не делайте два раза create table. Create должен быть только один. Если одинаковость имени - принципиальна, и данные как-то переползают из старой таблицы в новую то делайте где-то внутрях alter table, а лучше делайте временную таблицу с другим именем. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 13:04 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
Ну и или перед 2-ым create table... сделайте drop table... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 16:10 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
Вообще-то я перед созданием временки проверял ее наличие... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 16:16 |
|
Проблемы при переходе с версии Sybase ASA 10.0.1.4310 на версию 12.0.1.3742
|
|||
---|---|---|---|
#18+
временная таблица - это динамический сессионный объект, который не имеет никакого отношения к процессу компиляции кода времянки. Во всяком случае это верно для SA. (прим.: это не верно верно для ASE, где при компиляции ХП проверяется существование объектов, которые в ней используются, в т.ч. и ХП). Поэтому в коде скрипты, который вы вызываете должен прямо прописан код проверяющий, существует или нет такая временная таблица и делающая ей drop. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2012, 16:45 |
|
|
start [/forum/topic.php?fid=55&fpage=14&tid=2010096]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 152ms |
0 / 0 |