Как я могу импортировать или открыть файл.dmp?

Обновить:

Я попробовал команду impdp и дал мне понять, что он не может создать пользователя. Я также пытался создать пользователя

Вот так выглядит мой файл.par

Это фрагмент файла.sh

Я никогда не использовал базу данных оракула раньше. У меня есть файл.dmp, который имеет 50 ГБ. Я не знаю, как он был экспортирован или из какой версии он был экспортирован. Я скачал oracle 12c realease 2 и попытался выполнить импорт, но я получаю сообщение об ошибке ".dmp может быть файлом дампа экспорта Data Pump". Что мне нужно сделать, чтобы я мог запускать sql запросы к нему в конце концов. Пожалуйста, смотрите прикрепленное изображение.

ОБНОВЛЕНИЕ: Я попробовал команду: IMP SYSTEM/ пароль ПОКАЗАТЬ =Y ФАЙЛ =DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.dmp fromuser=SYSTEM touser=SYSTEM

Он дал мне сообщение о том, что импорт успешно завершен с предупреждениями. что это делает? Также, где я могу просмотреть данные, если они импортированы?

2 ответа

Решение

В sqlplus как СИСТЕМА:

CREATE DIRECTORY IMPDIR as 'C:\Users\negink\Documents\databasewrigley';

вернуться в командную строку:

impdp SYSTEM/Password DUMPFILE=IMPDIR:DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.dmp logfile=IMPDIR:DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.log FULL=Y

когда вы закончите, вы можете удалить объект DIRECTORY

в базе данных CDB (как в вашем случае) это не будет работать, если вы предварительно не создадите всех пользователей и роли в SQLPLUS после выполнения этой команды:

alter session set "_ORACLE_SCRIPT"=true;
create user x identified by pwdx;
create user y identified by pwdy;
create role r1;
create role r2;
...

В противном случае вы можете создать PDB внутри CDB и импортировать файл DMP в PDB. В этом случае вам нужно изменить соединение в команде IMPDP следующим образом (измените SYSTEM/Password на SYSTEM/Password @ // localhost / pdb_name):

impdp SYSTEM/Password@//localhost/pdb_name DUMPFILE=IMPDIR:DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.dmp logfile=IMPDIR:DBO_V7WRIGLEY_PROD_20180201_TECHOPS-5527.log FULL=Y

Прежде всего, вы должны использовать impdp вместо imp. И не забывайте делать резервные копии, прежде чем делать что-либо. Кроме того, у вас должен быть файл dmp в локальном каталоге вашего сервера. Я видел людей, пытающихся импортировать файлы dmp, расположенные на жестком диске их компьютера. Это не так, как все работает.

Я рекомендую вам отбросить схему, если вы импортируете в существующую схему для лучших результатов.

Чтобы удалить существующую схему, войдите в sqlplus с учетной записью администратора

имя пользователя / пароль sqlplus @connect_identifier

Затем вы можете использовать эту команду для удаления схемы:

DROP USER <SCHEMA_NAME> CASCADE;

Запросите вашу БД, чтобы увидеть, определен ли каталог насоса данных

SELECT directory_name, directory_path FROM dba_directories WHERE directory_name='DATA_PUMP_DIR'

Если каталог не определен, используйте эту команду для определения (кстати, "D:\orcl12" - это мой путь к экземпляру оракула, вы должны использовать свой собственный путь)

CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS 'D:\orcl12c/admin/<ORA_INSTANCE_NAME>/dpdump/';

Выйдите из sqlplus в командную строку и запустите impdp с правами администратора (убедитесь, что в исходном каталоге нет другого файла журнала с таким же именем - в этом случае операция будет прервана)

impdp имя пользователя / пароль @ каталог_соединения_соединения =DATA_PUMP_DIR dumpfile=filename.dmp logfile=filename.log

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

Другие вопросы по тегам