Восстановите базу данных Oracle на другой диск в Windows Server 2012 - PullRequest
0 голосов
/ 07 января 2019

Мой вопрос о следующем, необходимо передать базу данных Oracle Database 10g Express Edition в 11g. Мне дали резервную копию на pendrive, это файл с расширением .dmp (файл дампа).

Я установил 11g Express Edition на новый сервер, но также установил базу данных, которая поставляется с этим (XE).

Я хочу восстановить базу данных из 10g в другое устройство, отличное от C, где установлена ​​база данных Oracle 11g. Я также хочу, чтобы эта новая база данных «заменила» XE (я не знаю, правильно ли это сказать).

Я нашел только корректировки и изменения местоположения, но только в пределах одного блока.

Любая область была бы очень полезна.

Спасибо.

1 Ответ

0 голосов
/ 08 января 2019

Судя по комментариям, звучит так, как будто вы получили файл дампа базы данных (.dmp) из базы данных на pendrive, и вам нужно выяснить, как поместить этот файл в базу данных, правильно?

Во-первых, давайте рассмотрим некоторые предпосылки. Что такое файл дампа (.dmp)? От Oracle :

Набор файлов дампа состоит из одного или нескольких файлов на диске, которые содержат данные таблицы, метаданные объекта базы данных и управляющая информация. файлы пишутся в проприетарном, двоичном формате. Во время импорта При работе утилита Data Pump Import использует эти файлы для поиска каждый объект базы данных в наборе файлов дампа.

На высоком уровне этот файл .dmp представляет собой набор операторов DDL и DML, которые воссоздают любые экспортированные данные и объекты. Файлы .dmp облегчают транспортировку и перемещение больших объемов данных между базами данных с помощью Data Pump. Но что такое Data Pump ? Опять из Oracle:

Технология Oracle Data Pump позволяет очень быстро перемещать данные и метаданные из одной базы данных в другую.

По сути, Data Pump - это набор утилит (EXPDP & IMPDP), которые используются для перемещения данных между базами данных. Скорее всего, файл .dmp был создан с использованием EXPDP. Вам нужно будет использовать IMPDP для импорта этого .dmp файла в базу данных.

Вот это становится интересным - вы говорите, что у вас уже есть база данных 11g, правильно? Если вы хотите, вы сможете импортировать файл дампа 10g непосредственно в вашу базу данных 11g без каких-либо проблем. Причина в том, что Oracle имеет тенденцию к обратной совместимости, и , как правило, , говоря , все, что вы делаете с одной версией Oracle, будет совместимо с версией, которая сразу же сменяет ее. Прыжки с Oracle 8i на 11g не сработают, но вы всегда можете перейти с 8i на 9i, с 9i на 10g и так далее.

Если вы хотите импортировать этот файл дампа в базу данных 11g, вот что вам нужно сделать:

  1. Создайте учетную запись DBA или зарегистрируйте учетную запись, которой явно предоставлены права Data Pump.
  2. Переместите файл .dmp на сервер, где находится ваша база данных 11g. Если вы хотите сделать это еще проще для себя, вы можете переместить файл .dmp в каталог базы данных вашей базы данных. Если вы не знаете, где это, выполните следующий запрос к вашей базе данных: select * from all_directories where directory_name = 'DATA_PUMP_DIR'; Этот запрос вернет каталог. Вам не нужно использовать этот каталог, он будет проще.
  3. Как только у вас есть файл дампа на месте, и у вас есть все необходимые права доступа к базе данных и операционной системе, вы готовы импортировать файл dmp. Откройте новое окно командной строки, установите свой Oracle home, если он еще не установлен, а затем перейдите в каталог, в который вы поместили файл .dmp. Ваша команда импорта будет выглядеть примерно так:

    impdp [ИМЯ ПОЛЬЗОВАТЕЛЯ] / [ПАРОЛЬ] @ [БАЗА ДАННЫХ] = [КАТАЛОГ] дамп-файла = [ИМЯ ФИЛЬМА] .dmp logfile = [ЛОГИФАЛ] .log

    Где [USERNAME] / [PASSWORD] - ваши учетные данные, [DATABASE] - имя базы данных, в которую вы импортируете файл дампа, [DIRECTORY] - любой каталог, в который вы поместили файл дампа, [FILENAME] - это имя файла .dmp, а [LOGFILE] - это любое имя, которое вы выбрали для своего файла журнала.

Предполагая, что в вашей базе данных есть все необходимое для файла .dmp, должен начаться импорт, и вы увидите обновления состояния, которые выглядят примерно так:

Starting [USERNAME]."SYS_IMPORT_FULL_01":  [USERNAME]/******** directory=DATA_PUMP_DIR dumpfile=[FILENAME].dmp logfile=[LOGFILE].log 
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/TABLE/TABLE

Обратите внимание, что это всего лишь пример, ваши результаты могут выглядеть иначе. Предполагая, что все идет хорошо, вы увидите следующее сообщение:

Job [USERNAME]."SYS_IMPORT_FULL_01" completed

Если вы не хотите импортировать ее в существующую базу данных 11g, вы всегда можете развернуть новую базу данных и импортировать файл .dmp в эту, используя те же рекомендации.

Этого должно быть достаточно, чтобы вы пошли по правильному пути, надеюсь, это поможет и удачи!

P.S. Вот большой FAQ по утилитам Data Pump: http://www.orafaq.com/wiki/Import_Export_FAQ

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