Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
Необходимо автоматически генерить по имеющейся БД скрипты на создание объектов БД. Требования: - возможность помещать скрипт на каждый объект БД в отдельный файл - возможность генерить или не генерить скрипт на загрузку данных в таблицы - возможность тем или иным способ указать фильтр, выбирающий список выгружаемых объектов (по типу объекта, владельцу, маске на имя объекта) - ... Стандартная dbunload некоторым из этих требований удовлетворяет не полностью и имеет большие накладные расходы на запуск (о чем думает первые 20 секунд после запуска, не знаю...). Кто какие альтернативные средства может предложить для решения задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 19:55 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
A.K.Необходимо автоматически генерить по имеющейся БД скрипты на создание объектов БД. Требования: - возможность помещать скрипт на каждый объект БД в отдельный файл - возможность генерить или не генерить скрипт на загрузку данных в таблицы - возможность тем или иным способ указать фильтр, выбирающий список выгружаемых объектов (по типу объекта, владельцу, маске на имя объекта)dbunload, может все перечисленное. - ... A.K.Стандартная dbunload некоторым из этих требований удовлетворяет не полностью и имеет большие накладные расходы на запуск (о чем думает первые 20 секунд после запуска, не знаю...).Собирает данные по базе. И генерирует скрипт. A.K.Кто какие альтернативные средства может предложить для решения задачи?dbunload если надо пересоздавать скрипт регулярно. Либо Sybase Central Ctrl+C, Alt+Tab в Notepad или FAR и Ctrl+V если скрипт хочется создавать в ручном режиме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 20:43 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
White Owldbunload, может все перечисленное. Хорошо. Имеется ASA 8.0.3. Задача: отскриптовать все таблицы (без данных), разместив скрипт на каждую таблицу в отдельный файл. Умеет ли это dbunload? Конечно, но только запускать его придется столько раз, сколько таблиц нужно отскриптовать. на каждый запуск - полминуты сбора данных по базе. число таблиц: 400. Время выполнения: неудовлетворительное. Если есть способ получить тот же результат с помощью dbunload быстрее - буду признателен за рассказ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 20:57 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
A.K.Задача: отскриптовать все таблицы (без данных), разместив скрипт на каждую таблицу в отдельный файл. Умеет ли это dbunload? Конечно, но только запускать его придется столько раз, сколько таблиц нужно отскриптовать. на каждый запуск - полминуты сбора данных по базе. число таблиц: 400. Время выполнения: неудовлетворительное.Эту операцию надо делать раз в минуту? Зачем там скорость? И вообще, если у тебя начальный сбор информации занимает аж 20 секунд - явные проблемы в самой БД. Очень рекомендуется сделать полный рефреш. A.K.Если есть способ получить тот же результат с помощью dbunload быстрее - буду признателен за рассказ.Ну что там рассказывать? Все ж элементарно до немогу. Сохрани на диск как батч-файл, поправь строку коннекта и запусти. Получишь набор скриптов по всем таблицам принадлежащим DBA. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 21:28 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
White OwlНу что там рассказывать? Все ж элементарно до немогу. Сохрани на диск как батч-файл, поправь строку коннекта и запусти. И от этого dbunload будет работать быстрее? Если бы я собирался его на каждую таблицу вручную стартовать, тогда вопрос скорости выполнения был бы неактуален... White OwlЭту операцию надо делать раз в минуту? Зачем там скорость? 400 таблиц по 30 секунд - это вообще-то больше 3 часов. Полный рефреш - надо попробовать, если ускорится раз в 5 то будет уже приемлемо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 22:50 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
Идем дальше. dbunload имеет ключ для выгрузки скрипта отдельной таблицы. Как с помощью dbunload выгрузить в отдельные файлы скрипты на прочие объекты БД? Конечно, процедуры, функции, представления можно выгрузить просто через dbisql , соответствующей выборкой из SYSxxxxx -таблиц, но например с EVENT'ами такой фокус уже не пройдет: sysevent.source содержит только тело event'а, без заголовочной части. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2007, 23:10 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
A.K. White OwlНу что там рассказывать? Все ж элементарно до немогу. Сохрани на диск как батч-файл, поправь строку коннекта и запусти. И от этого dbunload будет работать быстрее? Если бы я собирался его на каждую таблицу вручную стартовать, тогда вопрос скорости выполнения был бы неактуален...Ничего не понимаю. Тебе надо описания всех таблиц в одном файле или каждую таблицу в отдельном файле? В первом посте ты просил "возможность помещать скрипт на каждый объект БД в отдельный файл". Теперь хочешь все вместе? А если нужно разбить базу не только на таблицы, но и на процедуры/функции/вьюшки и тд и тп, то один раз запустить dbunload -n и потом пройтись по результату перловым скриптом. Разбить один большой reload.sql на тысячу маленьких.... Не совсем понимаю для чего это может потребоваться, но если есть желание.... A.K. White OwlЭту операцию надо делать раз в минуту? Зачем там скорость? 400 таблиц по 30 секунд - это вообще-то больше 3 часов. Полный рефреш - надо попробовать, если ускорится раз в 5 то будет уже приемлемо...Ну для полного рефреша потребуется полный dbunload :) Но я все равно не понимаю что такого страшного даже в трехчасовой работе. Задача же одноразовая. Поставь ее крутится на ночь и все. Да даже за сегодня вместо того чтобы задавать вопросы тут ты уже три раза ее мог успеть сделать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 00:56 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
A.K.Идем дальше. dbunload имеет ключ для выгрузки скрипта отдельной таблицы. Как с помощью dbunload выгрузить в отдельные файлы скрипты на прочие объекты БД? Вот тут dbunload не очень поможет, он может выгружать процеруды только в составе полной выгрузки. A.K.Конечно, процедуры, функции, представления можно выгрузить просто через dbisql , соответствующей выборкой из SYSxxxxx -таблиц, но например с EVENT'ами такой фокус уже не пройдет: sysevent.source содержит только тело event'а, без заголовочной части.И с событиями тоже пройдет. SYSEVENT.Condition хранит условия запуска события а целая таблица SYSSCHEDULE.* посвящена расписанию запуска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 01:03 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
White OwlНичего не понимаю. Тебе надо описания всех таблиц в одном файле или каждую таблицу в отдельном файле? В первом посте ты просил "возможность помещать скрипт на каждый объект БД в отдельный файл". Теперь хочешь все вместе? Нет, в отдельных. Я сказал, что и не собирался стартовать dbunload для каждого объекта вручную (т.е. изначально собирался делать это программно или как ты и предложил - батником). White OwlНо я все равно не понимаю что такого страшного даже в трехчасовой работе. Задача же одноразовая. Поставь ее крутится на ночь и все. Да даже за сегодня вместо того чтобы задавать вопросы тут ты уже три раза ее мог успеть сделать :) По одноразовой задаче вопросов бы и не возникло. Но задача не одноразовая. Цели задачи: а) фиксация состояния объектов базы данных в VCS; б) реализация пообъектного сравнения схем двух баз данных, либо одной базы в два различных момента времени. White OwlИ с событиями тоже пройдет. SYSEVENT.Condition хранит условия запуска события а целая таблица SYSSCHEDULE.* посвящена расписанию запуска. Так можно дойти и до того, чтобы скриптовать таблицы через SYSTABLE/SYSCOLUMN/SYSINDEX/SYSIXCOL/SYSFOREIGNKEY/SYSATTRIBUTE/.... Можно написать велосипед самому, но геморно. Поэтому и интересовался готовыми решениями... В том же SYSSCHEDULE вариантов приличное количество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 11:04 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
Поищи по слову ScriptDB на sf.net. там только для MSSQL сделано, да еще и на .нете. но при желании можешь поправить. (Удиветельно: под вин на .нете и опенсорц?!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 12:14 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
A.K.По одноразовой задаче вопросов бы и не возникло. Но задача не одноразовая. Цели задачи: а) фиксация состояния объектов базы данных в VCS; б) реализация пообъектного сравнения схем двух баз данных, либо одной базы в два различных момента времени.Эту задачу надо решать наоборот. Сначала скрипты на создание объектов лежат в CVS, потом на их основе создается база. A.K. White OwlИ с событиями тоже пройдет. SYSEVENT.Condition хранит условия запуска события а целая таблица SYSSCHEDULE.* посвящена расписанию запуска. Так можно дойти и до того, чтобы скриптовать таблицы через SYSTABLE/SYSCOLUMN/SYSINDEX/SYSIXCOL/SYSFOREIGNKEY/SYSATTRIBUTE/.... Можно написать велосипед самому, но геморно. Поэтому и интересовался готовыми решениями... В том же SYSSCHEDULE вариантов приличное количество.dbunload -n и маленький скрипт разбивающий текстовый файл на модули решит все твои проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 16:26 |
|
||
|
Генерация скрипта на создание объектов БД ASA
|
|||
|---|---|---|---|
|
#18+
White Owl Сначала скрипты на создание объектов лежат в CVS, потом на их основе создается база. То, что база должна создаваться на основе скриптов, а не наоборот - согласен. И на основе тех потабличных скриптов, которые я хочу получить, база не создается - тоже согласен, тем более что это и не позволит сделать порядок создания констрэйнтов. И в CVS будут храниться исходные скрипты на генерацию БД и скрипты на модернизацию схемы БД, сформированные в процессе работы. Задача же пообъектных скриптов с моей точки зрения очень простая - организация мониторинга изменений объектов БД от версии к версии, сравнение объектов в разных версиях - точно так же, как вы можете посмотреть историю и сравнить к примеру разные версии cpp/h-файлов прикладного проекта. Общий скрипт в этом мало поможет: ну покажет он вам, что база изменилась, а дальше что? Сравнение текста охрененного размера скрипта? Сохранение же (не вместо чего-либо другого, а дополнительно) пообъектных скриптов позволит легко видеть, что именно и как именно изменилось за интервал времени от А до Б. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 19:57 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34407178&tid=2012191]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 354ms |

| 0 / 0 |
