powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Перенос объектов базы с помощью BCP
10 сообщений из 10, страница 1 из 1
Перенос объектов базы с помощью BCP
    #37073369
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASE 15

Исторически так сложилось, что на сервере несколько баз и все имеют связи между собой(cross-database reference).
Сейчас встает вопрос о переходе на другой сервер с увеличением размера страницы. Перенос бэкапами не поможет, т.к. меняется размер страницы. Переливка скриптами, а потом BCP - это выход. Но так как базы с cross-database reference переливка скриптами вызовет тоже немало сложностей. Поэтому родилась идея попробовать BCP-ями перелить системные таблицы.
Чисто теоретически это возможно. А вот практически? Может кто-то пробовал делать такое? Поделитесь опытом.

Заранее всех благодарю!
...
Рейтинг: 0 / 0
Перенос объектов базы с помощью BCP
    #37073831
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пробовал и НЕ советую.

Тебе нужно-то только межбазные констрейнты руками перелить.

Варианта два:
dbscheme.pl их выудить и сгенерирует. Тогда всё ВООБЩЕ ок.

dbscheme.pl их НЕ сгенерирует. Тогда ты должен будеш сделать
это руками.
...
Рейтинг: 0 / 0
Перенос объектов базы с помощью BCP
    #37073928
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Мы работаем с ASE уже лет так 10. За это время сменилось 4 админа и до фига программеров. Естественно каждый программировал и администрировал как хотел и как умел. поэтому на сервере полная каша, но оно все работает и переделывать "команды" не было. Помимо референсов можем нарваться на вызов одной процедуры из другой процедуры другой базы, ну и такого "кровосмешения" навалом. Естественно dbscheme.pl таких "закруток" не раскрутит. Можно попробовать повторную проливку, но что-то тоже стремает...
Вот и родилась идея переноса структуры базы, как бы "не компилируя объекты", как это делает бэкап. Может, есть еще какие-нибудь способы "не компилируемого переноса"? Есть еще "deferred name resolution", но думаю он врятли поможет.
...
Рейтинг: 0 / 0
Перенос объектов базы с помощью BCP
    #37074526
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 23.01.2011 18:03, cherrex_Den wrote:
Помимо референсов можем нарваться на вызов одной процедуры из
> другой процедуры другой базы, ну и такого "кровосмешения" навалом.

Я не понял, в чём проблема,

Естественно
> dbscheme.pl таких "закруток" не раскрутит.

Она и не должна.
Как бы ты хотел их раскрутить ?

Можно попробовать повторную проливку,
> но что-то тоже стремает...

Можно попробовать Recompile, я кажется его выкладывал.
Он объекты по ссылкам ранжирует. Но кросс-базные референсы я там не делал.

> Вот и родилась идея переноса структуры базы, как бы "не компилируя объекты", как
> это делает бэкап.

Бэкап этого не делает.
Процедуры перекомпилируются после load.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перенос объектов базы с помощью BCP
    #37076263
invariant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cherrex_Den,
Я делал перенос баз с сервера ASE12.5 OSF/1 на ASE12.5 Linux, заменял размеры страниц и т.п. с помощью dbschema.pl.
Все замечательно переносится, только нужна правильная последовательность действий - каждый пункт выполняется для всех баз, потом переходим к следующему:
1. создание пользовательских типов.
2. создание таблиц без fk
3. загрузка данных в таблицы с помощью bcp
4. создание индексов, fk
5. заливка хранимых процедур и триггеров.
Пункт 5 надо повторять несколько раз пока не перестанет ругаться на неопределенные ссылки.
...
Рейтинг: 0 / 0
Перенос объектов базы с помощью BCP
    #37076390
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invariant5. заливка хранимых процедур и триггеров.
Пункт 5 надо повторять несколько раз пока не перестанет ругаться на неопределенные ссылки.


Я хочу напомнить, что это вовсе НЕ ОБЯЗАТЕЛЬНО, можно процедуры залить только один раз.

Если процедура A вызывает процедуру B, которая не существует в базе данных, то выдаётся ПРЕДУПРЕЖДЕНИЕ, процедура А СОЗДАЁТСЯ УСПЕШНО, только в sysdepends не вносится зависимость процедуры A от процедуры B. Процедура А после заливки даже сможет успешно работать
при условии обхода веток алгоритма, вызовающих процедуру B, а после заливки процедуры B -- вообще по всем веткам. Единственное, что пострадает -- это запись о зависимости процедуры A от процедуры B в sysdepends, которые в общем-то никому не нужны.
...
Рейтинг: 0 / 0
Перенос объектов базы с помощью BCP
    #37076428
cherrex_Den
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем! Буду пробывать!
...
Рейтинг: 0 / 0
Перенос объектов базы с помощью BCP
    #37076905
blzz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЯ хочу напомнить, что это вовсе НЕ ОБЯЗАТЕЛЬНО, можно процедуры залить только один раз.

Если процедура A вызывает процедуру B, которая не существует в базе данных, то выдаётся ПРЕДУПРЕЖДЕНИЕ, процедура А СОЗДАЁТСЯ УСПЕШНО, только в sysdepends не вносится зависимость процедуры A от процедуры B. Процедура А после заливки даже сможет успешно работать
при условии обхода веток алгоритма, вызовающих процедуру B, а после заливки процедуры B -- вообще по всем веткам. Единственное, что пострадает -- это запись о зависимости процедуры A от процедуры B в sysdepends, которые в общем-то никому не нужны.

однако ж если процедура в базе A тянет данные явно из таблиц в базе B, которых нет на момент создания процедуры - процедура не создастся.
...
Рейтинг: 0 / 0
Перенос объектов базы с помощью BCP
    #37077522
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 25.01.2011 11:01, blzz wrote:

> однако ж если процедура в базе A тянет данные явно из таблиц в базе B, которых
> нет на момент создания процедуры - процедура не создастся.
>

Конечно. Все таблицы и вьюхи, используемые процедурой, должны быть созданы
ДО создания процедуры.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Перенос объектов базы с помощью BCP
    #37087626
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
когда-то писали вот это
// http://code.google.com/p/asedump/
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Перенос объектов базы с помощью BCP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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