Дублирование базы данных Oracle на сервер разработки

Для проекта мне нужно продублировать всю (живую) базу данных Oracle с APEX и 1 приложением с рабочего сервера на сервер разработки. Поиск в Интернете привел меня к использованию для этого RMAN, но проблема в том, что рабочий сервер не находится в ARCHIVELOGMODE, поэтому RMAN не будет работать.

SQL Developer сбивает меня с толку, так как я не могу заставить его скопировать всю базу данных; только табличные данные. Он не будет создавать сами таблицы.

Есть ли способ сделать то, что я хочу, без инструмента RMAN?

Любая помощь будет принята с благодарностью, так как сейчас я застрял на этой, казалось бы, простой задаче, прежде чем смогу продолжить свой проект.

РЕДАКТИРОВАТЬ:

Ладно, ребята, я исправил это сам. Открыл SQL Developer и вручную создал табличное пространство с тем же именем, что и у активной базы данных. Повторно использовал файл данных для табличного пространства. Затем было выполнено копирование базы данных на уровне табличного пространства с живого на сервер разработки. Наконец импортировал приложение APEX и вуаля! Оно работает!


person Harold Holsappel    schedule 09.05.2014    source источник
comment
Рабочую базу данных, которая не работает в режиме архивного журнала, нельзя воспринимать всерьез. Поручите это исправить администратору баз данных и попросите помощи у администратора баз данных. Другой метод — резервное копирование/восстановление автономного клона.   -  person ik_zelf    schedule 09.05.2014
comment
Спасибо за комментарий. База данных была создана/настроена предыдущей проектной группой. Теперь, когда моя группа взяла на себя ответственность, технически я являюсь администратором баз данных. Но я не могу просто отключить базу данных, чтобы исправить это.   -  person Harold Holsappel    schedule 09.05.2014
comment
Используйте DataPump (expdp из командной строки или dbms_datapump через SQL)   -  person a_horse_with_no_name    schedule 09.05.2014
comment
@ Гарольд Холсаппель, если ваша компания работает так, они сильно рискуют. Глядя на вопрос, который вы задали, вы не можете взять на себя ответственность за эту задачу, поскольку вы не являетесь администратором баз данных.   -  person ik_zelf    schedule 09.05.2014
comment
Я знаю, но, может быть, мне следует объяснить, что это не компания, а внешнее задание из моего университета. такого рода задания известны в Голландии как «второстепенные». Предыдущая группа студентов сделала этот беспорядок, так что теперь моя группа студентов должна это исправить и улучшить.   -  person Harold Holsappel    schedule 12.05.2014


Ответы (1)


Способ работы зависит от того, можете ли вы останавливать базу данных каждый раз, когда вам нужно скопировать БД.

Если да, я предлагаю два метода:

а) Выполните холодное резервное копирование (необходимо остановить базу данных и архивный журнал не требуется) и продублируйте базу данных из резервной копии.

б) Остановите базу данных, скопируйте файлы данных, контрольный файл, журналы повторов и sp-файл на целевой сервер и соблюдайте пути. Новая БД запустится

Если вы не можете остановить базу данных, вам может потребоваться логически дублировать дату, это своего рода миграция данных:

1) Создайте базу данных разработчиков

2) Создайте структуру табличного пространства в целевой БД.

3) Скопируйте данные, используя создание таблицы, как выбор по ссылке db, экспорт/импорт datapump... Но этот способ может быть сложным, если вы хотите переместить огромное количество объектов.

Надеюсь, поможет

person pboixeda    schedule 09.05.2014
comment
Ах, я вижу, вы тоже написали решение здесь, так же, как я его исправил. Помечено как ответ, потому что это в основном то же самое, что я в итоге сделал. - person Harold Holsappel; 09.05.2014