powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / перенос базы данных [Oracle]
39 сообщений из 39, показаны все 2 страниц
перенос базы данных [Oracle]
    #39677994
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Есть задача - необходимо перенести базу данных на другой сервер, проблема в том, что на новом сервере только 1 tablespace под индексы и еще 1 под таблицы.

На старом сервере их порядка 1к. В системе есть авторизация пользователей, каждый пользователь сделан как отдельная схема.
Каким образом лучше всего перенести правильно? Сможет ли Toad сделать export отдельно схем вместе с паролем доступа?
Или делать полный expdp, потом на новом impdp и уже потом исправлять все индексы?
Или генерация кода через тоад, исправление tablespace, импорт структуры, исправление индексов, импорт данных?
Я еще боюсь за индексные таблицы, их порядка 130 штук.

У кого есть опыта такого подхода? Как правильно организовать работу с минимальным простоем для пользователей?
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39677998
Фотография Дмитрий Дальний
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DieTry,

Есть несколько вариантов:
1. поднять еще один инстанс БД на новом сервере, запихать туда БД со старого сервера, если платформы одинаковы
2. Воспользоваться утилитами exPdp/impdp Описание

По мне 2 вариант предпочтительней. Но все зависит от размеров.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39677999
Фотография Дмитрий Дальний
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для 2 варианта, предварительно необходимо сделать необходимые табличные пространства, как на старом сервере. Выполнить по схемный (можно все схемы скопом) экспорт в несколько потоков. Затем пере собрать взаимозависимые индексы и пакеты.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678006
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DieTry,

Если уровень знаний не позволяет оценить масштаб трагедии, если есть страх что-то забыть перенести или потерять внутреннюю экзотику, то , возможно, вам поможет клонирование базы
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678007
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий ДальнийДля 2 варианта, предварительно необходимо сделать необходимые табличные пространства, как на старом сервере. Выполнить по схемный (можно все схемы скопом) экспорт в несколько потоков. Затем пере собрать взаимозависимые индексы и пакеты.создавать полный набор табличных пространств - совершенно необязательный шаг. перенос возможен и в единственное доступное табличное пространство...
посхемный экспорт-импорт, конечно, интересная вещь, но тогда, как минимум, нужно отследить взаимосвязи между схемами, чтобы не "просрать" гранты, как минимум.
про "взаимозависимые индексы" не совсем понятно, что имели ввиду?
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678013
Фотография Дмитрий Дальний
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,


По схемный импорт гранты просрешь, так как если есть опыт то выгрузишь гранты отдельно.
Взаимосвязанные - неверное слово подобрал, для экзотики класса доменных.
По табличным пространствам, наверно кто делал разные табличные чем-то думал. Так как сейчас в эксплуатации есть БД, где об этом не думали от слова совсем, и сейчас уперлись в размер ТБ, с блоком 8к :( .
Хотя может быть весь этот спичь не о чем, так как база только метаданные и малые справочники, и она весит единицы гб.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678018
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уперлись в размер ТБ, с блоком 8к :(
Не понятно - не можете добавить датафайл к ТБ?
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678020
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Дальний,

Или вы рассказчик так себе, или я - слушатель не очень, но сумбур вашей мысли понятен всё меньше...
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678111
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нужные схемы занимают порядка 2гб, а вот есть схема для старого софта, там порядка 50гб.
Хотелось бы импортировать в новую базу именно нужные схемы, но как быть с паролями подключения? Так как схем очень много, создавать вручную каждую схему не вариант, да и не везде пароль помню, надо искать в коде.

Toad разве не умеет делать экспорт со всеми грантами? Вот только как экспортнуть всю схему с паролем подключения.

Т.е. наиболее оптимальный вариант сделать full expdp и на новом сервере импортнуть? Инстанс на новой бд сделал с такими же настройками.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678129
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DieTry,

скрипт генерации команды на создание пользователей легко собирается по словарю.
пароль помнить необязательно, в словаре храниться хэш - этого вполне себе достаточно. главное, при создании пользователей помнить про identified by values.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678132
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DieTryТ.е. наиболее оптимальный вариант сделать full expdp и на новом сервере импортнуть? Инстанс на новой бд сделал с такими же настройками.критерии оптимальности озвучьте. так-то "на вкус и цвет все фломастеры разные"(с).
как по мне, клонировать базу и выкинуть лишнее - в разы проще, чем по крупицам собирать и переносить нужное.
а с учетом ваших вопросов - всё больше опасаюсь за то, что при частичном переносе вы чего-нибудь, да забудете перенести...
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678135
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DieTry Как правильно организовать работу с минимальным простоем для пользователей?сделать стэндбай, синхронизировать его с примари и переключить в один момент, когда придет время...
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678148
alwan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие-то уж очень изощренные варианты предлагаются.

В чем проблема просто использовать schema mode у datapump и переопределить ТБС с помощью remap_tablespace?
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678150
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alwan,

собственно, этот вариант и предлагался самым первым. Но ТС хочет всё упорно через ТОАД сделать.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678152
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Аннаalwan,

собственно, этот вариант и предлагался самым первым . Но ТС хочет всё упорно через ТОАД сделать.всё же - самым вторым
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678156
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DieTry,

пусть промышленная БД работает пока на старом сервере.
Представьте себе, что новый сервер - это тестовый сервер, если нет других серверов.
Читайте документацию Oracle (это обязательное условие) и тренируйтесь на тестовом сервере переносить Бд разными способами.

Как научитесь, тогда уже начинайте думать о переносе промышленной БД на новый сервер.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678192
Фотография Дмитрий Дальний
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
landyуперлись в размер ТБ, с блоком 8к :(
Не понятно - не можете добавить датафайл к ТБ?
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678194
Фотография Дмитрий Дальний
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Дальнийlandyпропущено...

Не понятно - не можете добавить датафайл к ТБ?

Извиняюсь за косяк, не туда нажал.

Файлов в этом ТБ 1023 шт, каждый размером под жвак. В общем не добавить, ни прибавить.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678195
Фотография Дмитрий Дальний
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина АннаДмитрий Дальний,

Или вы рассказчик так себе, или я - слушатель не очень, но сумбур вашей мысли понятен всё меньше...

Это я сумбурно объясняю. Но за стэдбай вам зачет !
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678208
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Щукина Анна,

не, я не настаивал на toad, просто есть проблема в том, что на сервере используются базы для erp системы и за сервер отвечает поддержка. Для меня они создали отдельный инстанс, просто могут не дать данные для подключения к самому сан-серверу.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678219
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто если бы был полностью под моим контролем сервер, то я бы перенес без проблем, но тут уже, может, надо подумать над другим подходом. Либо просить их, чтобы они сделали импорт бэкапа, а мне потом уже удалять и исправлять.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678305
witte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DieTry,

На каких платформах исходная и целевая базы работают?
Какой размер исходной БД?
Они в пределах одного ЦОД-а?
Какая скорость сети между ними?

> Как правильно организовать работу с минимальным простоем для пользователей?
GoldenGate или похожие (SharePlex, например). Но стоят они как крыло от боинга. При этом лицензируются ядра как на исходной, так и на целевой платформе.
Ну или через кросс-платформенную файловую систему (например Veritas, что тоже дорого), это если платформы разные. Если одинаковые, то можно через перемонтирование файловых систем попробовать.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678350
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
witteDieTry,

На каких платформах исходная и целевая базы работают?
Какой размер исходной БД?
Они в пределах одного ЦОД-а?
Какая скорость сети между ними?

> Как правильно организовать работу с минимальным простоем для пользователей?
GoldenGate или похожие (SharePlex, например). Но стоят они как крыло от боинга. При этом лицензируются ядра как на исходной, так и на целевой платформе.
Ну или через кросс-платформенную файловую систему (например Veritas, что тоже дорого), это если платформы разные. Если одинаковые, то можно через перемонтирование файловых систем попробовать.GoldenGate можно использовать облачный. В этом случае цена будет очень гуманная, потому что купить его можно на время (месяц-два). Ну и лицензировать не по ядрам, а по коннектам. Простой реально нулевой можно сделать
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678362
witte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander RyndinGoldenGate можно использовать облачный. В этом случае цена будет очень гуманная, потому что купить его можно на время (месяц-два). Ну и лицензировать не по ядрам, а по коннектам.
Я правильно понимаю что я смогу использовать облачный GG на время миграции, при этом исходная и целевая платформы будут находится в клиентском ЦОД-е/ЦОД-ах? Или все-таки в рамках этого оффера придется мигрировать в облако?
Если не сложно дайте пожалуйста ссылку на этот офферинг.
Alexander RyndinПростой реально нулевой можно сделать
Технически - да, согласен. Практически я этого ни на одном проекте не видел, т.к. нужна как минимум верификация того что мы все правильно утащили, переключение серверов приложений, принятие решения что "да, все в порядке и мы теперь на новой платформе" и т.п.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678396
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
witteAlexander RyndinGoldenGate можно использовать облачный. В этом случае цена будет очень гуманная, потому что купить его можно на время (месяц-два). Ну и лицензировать не по ядрам, а по коннектам.
Я правильно понимаю что я смогу использовать облачный GG на время миграции, при этом исходная и целевая платформы будут находится в клиентском ЦОД-е/ЦОД-ах? Или все-таки в рамках этого оффера придется мигрировать в облако?
Если не сложно дайте пожалуйста ссылку на этот офферинг.Да. Более того, в рамках такой конфигурации данные не будут идти через облако, а будут передаваться внутри ЦОД заказчик или между ЦОДами. Реализуется это все с помощью Data Integration Platform Cloud
witteAlexander RyndinПростой реально нулевой можно сделатьТехнически - да, согласен. Практически я этого ни на одном проекте не видел, т.к. нужна как минимум верификация того что мы все правильно утащили, переключение серверов приложений, принятие решения что "да, все в порядке и мы теперь на новой платформе" и т.п.1) Шаг верификации из простоя можно исключить с помощью Veridata.
2) Переключение серверов да, будет. Но это зависит от самого приложения. У кого-то это час. У кого-то секунды-минуты.
3) Время на принятие решения тоже можно убрать за счет обратной синхронизации данных. В этом вариант мы после того как смигрировали запускаем обратный поток. Т.е., по сути, делается switchover: старая платформа становится резервной, и дает нам возможность вернуться в экстренной ситуации
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39678404
witte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander Ryndin,

Спасибо.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679796
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите, а как можно сделать remap_tablespace много в 1?
допустим на новой бд у меня только 2 таблспэйса, один под индекс, а второй под все остальное.
а в старой только под индекс 57 штук, и под таблицы 42, но есть одинаковые.

Как мне указать при IMPDP, чтобы чтобы ремап был для всех 57 => 1.
Или надо будет все 57 раз писать

Код: plsql
1.
REMAP_TABLESPACE=source:target



И более важный второй вопрос, как-нибудь можно при импорте написать условие, если это segment_type=index, значит делаем ремап для таких данных, если, например segment_type=table, значит используем ремпа для другого таблспэйса.
Это связано с тем, что теперь есть таблспэйс, который используется для индексов и таблицы, а в новой бд необходимо разделить для индексов один, а для таблиц другой...
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679806
alwan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DieTryИли надо будет все 57 раз писать

Ага, и 57 это еще не много)) но это несложно из словаря нагенерить, а запускать из файла параметров.
Код: plsql
1.
REMAP_TABLESPACE=source:target,source1:target,source2:target




DieTryесли это segment_type=index, значит делаем ремап для таких данных, если, например segment_type=table, значит используем ремпа для другого таблспэйса.

Насколько я знаю, нет. Если не прав - меня поправят)
Правильнее и легче будет привести расположение сегментов в порядок на источнике.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679809
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alwanПравильнее и легче будет привести расположение сегментов в порядок на источнике.
я тоже об этом думал, но база рабочая, пока не хочется её трогать. Я быстренько восстановить в другую бд, проверить все ли ок, если сразу заремапаются таблспэйсы, то будет шикарно. И сразу запустить уже новую бд.
Исправлять в старой уже пока нет времени :(
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679816
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alwanПравильнее и легче будет привести расположение сегментов в порядок на источнике.

А если невозможно:

IMPDP CONTENT=METADATA_ONLY SQLFILE=METADATA.SQL

Редaктируешь METADATA.SQL. Выполняешь. Затем

IMPDP CONTENT=DATA_ONLY

SY.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679819
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл: индексы, констрейнты, триггеры переводим в unusable/disable перед impdp content=data_only и в rebuild/enable после.

SY.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679853
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SYЗабыл: индексы, констрейнты, триггеры переводим в unusable/disable перед impdp content=data_only и в rebuild/enable после.

SY.

спасибо.

Вот только думаю, может проще при импорте сделать ремап все в 1 таблспэйс, а уже после запуска в работу бд потихоньку индексы переносить в другой.
Так как теперь в быстром темпе надо все это сделать и слишком много работы получится, сначала выгрузить мета-данные, исправить на нужные, загрузить, отключить все зависимые объекты при импорте (индексы, триггеры...), затем импорт и включить.
В спешке можно что-то пропустить.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679859
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот только проблема в том, что надо будет писать remap_tablespace тысячу раз :) такое вообще правильно?)
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679885
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DieTryвот только проблема в том, что надо будет писать remap_tablespace тысячу раз :) такое вообще правильно?)

Если сгенерируешь SQLFILE то будет один global replace.

SY.
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679886
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще уточнить хочу, что идет переход с enterprise to standart.

обычный expdp/impdp пройдет успешно с full=y (по идеи должно быть ок, не выгрузится лишь лишнее)? Ведь есть разница в таблицах, или есть дополнительный параметр при использовании expdp/impdp? (знаю только есть параметра VERSION)

Ну а если исключить системные, то как быть с хэшами паролей подключения?


И еще вопрос выше, есть порядка тысячи необходимых ремапов tablespace, можно ли всех их перечислить при импорте? или есть ограничение?
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679888
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SYDieTryвот только проблема в том, что надо будет писать remap_tablespace тысячу раз :) такое вообще правильно?)

Если сгенерируешь SQLFILE то будет один global replace.

SY.

это да, просто появляется много проблем с переключением триггеров и прочее, так как импорт делают другие люди, придется в 2 захода все делать и ждать пока импортнут все мета-данные, потом я отрублю все триггера, индексы... потом опять ждать пока импортнут уже данные...
Т.е. если бы было все в 1 руках, был бы сам хозяин, то без проблем, но тут другая ситуация
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39679932
DieTry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
единственный вариант я придумал, это как использовать parfile, туда запихнуть уже больше 1к таблспэйсов.

Интересует еще момент, можно ли использовать запрос в параметрах impdp?

Допустим такой синтаксис видел
include=TABLE:"IN (SELECT tbl_name FROM list_of_tables)"

А можно ли подобное использовать при импорте но в remap_tablespace?
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39766844
selyukm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А подскажите, при запуске expdp в каком состоянии должна находиться база данных? startup nomount?
...
Рейтинг: 0 / 0
перенос базы данных [Oracle]
    #39766851
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
selyukmА подскажите, при запуске expdp в каком состоянии должна находиться база данных? startup nomount?
База д.б. открыта.
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / перенос базы данных [Oracle]
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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