Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Есть проблема: при долгой работе сервера размер БД растет. Даже при очистке устаревших данных. Характер хранимых у нас данных таков, что через некоторое время эксплуатации системы количество записей выходит примерно на постоянную цифру - разную для каждого клиента. Старые данные удаляются/новые добавляются. Однако - размер базы растет постоянно!!! При стартовом объеме БД примерно в 25-30 мб за 4-5 месяцев она выросла до 700 (!!!) мегабайт! Помогает reload базы - из старой с созданием новой. Объем уменьшился на порядоук... Однако вручную таким заниматься не очень хочется... Может кто-то смог автоматизировать этот процесс??? Или есть какие-то советы по решению сложившейся проблемы?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2005, 17:51 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoЕсть проблема: при долгой работе сервера размер БД растет. Даже при очистке устаревших данных. Характер хранимых у нас данных таков, что через некоторое время эксплуатации системы количество записей выходит примерно на постоянную цифру - разную для каждого клиента. Старые данные удаляются/новые добавляются. Однако - размер базы растет постоянно!!! При стартовом объеме БД примерно в 25-30 мб за 4-5 месяцев она выросла до 700 (!!!) мегабайт! Помогает reload базы - из старой с созданием новой. Объем уменьшился на порядоук... Однако вручную таким заниматься не очень хочется... Может кто-то смог автоматизировать этот процесс??? Или есть какие-то советы по решению сложившейся проблемы?? Скорее всего трабла в том, что при удалении данных получается сильная дефрагментация таблиц - страницы остаются полупустые, а если данные заливаются через LOAD TABLE или вставляются большими транзакциями, скорее всего ASA впихивает их на новые страницы для повышения скорости вставки. Попробуйте после удаления делать REORGANIZE TABLE, это дефрагментирует таблицы и освободит пустые страницы, а далее уже вставка записей и пойдет по этим пустым страницам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2005, 18:12 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Посмотрите еще кстати в Central, насколько сильно таблицы дефрагментируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2005, 18:13 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
А как посмотреть в Централе фрагментацию?? Это какой-то параметр, или есть графическая утилита? В последнее время вообще появилась непонятная проблема: нам привезли базу на испытания. Мы ее подняли. После попыток поанализировать данные централом (не помню уже куда ткнул) появилась ошибка об IO error. После переподнятия база доступна. Однако после того, как опускаешь сервер, она не хочет переписываться!! Что происходит?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:19 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoА как посмотреть в Централе фрагментацию?? Это какой-то параметр, или есть графическая утилита? Можно посмотреть в Central вкладочку "Table Page Usage", если щелкнуть на саму БД и к ней никто, кроме Central на данный момент не подключен. Как посмотреть из ISQL, читайте в BOL: BOL Код: plaintext 1. 2. Vadim Romanenko В последнее время вообще появилась непонятная проблема: нам привезли базу на испытания. Мы ее подняли. После попыток поанализировать данные централом (не помню уже куда ткнул) появилась ошибка об IO error. После переподнятия база доступна. Однако после того, как опускаешь сервер, она не хочет переписываться!! Что происходит?? Думаю все это означает, что неплохо бы запустить скан-диск и поискать плохие сектора. Дело скорее всего не в ASA, а жестком диске и файловой системе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2005, 14:34 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUSПопробуйте после удаления делать REORGANIZE TABLE, это дефрагментирует таблицы и освободит пустые страницы, а далее уже вставка записей и пойдет по этим пустым страницам. А кто пользовался REORGANIZE TABLE?? Такая ситуация: есть постоянно открытая сессия, которая вначале выполнила select из некоторой таблицы - пусть она называется indval. Есть желание эту таблицу отREORGANIZE'ить. Однако при выполнении команды REORGANIZE TABLE indval; происходит зависание процесса, выполнившего эту команду. Есть предположение, что все происходит из-за блокирования таблицы в результате select. Так ли это? Как с этим бороться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2005, 16:08 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoТакая ситуация: есть постоянно открытая сессия, которая вначале выполнила select из некоторой таблицы - пусть она называется indval. Есть желание эту таблицу отREORGANIZE'ить. Однако при выполнении команды REORGANIZE TABLE indval; происходит зависание процесса, выполнившего эту команду. Есть предположение, что все происходит из-за блокирования таблицы в результате select. Так ли это? Как с этим бороться? Ну вообще то желательно после выполнения SELECT и полного получения курсора делать COMMIT. Это снимет SHARED блокировку с таблицы и позволит выполнять над ней DML команды и REORGANIZE TABLE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2005, 17:40 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUSСкорее всего трабла в том, что при удалении данных получается сильная дефрагментация таблиц - страницы остаются полупустые, а если данные заливаются через LOAD TABLE или вставляются большими транзакциями, скорее всего ASA впихивает их на новые страницы для повышения скорости вставки. Попробуйте после удаления делать REORGANIZE TABLE, это дефрагментирует таблицы и освободит пустые страницы, а далее уже вставка записей и пойдет по этим пустым страницам. Эта проблема - одна из неприятных особенностей ASA. Может я ошибаюсь, но дело не сколько в сильной дефрагментации, сколько в плохом повторном использовании освободившихся страниц. Слищком уж сильно разрасрастается база. И дело не в LOAD и репликации, у нас и при обычных INSERT по одной записи тоже самое происходит. В MS SQL при том же стиле работы с нашим приложением и при тех же запросах такого не происходит. Максимум сжатия там 10-50%, а тут можно и 5-10 раз базу ужать. Е если не ужимать, то дальше будет расти. На ASA 6-8 было именно так, судя по заявлению автора топика, и на ASA9 тоже самое, жаль. Хорошо хоть, что в ASA9 unload/reload работает раз в 10-20 быстрее, чем в ASA6-7. И этим стало можно пользоваться. А REORGANIZE TABLE - не очень удобно, она естетвенно, требует монопольный доступ к таблице и увеличивает размер БД (надо же ей где-то данные промежуточные держать), легче всех выгнать и сделать unload/reload. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 10:02 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
michael_ пишет: > Эта проблема - одна из неприятных особенностей ASA. Может я ошибаюсь, но > дело не сколько в сильной дефрагментации, сколько в плохом повторном > использовании освободившихся страниц. Слищком уж сильно разрасрастается > база. И дело не в LOAD и репликации, у нас и при обычных INSERT по одной > записи тоже самое происходит. В MS SQL при том же стиле работы с нашим > приложением и при тех же запросах такого не происходит. Максимум сжатия > там 10-50%, а тут можно и 5-10 раз базу ужать. Ну у меня максимум можно было ужать базы на 10-30% при помощи reload. Что я делаю не так? Если единовременно вставить большой объем данных, который потом удалить - тогда да, ужимается сильно. Но если не делать reload, то это избыточное место повторно используется, что можно проверить путем повторной вставки аналогичного объема данных. Это все асбстрактные слова, пока не приведены номера версий, хотя бы упрощенная структура БД, скрипты для "обычных INSERT" и статистика роста размера. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 10:21 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Александр Гoлдун michael_ пишет: > Эта проблема - одна из неприятных особенностей ASA. Может я ошибаюсь, но > дело не сколько в сильной дефрагментации, сколько в плохом повторном > использовании освободившихся страниц. Слищком уж сильно разрасрастается > база. И дело не в LOAD и репликации, у нас и при обычных INSERT по одной > записи тоже самое происходит. В MS SQL при том же стиле работы с нашим > приложением и при тех же запросах такого не происходит. Максимум сжатия > там 10-50%, а тут можно и 5-10 раз базу ужать. Ну у меня максимум можно было ужать базы на 10-30% при помощи reload. Что я делаю не так? Если единовременно вставить большой объем данных, который потом удалить - тогда да, ужимается сильно. Но если не делать reload, то это избыточное место повторно используется, что можно проверить путем повторной вставки аналогичного объема данных. Это все асбстрактные слова, пока не приведены номера версий, хотя бы упрощенная структура БД, скрипты для "обычных INSERT" и статистика роста размера. Posted via ActualForum NNTP Server 1.1 Присоединяюсь. У меня на ASA9 на некоторые таблицы в результате перерасчетов удаляются тысячи записей и вставляются столько же новых - и никакого прироста файла БД просто не наблюдается. С операциями UPDATE база вырастает на кол-во страниц, над которыми идет UPDATE, далее после успешного прохождения транзакции эти страницы становятся пустыми и используются в дальнейших операциях. Плюс я специально, в тестах над большими таблицами, удалял прямо кусками записи и потом добавлял вновь - таблица не разбухала, не набирала новых страниц и не фрагментировалась. Сами разработчики ASA вообще рекомендуют сразу увеличивать пространство файла БД на некоторую величину, чтобы быстрее происходила работа с БД. Лично я считаю основной причиной сильной дефрагментации таблиц и расбухания файла БД могуть быть постоянные UPDATE на большое кол-во записей над полями, у которых типы с плавающей длиной и неоптимально выставленной PCTFREE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 10:46 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Александр Гoлдун Это все асбстрактные слова, пока не приведены номера версий, хотя бы упрощенная структура БД, скрипты для "обычных INSERT" и статистика роста размера. Вот наша таблица: create table INDVAL ( NCHANNEL_ID numeric(30,0) not null, VACPER varchar(1) not null, VVALTYPE varchar(1) not null, NVALUE numeric(30,6) not null, VQUALITY varchar(1) not null, DDATE timestamp not null, DINPUT timestamp not null ); /*==============================================================*/ /* Index: RELATION_100_FK */ /*==============================================================*/ create index RELATION_100_FK on INDVAL ( NCHANNEL_ID ASC ); alter table INDVAL add foreign key FK_INDVAL_RELATION__CHANNEL (NCHANNEL_ID) references CHANNEL (NCHANNEL_ID) on update restrict on delete restrict; она практически единственная изменяющаяся в нашей бд (хранит показания счетчиков электричества). Есть процедура очистки, выполняется раз в день. Удаляет примерно 5-10 тыс. записей в день по признаку устаревания (дата показания). Средний объем - 300-400 тыс. записей. Primary key отсутствует для экономии места на диске. Вставка записей идет потоком простыми insert'ами. За время эксплуатации с сентября по январь выросла до 750 мегабайт вместе с лог-файлом. Без него занимала примерно 450 мегабайт. В конце-концов отказалась выполняться на Cyrix 800/256 мб (такое паршивое семейство процессоров из-за одноплатного исполнения - все на борту кроме памяти). Точнее база конечно запускалась, но инициализация приложения происходила за 20 минут, в то время как после unload-reload эта же самая процедура занимала несколько _секунд_. После unload-reload стала занимать 61 мегабайт. По-моему совввввершенно конкретные цифры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 12:03 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUS Vadim RomanenkoТакая ситуация: есть постоянно открытая сессия, которая вначале выполнила select из некоторой таблицы - пусть она называется indval. Есть желание эту таблицу отREORGANIZE'ить. Однако при выполнении команды REORGANIZE TABLE indval; происходит зависание процесса, выполнившего эту команду. Есть предположение, что все происходит из-за блокирования таблицы в результате select. Так ли это? Как с этим бороться? Ну вообще то желательно после выполнения SELECT и полного получения курсора делать COMMIT. Это снимет SHARED блокировку с таблицы и позволит выполнять над ней DML команды и REORGANIZE TABLE. Честно говоря с такой глупостью мы встретились впервые. На АСА. Мы тоже дошли до этого решения. Но как-то не очень мне кажется хорошо, когда простой select лочит таблицу так, что с ней ничего нельзя сделать... Непонятны мотивы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 12:06 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoЧестно говоря с такой глупостью мы встретились впервые. На АСА. Мы тоже дошли до этого решения. Но как-то не очень мне кажется хорошо, когда простой select лочит таблицу так, что с ней ничего нельзя сделать... Непонятны мотивы. Гм, абсолютно понятные мотивы - пока на SELECT клиент не закрывает курсор, на таблицах висит SHARED-TABLE блокировка на запрет выполнения на них DML операторов. Собственно говоря DDL операторам она никак не мешается, зато гарантирует, что пока клиент не решил, что больше он с таблиц, участвующих в запросе ничего не хочет, их метаструктура не изменится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 12:26 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenkoона практически единственная изменяющаяся в нашей бд (хранит показания счетчиков электричества). Есть процедура очистки, выполняется раз в день. Удаляет примерно 5-10 тыс. записей в день по признаку устаревания (дата показания). Средний объем - 300-400 тыс. записей. Primary key отсутствует для экономии места на диске. Вставка записей идет потоком простыми insert'ами. За время эксплуатации с сентября по январь выросла до 750 мегабайт вместе с лог-файлом. Без него занимала примерно 450 мегабайт. В конце-концов отказалась выполняться на Cyrix 800/256 мб (такое паршивое семейство процессоров из-за одноплатного исполнения - все на борту кроме памяти). Точнее база конечно запускалась, но инициализация приложения происходила за 20 минут, в то время как после unload-reload эта же самая процедура занимала несколько _секунд_. После unload-reload стала занимать 61 мегабайт. По-моему совввввершенно конкретные цифры. Ну вы даете - сэкономили на PK, зато сделали FK с неявным индексом, да еще явный индекс на то же поле :) Тормоза обеспечены, заодно думается и разбухание БД уже видится довольно ясно. Не может ASA без PK или UK/UI жить, любит она их, так как она "порядочная" РСУБД :) Я бы рекомендовал Вам вставить в таблицу PK и обязательно убить индекс по CHANNEL. Или вместо его убивания наоборот убить FK и на AFTER ON INSERT, UPDATE FOR EACH STATEMENT триггерах реализовать проверку ссылочной целостности, раз уж у Вас такие обьемы вставляются и удаляются. Каскады так же можно реализовать на триггерах в таблице CHANNEL. P.S. В общем еще раз очередное подтверждение, что от граммотного проектирования БД зависят все параметры ее функционирования - от скорости, до разбухания :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 12:35 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Отстутсвие PK - это плохо. Но! Причем здесь отсутсвие PK и разбухание БД, если после удаление данных страницы памяти освободились и уже не принадлежат таблице? Не вижу логики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 13:31 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
michael_Отстутсвие PK - это плохо. Но! Причем здесь отсутсвие PK и разбухание БД, если после удаление данных страницы памяти освободились и уже не принадлежат таблице? Не вижу логики. При вставке записей ASA будет стараться их вставлять по PK или кластерному индексу. Соотвествующе если удаление соотносится с этим же порядком (я так понимаю в приведенном примере записи в основном будут вставлять и удаляться по CHANNEL) - то даже приблизительная физическая сортировка записей в таблице будет давать преимущества в виде меньшей дефрагментированности таблицы и при удалении будут чаще освобождаться страницы до состояния пустых. Из чего я делаю вывод, что самый большой повод разрастаться БД - это допускать сильную дефрагментацию таблиц. P.S. Кстати REORGANIZE TABLE по моему нельзя делать на таблицы, у которых нет PK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 14:00 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUS michael_Отстутсвие PK - это плохо. Но! Причем здесь отсутсвие PK и разбухание БД, если после удаление данных страницы памяти освободились и уже не принадлежат таблице? Не вижу логики. При вставке записей ASA будет стараться их вставлять по PK или кластерному индексу. Соотвествующе если удаление соотносится с этим же порядком (я так понимаю в приведенном примере записи в основном будут вставлять и удаляться по CHANNEL) - то даже приблизительная физическая сортировка записей в таблице будет давать преимущества в виде меньшей дефрагментированности таблицы и при удалении будут чаще освобождаться страницы до состояния пустых. Из чего я делаю вывод, что самый большой повод разрастаться БД - это допускать сильную дефрагментацию таблиц. Согласен с приведенными аргументами, но они не согласуются с приведенной статистикой. Не должна она была так быстро расти. А у нас всегда есть PK на каждую таблицу и pctfree стоит по умолчанию (то есть вообще не указана при создании таблицы) и картина весьма похожа, только все развивается не так стремительно. Повторяю - на MS такого не наблюдается. То есть дело не в рялиционной теории. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 14:16 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUS Ну вы даете - сэкономили на PK, зато сделали FK с неявным индексом, да еще явный индекс на то же поле :) м-м-м-м... а где там два индекса на одно и то же поле?? насколько я понимаю, тот индекс генерится автоматически при создании FK. Мы его вручную не добавляли... Скрипт сгенерил мне PowerDesigner. Я честно говоря его даже не смотрел... Да и в студии в списке индексов нет индекса по полю NCHANNEL_ID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 16:37 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 16:41 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUS[quot michael_]Отстутсвие PK - это плохо. Но! Причем здесь отсутсвие PK и разбухание БД, если после удаление данных страницы памяти освободились и уже не принадлежат таблице? Не вижу логики. При вставке записей ASA будет стараться их вставлять по PK или кластерному индексу. Соотвествующе если удаление соотносится с этим же порядком (я так понимаю в приведенном примере записи в основном будут вставлять и удаляться по CHANNEL) - то даже приблизительная физическая сортировка записей в таблице будет давать преимущества в виде меньшей дефрагментированности таблицы и при удалении будут чаще освобождаться страницы до состояния пустых. Из чего я делаю вывод, что самый большой повод разрастаться БД - это допускать сильную дефрагментацию таблиц. ASCRUS P.S. Кстати REORGANIZE TABLE по моему нельзя делать на таблицы, у которых нет PK. Таки да, таки нельзя. Но для экспериментов на стенде добавили индекс - и обнаружили проблемы с блокированием. Скажу все же, почему мне это кажется дикостью. Потому, что приличные СУБД предоставляют средства для дефрагментации он-лайн. При подключенных пользователях. По поводу блокирования select'ом таблицы... Например в Оракле по-моему такой глупости нету, как-то решается этот вопрос. Там даже есть такая возможность - зафиксировать состояние БД для сессии. Точнее, данных в БД. (ALTER SESSION SET ISOLATION_LEVEL = SERIALIZABLE) И чего бы кто ни вставлял в базу, человек, выполнивший эту команду, увидит лишь данные, которые были на момент сериализации сессии. А тут... Обычный селект открывает транзакцию что-ли раз ее нужно закрывать? Коммитом??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 16:49 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUS Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. дело в том, что в списке индексов в студии тоже не видно такого индекса как RELATION_100_FK. Не может так быть, что он просто автоматический?? хотя... я только что сделал unload базы - там почему-то этот индекс (RELATION_100_FK) отсутствует... Мда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 17:54 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko хотя... я только что сделал unload базы - там почему-то этот индекс (RELATION_100_FK) отсутствует... Мда. Извиняюсь за дезинформацию. Индекса в базе таки нет. Видать появился глюк в PD при переходе с одной версии на другую. На физическом уровне этот индекс отсутствует... Так что вариант с двумя индексами на одно поле просьба больше не рассматривать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 18:04 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoТаки да, таки нельзя. Но для экспериментов на стенде добавили индекс - и обнаружили проблемы с блокированием. Скажу все же, почему мне это кажется дикостью. Потому, что приличные СУБД предоставляют средства для дефрагментации он-лайн. При подключенных пользователях. По поводу блокирования select'ом таблицы... Например в Оракле по-моему такой глупости нету, как-то решается этот вопрос. Там даже есть такая возможность - зафиксировать состояние БД для сессии. Точнее, данных в БД. (ALTER SESSION SET ISOLATION_LEVEL = SERIALIZABLE) И чего бы кто ни вставлял в базу, человек, выполнивший эту команду, увидит лишь данные, которые были на момент сериализации сессии. А тут... Обычный селект открывает транзакцию что-ли раз ее нужно закрывать? Коммитом??? Гм - с чего бы это нам сравнивать версионник Oracle и блокировочник ASA ? Разные архитектуры, разные возможности. А SHARED TABLE блокировка обьясняется просто - у ASA не поддерживаются в транзакциях команды DDL, в отличие от Oracle. Поэтому и блокировка на изменение метаструктуры вешается. Поэтому и проектировать логику работы с БД в ASA нужно согласно ее архитектурным особенностям и COMMIT после SELECT ставить. И транзакции длинными не делать. И тогда окажется, что и REORGANIZE в онлайн прекрасно работает, постепенно дефрагментируя данные, танцуя между транзакциями сессий :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 18:31 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko create table INDVAL ASA 9.0.2.2545 (кстати, ты не упомянул свою версию) Сделал подобную таблицу, кроме того сделал такую же по структуре INDVAL2 В INDVAL2 залил 128 тыс записей. Дальше выполняю много раз: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. После второго выполнения размер файла db зафиксировался и больше не вырастал ни на байт . Transaction log, естественно, растет ОЧЕНЬ БЫСТРО, ибо: BOL You can control how fast the transaction log file grows by ensuring that all your tables have compact primary keys. If you carry out updates or deletes on tables that do not have a primary key or a unique index not allowing NULL, the entire contents of the affected rows are entered in the transaction log. If a primary key is defined, the database server needs to store only the primary key column values to uniquely identify a row. If the table contains many columns or wide columns, the transaction log pages fill up much faster if no primary key is defined. In addition to taking up disk space, this extra writing of data affects performance. т.е. при удалении при наличии PK в лог попадет Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 19:15 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUSГм - с чего бы это нам сравнивать версионник Oracle и блокировочник ASA ? Разные архитектуры, разные возможности. ну да, согласен, я немножко неудачное сравнение привел :) ни к чему конечно. Разные вещи... Но по поводу селекта... Дело в том, что у нас есть служебная сессия, которая все время висит в бэкграунде и иногда вычитывает некоторые данные из базы. Вот эта сессия и оказалась блокирующей для REORGANIZE TABLE. Никто никаких транзакций не открывал особо. Обычный селект. Просто я никогда не встречал такого тупичка, что после селекта нужно закрывать транзакцию. Как-то специфично уж очень... Это надо как-то пересмотреть наше приложение... Которое впринципе не привязано к конкретной БД. Считается, что если переписать пару процедур - то все будет работать на любом сервере... А ради селектов в АСА грубить такое... Ладно, поглядим. Но все равно это выглядит странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 19:21 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoНо по поводу селекта... Дело в том, что у нас есть служебная сессия, которая все время висит в бэкграунде и иногда вычитывает некоторые данные из базы. Вот эта сессия и оказалась блокирующей для REORGANIZE TABLE. Никто никаких транзакций не открывал особо. Обычный селект. Просто я никогда не встречал такого тупичка, что после селекта нужно закрывать транзакцию. Как-то специфично уж очень... Это надо как-то пересмотреть наше приложение... Которое впринципе не привязано к конкретной БД. Считается, что если переписать пару процедур - то все будет работать на любом сервере... А ради селектов в АСА грубить такое... Ладно, поглядим. Но все равно это выглядит странно. Не верю, что можно написать приложение, которое одновременно эффективно с разными СУБД будет работать - у каждой будут свои ньюансы. В данном случае для ASA COMMIT после SELECT и есть такой "ньюанс" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 19:30 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUS Не верю, что можно написать приложение, которое одновременно эффективно с разными СУБД будет работать - у каждой будут свои ньюансы. В данном случае для ASA COMMIT после SELECT и есть такой "ньюанс" :) :) ну да, наверное. Это именно "ньюанс" АСА. Оооочень такой специфичный ньюанс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 19:46 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Может оказаться, что и коммит не нужен. Иногда достаточно закрыть курсор. Закрыть курсор и сделать коммит - разные вещи. Посмотрите логику программы. Если у Вас используется автокоммит, то коммит должен идти сразу после закрытия курсора. Значит у Вас либо не автокоммит, и тогда нужно самому закрывать транзакцию, либо автокоммит, но курсор не закрывается очень долгое время... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 23:22 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Могу добавить следующее : 1. По поводу commit после select У меня это давно в привычке, но недельки две назад посыпались блокировки и после этого – начал копать : Вкратце Delphi - odbcexpress – ASA(8 или 9) без разницы MS выложил очередной патч на ODBC для XP, там где его успели поставить и пошли блокировки т.е. исправлено (корректно-передается) тип курсора на открытие выборки . OeDataSet.hStmt.CursorType там где стоял «Dynamic» начала выскакивать блокировка (открывается естественно на CahedUpdate) от которой не спасал и commit. 2. Load table, input однозначно дуют базу, а insert уже заполняет свободные места.Одна из причин по которой появилось «Динамическое декларирование временных таблиц» -> FAQ. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 10:15 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Возникло предположение, что в моем варианте теста ASA может схитрить, поэтому поставил еще один checkpoint перед DELETE Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Поэтому еще раз задаю вопрос: Какой номер версии ASA? Без этого - две страницы пустословия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 12:20 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
АСА 9.0.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 13:25 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko пишет: > АСА 9.0.1 А дальше? Впрочем, я предполагал что-то подобное. В ASA 9.0.1 было предостаточно новых ошибок, связанных с очень активной работой по усовершенстванию сервера по многим направлениям. Обнови до ASA 9.0.2, приложи последний EBF и потом уже проверь. С этого и надо было начинать. P.S. ASCRUS, может стоит внести в FAQ пункт сам знаешь о чем? Я устал повторять одно и то же. Все, с этого момента выдача информации о том, исправлена ли ошибка, и если да, то в каком EBF - платная услуга :) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 13:37 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Александр Гoлдун Vadim Romanenko пишет: > АСА 9.0.1 А дальше? Впрочем, я предполагал что-то подобное. В ASA 9.0.1 было предостаточно новых ошибок, связанных с очень активной работой по усовершенстванию сервера по многим направлениям. Обнови до ASA 9.0.2, приложи последний EBF и потом уже проверь. С этого и надо было начинать. Лично я не думаю, что при переходе на 9.0.2 ситуация у него измениться. Нужно больше копать в сторону логики работы с данными и их хранения в БД - IMHO база пухнет из за несоблюдения архитектурных особенностей ASA. Александр ГoлдунP.S. ASCRUS, может стоит внести в FAQ пункт сам знаешь о чем? Я устал повторять одно и то же. Все, с этого момента выдача информации о том, исправлена ли ошибка, и если да, то в каком EBF - платная услуга :) Posted via ActualForum NNTP Server 1.1 Выноси, я галочку поставлю :) P.S. Кстати письмо получил ? А то я послал довольно интересное с моей точки зрения предложение, а в ответ тишина :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 13:53 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
ASCRUS пишет: > Лично я не думаю, что при переходе на 9.0.2 ситуация у него измениться. Все может быть. Но в ASA 9.0.1 они умудрились даже элементарный LIKE поломать. > Нужно больше копать в сторону логики работы с данными и их хранения в БД > - IMHO база пухнет из за несоблюдения архитектурных особенностей ASA. Ну ч же проверил на такой же таблице без первичных ключей. > P.S. Кстати письмо получил ? А то я послал довольно интересное с моей > точки зрения предложение, а в ответ тишина :( Да, ответил уже. Решил переползти с OE на Thunderbird, а тот почтовый аккаунт еще не перетащил. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 14:58 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Александр Гoлдун P.S. ASCRUS, может стоит внести в FAQ пункт сам знаешь о чем? Я устал повторять одно и то же. Все, с этого момента выдача информации о том, исправлена ли ошибка, и если да, то в каком EBF - платная услуга :) Posted via ActualForum NNTP Server 1.1 М-м-м... А при чем тут - исправлена ошибка или нет?? Я не видел тут никакой ошибочности. Все растут впринципе. Просто у разных СУБД есть свои средства дефрагментации. И изначально вопрос был об этом. А потом - о том, что селект лочит таблицу. И Reorganize Table тогда не работает. Вроде нигде ни о каких ошибках речь не шла... А не обновили базу до АСА 9.0.2 по одной единственной причине - когда ее ставили на необслуживаемую станцию, тогда был только 9.0.1. И после этого еще туда не ездили. Но обновление естественно будет произведено как только появится возможность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 15:52 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko пишет: > М-м-м... А при чем тут - исправлена ошибка или нет?? Я не видел тут > никакой ошибочности. Постоянный рост базы при отсутствии роста объема хранимых данных я считаю ошибкой сервера. У себя такого не наблюдаю. Повторить на свежем ASA 9.0.2 не смог. Отсюда предположение, что возможно эта ошибка уже исправлена. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 16:07 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Александр Гoлдун Постоянный рост базы при отсутствии роста объема хранимых данных я считаю ошибкой сервера. У себя такого не наблюдаю. Повторить на свежем ASA 9.0.2 не смог. Отсюда предположение, что возможно эта ошибка уже исправлена. Мммм... А не могли бы Вы сделать такое: посмотреть сколько занимает база с установившимся размером (при удалении/добавлении одинакового кол-ва записей) и после reload?? Интересно - сколько засоряет АСА при таком подходе. Возможно, она тоже сократится в несколько раз? После релоада? Просто в этом случае вопрос с автоматизацией unload/reload все равно остается... В связи со спецификой наших задач необходимо минимальное место для БД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 16:27 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko Мммм... А не могли бы Вы сделать такое: посмотреть сколько занимает база с установившимся размером (при удалении/добавлении одинакового кол-ва записей) и после reload?? Итак, исходная база, в которой в INDVAL2 130 тыс. записей, в INDVAL - 260 тыс записей перезагружена. Размер - 33 мб. После первого выполнения запроса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. размер вырос до 56 мб, что вполне естественно. Все последующие выполнения этого же запроса не увеличвают базу ни на байт. Естественно, если я ее перезагружу, то размер опять будет 33 мб. Но смысла в этой операции мало в контексте экономии места, т.к. первый же чекпоинт опять увеличит размер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:13 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Интересно... Что-ж. Попробуем перевести проект на новую версию АСА. Спасибо за тестирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:14 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
А как правильно рубить log-файл? Например, можно ли сделать так, чтоб он был не больше определенного размера??? А то я говорил - у нас лог получился гораздо больше самой базы... Вернее - не гораздо, но очень даже сравнимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:23 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoА как правильно рубить log-файл? Например, можно ли сделать так, чтоб он был не больше определенного размера??? А то я говорил - у нас лог получился гораздо больше самой базы... Вернее - не гораздо, но очень даже сравнимо. Ну так смотря как задача экплуатируется. Способов много ... начиная от параметра "-m", который вообще лог держит только на время запуска сервера и режет его по коммиченным транзакциям до резки при бакупе. Тут уж от логики поставленной задачи зависит, когда его рубить лучше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:29 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko пишет: > А как правильно рубить log-файл? Если нет репликации, не используется инкрементальный бэкап и данные в базе не представляют особой ценности, тогда ключик -m при запуске сервера. В этом варианте ASA будет автоматом обрезать лог при каждом чекпоинте. Но лучше делать это при бэкапе, полном либо инкрементальном. См. в хелпах про dbbackup, ключики -х либо -xo либо -r Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:33 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за комментарии!! Будем разбираться дальше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:42 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
А может быть, всё-таки купить винт побольше? Или речь идёт о БД для тамагочи (в смысле, КПК :))? ____________________________________ - Гарфилд, мышь! - Спасибо, я сыт! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 17:44 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Dim2000А может быть, всё-таки купить винт побольше? Или речь идёт о БД для тамагочи (в смысле, КПК :))? Нет, все гораздо хуже - речь идет о компе, который грузится и работает на флешке :) Это наверное еще хуже... хотят впихнуть Линукс и АСА с базой на 128 метров. А это знаете ли... Думаешь о каждом лишнем мегабайте :) Кстати! Я там выше кажется упоминал, что больше винт не помогает. На определенном этапе фрагментации приходит ТАКОЕ затупление при обращении к базе... Что то, что выбиралось за пару секунд после ребилда, выбирается минут 15. Так что наверное стоит грести в сторону Reorganize Table в любом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 18:03 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim RomanenkoЧто то, что выбиралось за пару секунд после ребилда, выбирается минут 15. А вот это уже пахнет отсутствием необходимых индексов. Сразу после ребилда данные отсортированы, поэтому отсутствие индекса не ухудшает ситуацию, но потом, когда база "расколбашена" полностью, отсутствие нужных индексов приводит к постоянной загрузки/выгрузки страниц таблиц в кэш/из кэша, что приводит к увеличению времени выборок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 21:57 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Dim2000А может быть, всё-таки купить винт побольше? Дело не только в занимаемом пространстве, но и в потере производительности. И из-за того, что сам файл с данными больше и из-за дефрагментации. Поэтому unload/relad хотя бы раз в квартал - хорошее решение практически для любой базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 09:55 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Кстати, по поводу привязки к СУБД - для InterBase в такой же ситуации ("голый select") желательно наоборот rollback сделать, а не commit %-) Впрочем, если этого не сделать, то все равно работать будет, этот прием позволяет уменьшить нагрузку по слежению за транзакциями\версиями. Да, и раз у ж к слову пришлось. В InterBase тоже возникают проблемы с ростом объема БД, но уже как в версионнике - нужна сборка мусора, она отъедает ресурсы. Но в InterBase, к сожалению, нельзя выполнить дефрагментацию - мусор-то соберется, но скорость деградировавшая из-за фрагментированности таблиц может быть восстановлена только за счет backup-restore БД 8-| Это, на мой взгляд, самая большая ж#$@ в InterBase - невозможность on-line манипуляций с физическим распределением БД. Даже тэйблспейсов нет - файл БД может быть порублен на фрагменты, но делается это по принципу "заполнили очередной, начинаем лить в следующий". Отсюда вопрос к практикам ASA - а насколько НА ПРАКТИКЕ помогает оптимизация размещением частей БД на разных носителях? Или реально ни у кого до этого не доходило и RAID 10 решает все проблемы просто за счет случайного перемешивания по дискам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 14:49 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
AnSo Отсюда вопрос к практикам ASA - а насколько НА ПРАКТИКЕ помогает оптимизация размещением частей БД на разных носителях? Или реально ни у кого до этого не доходило и RAID 10 решает все проблемы просто за счет случайного перемешивания по дискам? Недавно уже обсуждалось подобное. Здесь Если уж упомянули IB, то у ASA при схожих параметрах проектов потребность в разнесении возникает реже (по сравнению с архитектурой Classic Server), хотя бы за счет общего кэша для всех сессий. При схожих параметрах (объем данных, размер кэша, кол-во пользователей) может оказаться, что у ASA вообще почти нет обращений к диску, а FB CS будет считывать их по многу раз для разных пользователей. По той же причине и RAID10 нужен гораздо реже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 15:24 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
michael Поэтому unload/relad хотя бы раз в квартал - хорошее решение практически для любой базы. Так вот - вернемся к моему вопросу :) Как бы это автоматизировать??? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 15:41 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko пишет: > Так вот - вернемся к моему вопросу :) Как бы это автоматизировать??? :) А в чем проблема? Читайте доки иногда. Bat - файл, запускаемый системным шедулером, когда никто не работает, или руками: net send * Кто не спрятался - я не виноват dbunload ...... net stop имя сервиса move файл.db безопасное_место move файл.log безопасное_место dbinit ... файл.db net start имя сервиса dbisql ...... Все. Можно еще добавить обработку ошибок типа if errorlevel ... и т.п., но это уже в форум про системное администрирование. Вместо многоточий вставить необходимые параметры. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 15:52 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
> net send * Кто не спрятался - я не виноват > dbunload ...... > net stop имя сервиса Забыл добавить: attrib -R файл.db attrib -R файл.log > move файл.db безопасное_место > move файл.log безопасное_место > dbinit ... файл.db > net start имя сервиса > dbisql ...... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 15:55 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
iLLer Vadim RomanenkoЧто то, что выбиралось за пару секунд после ребилда, выбирается минут 15. А вот это уже пахнет отсутствием необходимых индексов. Сразу после ребилда данные отсортированы, поэтому отсутствие индекса не ухудшает ситуацию, но потом, когда база "расколбашена" полностью, отсутствие нужных индексов приводит к постоянной загрузки/выгрузки страниц таблиц в кэш/из кэша, что приводит к увеличению времени выборок. Это все конечно ясно и понятно, но мы стоим перед диллемой: как бы так все ускорить, чтоб место не пострадало. А как известно, лишний индекс в деле экономии - как нож к горлу... Но сейчас, стоит сказать, пару индексов мы добавили. Но вопрос по теме все же еще остается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 16:01 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Александр Гoлдун Vadim Romanenko пишет: > Так вот - вернемся к моему вопросу :) Как бы это автоматизировать??? :) А в чем проблема? Читайте доки иногда. .................. Все. Можно еще добавить обработку ошибок типа if errorlevel ... и т.п., но это уже в форум про системное администрирование. Вместо многоточий вставить необходимые параметры. М-да.... Я наверное действительно некорректно поставил вопрос :) Дело в том, что примерно так у нас сейчас все и работает. Но хотелось бы обойтись без опускания базы... Ну или как-то заменить собсно процедуру unload/reload в самом деле... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 16:14 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Вообще-то можно использовать несколько другой подход еще (как делается у нас). Есть пустая база без данных. Берутся скрипты АСА по unload данных. Старая база копируется куда-нить, а в пустую заливаются последние данные... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 16:19 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vadim Romanenko пишет: > М-да.... Я наверное действительно некорректно поставил вопрос :) Дело в > том, что примерно так у нас сейчас все и работает. Но хотелось бы > обойтись без опускания базы... Ну или как-то заменить собсно процедуру > unload/reload в самом деле... Где-то я кажется уже встречал упоминание о том, что возможность сжатия базы есть в планах разработчиков ASA. Так что остается ждать. > Вообще-то можно использовать несколько другой подход еще (как > делается у нас). Есть пустая база без данных. Берутся скрипты АСА > по unload данных. Старая база копируется куда-нить, а в пустую > заливаются последние данные... И чем этот подход "несколько другой"? Суть та же, только dbinit заранее делается. Возможно еще плюс создание структуры без данных. Еще можно попробовать использовать сжатый файл db + write-файл, но эта опция в ASA9 объявлена устаревшей и в дальнейшем не будет поддерживаться Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 16:41 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
а можно еще так: dbunload -ar -ar This option creates a new database with the same settings as the old database, reloads it, and replaces the old database ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 01:10 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
2 rcryo Подскажите пожалуйста, -ar в какой версии появилась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 14:29 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vlad_5181Подскажите пожалуйста, -ar в какой версии появилась? В 6-й. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 14:32 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
2 Dim2000 В 6.0.4 вроде нет такого. Весь хелп облазил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 14:48 |
|
||
|
Автоматизация перестройки БД под АСА 9
|
|||
|---|---|---|---|
|
#18+
Vlad_5181В 6.0.4 вроде нет такого. Весь хелп облазил. Есть, есть . c:\Asa6\win32>dbunload /? Usage: dbunload [switches] <directory> Switches (use specified lower-case letter, as shown): -ac "keyword=value;..." supply database connection parameters for reload -an <file> create new database and reload -ar [log dir] rebuild and replace database -c "keyword=value;..." supply database connection parameters -d unload data only -e <list> no data output for listed tables -ii internal unload, internal reload (default) -ix internal unload, external reload -j <count> iteration count for view creation statements -n no data - schema definition only -o <file> log output messages to file -p <char> escape character (default "\") -q quiet: do not print messages or show windows -r <file> specify name of generated reload ISQL command file (default "reload.sql") -t <list> only output the listed tables -u unordered data -v verbose messages -xi external unload, internal reload -xx external unload, external reload -y replace existing command file without confirmation NOTE: <directory> must be specified as a path meaningful to the database server unless an external unload is used. RTFM ASA New Features and Upgrading Guide CHAPTER 1. Adaptive Server Anywhere 6.0.3 New features [...погрыз мышь...] Easier unload and reload The dbunload utility has been enhanced (-ar command-line option) to allow a single-step unload and reload of a database that can be used whether or not your database is involved in replication. [...погрыз мышь...] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 15:31 |
|
||
|
|

start [/forum/topic.php?all=1&fid=55&tid=2013863]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
93ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 472ms |

| 0 / 0 |
