|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
Доброго времени суток, Занялся переносом базы данных из одной ОС в другую. Делаю все по статье https://www.sql.ru/forum/240418/4faq-klonirovanie-bazy Вроде бы неплохо....но попал в проблему при переименовании файлов БД. Код: sql 1. 2. 3. 4.
Проверил: Код: plsql 1. 2. 3. 4.
Что делать? Куда копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 09:23 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
MalishPo, Я бы переносил через RMAN 1) бэкап базы на источнике 2) восстановление на новом инстансе с переименованием файлов ( можно использовать OMF) 3) Ну и переустановка словарей и каталогов. Можно ещё expdp/impdp делать Вообще ищите статьи на оракловском металинке, а не в форуме как что делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 09:44 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
veep, Проблема в том что уже начал делать через форум :( БД весит 2Тб, бекап rman'ом займет часов 8(диски медленные) Перенос на новый сервер еще 6-8 часов.... Может как нибудь подскажете как переименовать лучше? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 09:50 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
UPD. При выполнении команды Код: plsql 1.
выдается пустота. Я так понимаю это печалька? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 09:56 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
MalishPoveep, Проблема в том что уже начал делать через форум :( БД весит 2Тб, бекап rman'ом займет часов 8(диски медленные) Перенос на новый сервер еще 6-8 часов.... Может как нибудь подскажете как переименовать лучше? :) В той статье я ни слова не вижу о кросплатформенном переносе базы. Это вариант для Linux to Linux или Windows to Windows. Я скажу больше в разных платформах форматы файлов могут различаться ( и различаются). Так что RMAN или expdp/impdp - это единственное средство. Потому не тратьте время и делайте бэкап. Только почитайте о том как это делается RMAN ом, в некоторых случаях там есть специфические ключики для кросплатформенном миграций. Сам точно подсказать не могу - я в дороге. P/s перед тем как идти на production я бы потренировался не мелкой БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 10:07 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
veep, Жаль, ок спасибо. буду пробовать. ПС: Не могу тренироваться, времени не дают. Текущий продакшн умирает, диски (чтение\запись) на 100% 95% времени. Все зависает. Те кто собирал эту БД не учли ее разрастания, а заказчик пихает новые модули, все больше и больше. Теперь нужно перенести на новый сервер..срочно :( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 10:13 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
MalishPo, Ещё дам несколько советов. На самом деле велика вероятность что у вас ничего не получится в эти выходные из-за отсутствия должной подготовки. Можно рассмотреть временные решения которые оттянут время но дадут подготовится. 1) Если проблема в дисках, то переносить не сервер а подключить более быструю дисковую систему. 2) перенести не всю базу, а только те модули которые создают наибольшую нагрузку или способны снять её с основной бд. Связь со старой БД держать на db линках. 3) если в вашем отделе больше чем один DBA то можно вести работы параллельно. Типа что быстрее получится. 4) Заняться оптимизацией системы - OLTP система так себя вести не должна, возможно где то не хватает индексов. Возможно увеличить размер реду, etc.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 11:04 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
veep, Спасибо за советы, к сожалению: 1) Нет у заказчика дисков :) 2) Думал над этим, но это временное решение, не исправляющее ситуацию :( 3) Я один, и только учусь. Куча админов, куча прогеров, а вот DBA по ораклу только я(недоучка) 4) Тоже пробую заниматься этим параллельно, но слишком много точек отказа. Не пойми куда смотреть. Даже собирал статистику запросов к БД, очень много информации на анализ которой нужно время. В общем печаль-тоска, но прорвемся. По поводу переноса, нашел статью Kamran Agayev Agamehdi по переносу БД с помощью rman. Вроде получается, правда времени требуется слишком много, но ничего не остается :( ПС: Самая большая печаль отсутствие дисков для сервера с БД, из-за чего бекап/конвертация делаются по сети на СХД. При этом даже на СХД места только под БД+бекап, либо БД+конвертируемые файлы. Тупо некуда бекап сунуть. Еще раз спасибо за помощь, если все выйдет, отпишусь дабы сообщить что еще жив и не уволили :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 11:16 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
MalishPo, ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 11:53 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
MalishPo, вот моя рыба для такого: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2019, 14:02 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
[quot veep]MalishPoveep, Я скажу больше в разных платформах форматы файлов могут различаться ( и различаются). Насколько я понимаю, организация с использованием датафайлов и выбрана для минимизации затрат на кросплатформенном окружении. Различаются разве, что - контролфайлы и архивлоги - и то в плане путей до датафайлов. Я делал так: 1. переносил датафайлы 2. делал дамп контрольника в трейс, правил в нем пути 3. пересоздавал контрольник 4. запускал БД на linux Для минимизации downtime, я бы попробовал на линуксе создать шару( smb/nfs), смонтировать на виндовой машине, выполнить 1. backup as copy datafiles на нее 2. периодически выполнять инкрементальное обновление (включить block change tracking, если БД EE - очень сильно помогает) (downtime отсюда) 3. Останавливаем листенер 4. выполняем последнее инкрементальное обновление 5. останавливаем БД 6. пересоздаем контрольник а linux 7. запускаем БД на линукс В случае проблем - остаемся на старой БД, оттестировать можно без остановки продуктива ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 06:54 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
landyДля минимизации downtime, я бы попробовал на линуксе создать шару( smb/nfs), имхо - криповое решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 10:54 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
И что же тут страшного? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 11:06 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
landyИ что же тут страшного? Не помню уже. Но не стал бы запускать БД из виндовой шары. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 11:17 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
А ее не нужно запускать из шары, шара только для инкрементально обновляемого бэкапа, который создается на виндовой машине и периодически обновляет датафайлы на шаре Сама БД будет запускаться с локальных дисков linux, на ext4, xfs и т п ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 11:59 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
Спасибо всем кто откликнулся, вроде бы справился(частично) Сделал миграцию через rman(есть там миграция с windows на linux) не обошлось без проблем, но таки получилось БД запустить. Дополнительный вопрос: Если сделана миграция с помощью rman: Код: plsql 1. 2.
Это считается бекапом? Т.е. могу ли я чистить архивлоги таким образом: Код: plsql 1. 2.
Мне это нужно понимать потому что после конверта пришлось включать старый продакшн и теперь мне нужно сделать инкрементальный бекап, чтобы обновить данные в БД на linux. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 12:01 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
MalishPo, impdp через network_link неплохо работает. Я сам, буквально, на прошлой неделе тестировал время переноса 2,3 Тб базы с HP-UX на Oracle Linux. Задачу разбил на несколько этапов: 1. Получил список табличных пространств и создал их на новой базе. 2. Получил DDL всех юзеров и грантов, кроме системных и создал их на новой базе. 3. Получил список всех таблиц и таблиц с партициями более 1 Гб (остальных "мелких" осталось на 84 Гб). 4. Перелил все большие таблицы impdp по network_link, но с параметрами EXCLUDE=INDEX \ EXCLUDE=STATISTICS \ tables= \ BIG_TABLE_1, \ BIG_TABLE_2, \ ... BIG_TABLE_n 5. Получил дамп DDL индексов expdp на исходной базе CONTENT=METADATA_ONLY \ include=index \ tables= \ BIG_TABLE_1, \ BIG_TABLE_2, \ ... BIG_TABLE_n 6. Получил SQLFILE на новом сервере из этого дампа impdp dumpfile=$DUMPFILE \ SQLFILE=$SQLFILE \ EXCLUDE=INDEX_STATISTICS 7.Исправил в получившемся SQL-файле PARALLEL 1 на PARALLEL 16 для всех индексов, после чего прогнал скрипт в sqlplus, построение индексов заняло, порядка, 10 минут. 8. Выбрал все схемы кроме системных из исходной базы и залил impdp через network_link, за исключением ранее перелитых больших таблиц schemas= schema_1, schema_2, ..... schema_n \ EXCLUDE=STATISTICS \ TABLE_EXISTS_ACTION=TRUNCATE \ EXCLUDE= \ TABLE:\"LIKE \'BIG_TABLE_1\'\", \ TABLE:\"LIKE \'BIG_TABLE_2\'\", \ ... TABLE:\"LIKE \'BIG_TABLE_n\'\" Первый раз все прошло без 2-х часов двое суток. ХМ... Неприемлемо долго. Со второй попытки пересоздал редо, темп и undo на tmpfs и переливка больших таблиц заняла 7 ч 20 минут, а схемы с остатками данных 84 Гб перелились за 1 ч 40 минут. Общее время переноса составило порядка 9 часов, что уже приемлемо. После чего отдал новую базу бизнесу для проверки на предмет: "все ли перенеслось нормально?". Вроде, все норм. Перенос осуществлялся при работающем исходном сервере, а мне нужно было только обозначить бизнесу время необходимое для переноса с последующим переходом на него. Когда будет реальный переход, то там уже будут выгнаны все пользователи из исходной базы и остановлены задания, поэтому может получиться даже быстрее 9-ти часов, поскольку, сервер сейчас очень не слабо нагружен. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 12:36 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
Во, пока описывал вариант, тут уже задача решилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 12:37 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
Ну с HP-UX на Linux вариантов кроме transportable table space и expdp/impdp вроде как и нет (т к разные endianless) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 12:59 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
Oleg M.Ivanov, Спасибо, интересно почитать, может когда нибудь и опробую. К сожалению на тесты у меня была всего неделя. Сейчас уже нет недели :) Я таки перенес БД с помощью статьи http://www.dba-oracle.com/t_migrate_windows_to_linux.htm Осталось понять могу ли я удалить архивлоги командой Код: plsql 1. 2.
а после сделать инкрементальный бекап, чтобы добить новую БД данными за сегодня-завтра. Далее собираюсь сменить ip-адрес на продовский, чтобы не перенастраивать кучу приложений завязаных на БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 13:15 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
landyНу с HP-UX на Linux вариантов кроме transportable table space и expdp/impdp вроде как и нет (т к разные endianless) Если говорить только о штатных средствах (без использования всяких CDC), то с версии 11.2.0.4 можно rman-ом мигрировать на другой endian. Более того, можно инкриментально это делать для минимизации простоя. См. ноту 11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 1389592.1) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 13:57 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
MalishPoOleg M.Ivanov, Спасибо, интересно почитать, может когда нибудь и опробую. К сожалению на тесты у меня была всего неделя. Сейчас уже нет недели :) Я таки перенес БД с помощью статьи http://www.dba-oracle.com/t_migrate_windows_to_linux.htm Осталось понять могу ли я удалить архивлоги командой Код: plsql 1. 2.
а после сделать инкрементальный бекап, чтобы добить новую БД данными за сегодня-завтра. Далее собираюсь сменить ip-адрес на продовский, чтобы не перенастраивать кучу приложений завязаных на БД. Если новую БД уже запускали. то ее бэкапом не догонишь уже. Идеально было бы сделать стендбай с винды на линь, а по окончании миграции свитч. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 13:58 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
mefman, Ну у меня сохранились нетронутые файлы БД. По поводу стендбая, я так понимаю это rman'ом сделать DUPLICATE? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 14:38 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
wittelandyНу с HP-UX на Linux вариантов кроме transportable table space и expdp/impdp вроде как и нет (т к разные endianless) Если говорить только о штатных средствах (без использования всяких CDC), то с версии 11.2.0.4 можно rman-ом мигрировать на другой endian. Более того, можно инкриментально это делать для минимизации простоя. См. ноту 11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 1389592.1) Да - все правильно. Но только(если мне не изменяет память) мигрировать можно, но инкрементальное обновление с HP-UX на linux x86 не работает(может сам накосячил?). В обратную сторону - работает. Я видел в какой-то ноте явное упоминание об этом - сейчас не нахожу Проверял где-то год назад, когда стояла такая задача. И да - из ноты the current version does NOT support Windows. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 14:44 |
|
Перенос БД с Windows на Linux
|
|||
---|---|---|---|
#18+
MalishPomefman, Ну у меня сохранились нетронутые файлы БД. По поводу стендбая, я так понимаю это rman'ом сделать DUPLICATE? да типа такого: Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2019, 15:33 |
|
|
start [/forum/topic.php?fid=52&startmsg=39804407&tid=1882524]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 294ms |
total: | 459ms |
0 / 0 |