Как создать дамп с помощью Oracle PL/SQL Developer?

Мне нужно получить дамп пользователя (включая таблицы, процедуры и т. д.) как FILENAME.dmp.

Если я создам нового пользователя и импортирую этот FILENAME.dmp, то все должно быть создано.

Как я могу создать этот файл дампа?

Не говорите мне использовать функции Run > EXP или Run > IMP, потому что из-за какой-то проблемы эта функция у меня не работает.


person Community    schedule 12.05.2009    source источник
comment
imp, вероятно, не работает из-за проблем с PATH. Что произойдет, если запустить imp из командной строки?   -  person Pablo Santa Cruz    schedule 12.05.2009
comment
На самом деле, вам нужно запустить exp, а не имп.   -  person Pablo Santa Cruz    schedule 12.05.2009


Ответы (5)


EXP (экспорт) и IMP (импорт) — это два необходимых вам инструмента. Лучше попробовать запустить их из командной строки и на той же машине.

Его можно запустить удаленно, вам просто нужно TNSNAMES.ORA правильно настроить и установить все инструменты разработчика той же версии, что и база данных. Не зная сообщения об ошибке, с которым вы столкнулись, я не могу помочь вам заставить работать exp/imp.

Команда для экспорта одного пользователя:

exp userid=dba/dbapassword OWNER=username DIRECT=Y FILE=filename.dmp

Это создаст файл дампа экспорта.

Чтобы импортировать файл дампа в другую пользовательскую схему, сначала создайте нового пользователя в SQLPLUS:

SQL> create user newuser identified by 'password' quota unlimited users;

Затем импортируйте данные:

imp userid=dba/dbapassword FILE=filename.dmp FROMUSER=username TOUSER=newusername

Если данных много, попробуйте увеличить BUFFERS или просмотрите expdp/impdp

Наиболее распространенные ошибки для опыта и имп связаны с настройкой. Убедитесь, что ваш PATH включает $ORACLE_HOME/bin, проверьте правильность установки $ORACLE_HOME и проверьте $ORACLE_SID

person Guy    schedule 12.05.2009
comment
@Chandra Sekhar: Как я смогу сделать это с удаленной машины? я должен ввести IP-адрес? Не могли бы вы привести пример? - person Oliver; 31.07.2014
comment
IIRC вы должны использовать обычный синтаксис для доступа к удаленному компьютеру (как и в случае с SQLPLUS), то есть userid = dba/password@remoteserver, где «удаленный сервер» был определен в вашем файле TNSNAMES.ORA. - person Guy; 31.07.2014
comment
У меня нет прав на редактирование TNSNAMES.ORA, а запись удаленного сервера отсутствует в файле TNSNAMES.ora. Что мне теперь делать? :( - person Oliver; 31.07.2014
comment
Попросите внести изменения в ваш ЛОКАЛЬНЫЙ файл tnsnames.ora. Файл tnsnames.ora, который необходимо изменить, находится на компьютере, с которого вы осуществляете доступ. Вам не нужно изменять tnsnames.ora на сервере базы данных. - person Guy; 01.08.2014
comment
В противном случае вы должны использовать полную форму синтаксиса имя пользователя/пароль@сервер. Извините, но для этого вам придется обратиться к документам Oracle/Google (или посмотреть на asktom.oracle.com) - person Guy; 01.08.2014

Просто чтобы держать это в курсе:

Текущая версия SQLDeveloper имеет инструмент экспорта (Tools > Database Export), который позволит вам выгрузить схему в файл с фильтрами для типов объектов, имен объектов, табличных данных и т. д.

Его намного проще настроить и использовать, чем exp и imp, если вы привыкли работать в среде с графическим интерфейсом, но он не так универсален, если вам нужно использовать его для написания чего-либо.

person Simon    schedule 19.05.2012
comment
Учебное пособие docs.oracle.com/cd/E17781_01/server .112/e18804/ - person Alex78191; 11.05.2018

Так же, как обновление, это можно сделать с помощью Toad 9 также. Перейдите к базе данных> Экспорт> Мастер экспорта Data Pump. В окне каталога назначения, если вы не найдете какой-либо каталог в раскрывающемся списке, вам, вероятно, придется создать объект каталога.

CREATE OR REPLACE DIRECTORY data_pmp_dir_test AS '/u01/app/oracle/oradata/pmp_dir_test'; 

См. здесь пример.

person sayannayas    schedule 25.09.2012

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

Перейти к sqlplus или любому sql*plus connect by your username or password

  1. Теперь введите host, это выглядит как SQL>host.
  2. Теперь тип "exp" означает экспорт.
  3. Он попросит у вас имя пользователя и пароль, укажите имя пользователя и пароль того пользователя, для которого вы хотите создать файл дампа.
  4. Теперь нажмите Enter.
  5. Теперь мигает опция Экспорт файла: EXPDAT.DMP>_ (укажите путь и имя файла, где вы хотите создать файл дампа, например:\FILENAME.dmp) и нажмите Enter
  6. Выберите вариант «Вся база данных» или «Таблицы» или «Пользователи», затем нажмите Enter.
  7. Снова нажмите Enter еще 2 раза, данные таблицы и сжать экстент
  8. Введите имя таблицы, например, я хочу создать dmp-файл таблицы student, поэтому введите student и нажмите Enter.
  9. Введите, чтобы выйти, теперь ваш файл по указанному вами пути является файлом дампа, теперь импортируйте этот файл dmp, чтобы получить все данные таблицы.
person Babar Siddique    schedule 19.08.2017
comment
Некоторые пути к файлам могут быть отформатированы следующим образом: `Filepath` - person ; 22.08.2017
comment
Указать путь означает пункт назначения, в который вы хотите поместить файл дампа, например, в примере я использовал диск E, поэтому E:\any_name_of_file.dmp(расширение) - person Babar Siddique; 22.08.2017
comment
Нет... Я имею в виду, что в вашем ответе есть e:\FILENAME.dmp, можете ли вы изменить его на `e:\FILENAME.dmp`, не забудьте оставить `? - person ; 22.08.2017
comment
да да, вы можете оставить одинарные кавычки, вы можете написать это без одинарных или двойных кавычек - person Babar Siddique; 22.08.2017

Экспорт (или datapump, если у вас 10g/11g) — это способ сделать это. Почему бы не спросить, как решить ваши проблемы с этим, вместо того, чтобы пытаться найти другой способ сделать это?

person Matthew Watson    schedule 12.05.2009