|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
ASE 15 Исторически так сложилось, что на сервере несколько баз и все имеют связи между собой(cross-database reference). Сейчас встает вопрос о переходе на другой сервер с увеличением размера страницы. Перенос бэкапами не поможет, т.к. меняется размер страницы. Переливка скриптами, а потом BCP - это выход. Но так как базы с cross-database reference переливка скриптами вызовет тоже немало сложностей. Поэтому родилась идея попробовать BCP-ями перелить системные таблицы. Чисто теоретически это возможно. А вот практически? Может кто-то пробовал делать такое? Поделитесь опытом. Заранее всех благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2011, 22:42 |
|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
Не пробовал и НЕ советую. Тебе нужно-то только межбазные констрейнты руками перелить. Варианта два: dbscheme.pl их выудить и сгенерирует. Тогда всё ВООБЩЕ ок. dbscheme.pl их НЕ сгенерирует. Тогда ты должен будеш сделать это руками. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2011, 15:37 |
|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
MasterZiv, Мы работаем с ASE уже лет так 10. За это время сменилось 4 админа и до фига программеров. Естественно каждый программировал и администрировал как хотел и как умел. поэтому на сервере полная каша, но оно все работает и переделывать "команды" не было. Помимо референсов можем нарваться на вызов одной процедуры из другой процедуры другой базы, ну и такого "кровосмешения" навалом. Естественно dbscheme.pl таких "закруток" не раскрутит. Можно попробовать повторную проливку, но что-то тоже стремает... Вот и родилась идея переноса структуры базы, как бы "не компилируя объекты", как это делает бэкап. Может, есть еще какие-нибудь способы "не компилируемого переноса"? Есть еще "deferred name resolution", но думаю он врятли поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2011, 18:03 |
|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
On 23.01.2011 18:03, cherrex_Den wrote: Помимо референсов можем нарваться на вызов одной процедуры из > другой процедуры другой базы, ну и такого "кровосмешения" навалом. Я не понял, в чём проблема, Естественно > dbscheme.pl таких "закруток" не раскрутит. Она и не должна. Как бы ты хотел их раскрутить ? Можно попробовать повторную проливку, > но что-то тоже стремает... Можно попробовать Recompile, я кажется его выкладывал. Он объекты по ссылкам ранжирует. Но кросс-базные референсы я там не делал. > Вот и родилась идея переноса структуры базы, как бы "не компилируя объекты", как > это делает бэкап. Бэкап этого не делает. Процедуры перекомпилируются после load. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2011, 09:35 |
|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
cherrex_Den, Я делал перенос баз с сервера ASE12.5 OSF/1 на ASE12.5 Linux, заменял размеры страниц и т.п. с помощью dbschema.pl. Все замечательно переносится, только нужна правильная последовательность действий - каждый пункт выполняется для всех баз, потом переходим к следующему: 1. создание пользовательских типов. 2. создание таблиц без fk 3. загрузка данных в таблицы с помощью bcp 4. создание индексов, fk 5. заливка хранимых процедур и триггеров. Пункт 5 надо повторять несколько раз пока не перестанет ругаться на неопределенные ссылки. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2011, 19:43 |
|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
invariant5. заливка хранимых процедур и триггеров. Пункт 5 надо повторять несколько раз пока не перестанет ругаться на неопределенные ссылки. Я хочу напомнить, что это вовсе НЕ ОБЯЗАТЕЛЬНО, можно процедуры залить только один раз. Если процедура A вызывает процедуру B, которая не существует в базе данных, то выдаётся ПРЕДУПРЕЖДЕНИЕ, процедура А СОЗДАЁТСЯ УСПЕШНО, только в sysdepends не вносится зависимость процедуры A от процедуры B. Процедура А после заливки даже сможет успешно работать при условии обхода веток алгоритма, вызовающих процедуру B, а после заливки процедуры B -- вообще по всем веткам. Единственное, что пострадает -- это запись о зависимости процедуры A от процедуры B в sysdepends, которые в общем-то никому не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2011, 21:52 |
|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
Спасибо всем! Буду пробывать! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2011, 22:55 |
|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
MasterZivЯ хочу напомнить, что это вовсе НЕ ОБЯЗАТЕЛЬНО, можно процедуры залить только один раз. Если процедура A вызывает процедуру B, которая не существует в базе данных, то выдаётся ПРЕДУПРЕЖДЕНИЕ, процедура А СОЗДАЁТСЯ УСПЕШНО, только в sysdepends не вносится зависимость процедуры A от процедуры B. Процедура А после заливки даже сможет успешно работать при условии обхода веток алгоритма, вызовающих процедуру B, а после заливки процедуры B -- вообще по всем веткам. Единственное, что пострадает -- это запись о зависимости процедуры A от процедуры B в sysdepends, которые в общем-то никому не нужны. однако ж если процедура в базе A тянет данные явно из таблиц в базе B, которых нет на момент создания процедуры - процедура не создастся. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 11:01 |
|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
On 25.01.2011 11:01, blzz wrote: > однако ж если процедура в базе A тянет данные явно из таблиц в базе B, которых > нет на момент создания процедуры - процедура не создастся. > Конечно. Все таблицы и вьюхи, используемые процедурой, должны быть созданы ДО создания процедуры. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 14:19 |
|
Перенос объектов базы с помощью BCP
|
|||
---|---|---|---|
#18+
когда-то писали вот это // http://code.google.com/p/asedump/ ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2011, 10:39 |
|
|
start [/forum/topic.php?fid=55&msg=37073831&tid=2010421]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 318ms |
total: | 462ms |
0 / 0 |