Импорт и экспорт базы данных Oracle

View more categories:

1- Import и Export в Oracle 11g

Начиная с  Oracle 11 и далее Oracle использует синтаксис отличающийся от предыдущей версии Oracle чтобы импортировать ( import) и экспортировать ( export) данные. В целом есть 2 варианта для импорта/экспорта (import/export):
  1. Import/Export некоторые таблицы CHEMA.
  2. Import/Export полностью SCHEMA (включая объекты: table, view, function,...)

1.1- Import/Export SCHEMA (11g)

Для начала вам нужно определить  DBA Directory (Папку  DBA, можно сказать папку управленияị DB) она прикрепляется к реальному пути к вашему диску. На самом деле вам нужно объявить один раз и можете использовать дальше.
Например я определю  DBA Directory (Папку DBA) с названием  MY_BACKUP_DIR прикрепляя к файлу  C:/oraclebackup
Войти в  SQL Plus используя user system:
- Create a directory named DBA MY_BACKUP_DIR attached to the actual directory on your hard drive
- Make sure that the C:/oraclebackup exist.

create directory MY_BACKUP_DIR AS 'C:/oraclebackup';
DBA Directory создан с помощью user system. Только  user с авторизацией  DBA могут ее использовать. Вы так же можете дать авторизацию для использования этой  DBA Directory другим пользователям.
-- Grant read,write on directory to some user.

grant read,write on directory MY_BACKUP_DIR to Some_User;
Можете так же сделать запрос чтобы увидеть созданные до этого объекты  DBA Directory и имеющиеся в Oracle.
- Query all DBA directory in ORACLE
- By querying the view DBA_DIRECTORIES.

Select Directory_Name,Directory_Path From Dba_Directories;
Результат:

1.1.1- Expdp

Использовать  expdp чтобы экспортировать ( export) полностью  SCHEMA в файл  dump.
Чтобы экспортировать ( export) вам нужно открыть  CMD и  CD к папке  BIN в  Oracle.

cd C:\DevPrograms\db11g\product\11.2.0\dbhome_1\BIN
@rem DBA Directory: MY_BACKUP_DIR has been created in the previous step.
@rem SCHEMA export: learningsql


expdp system/admin DIRECTORY=MY_BACKUP_DIR DUMPFILE= learningsql.dmp SCHEMAS=learningsql LOGFILE=learningsql.log
Результат:
Заметка: Вы можете экспортировать ( export) несколько  Schema одновременно в 1 файл  dump. Например:

expdp system/admin DIRECTORY=MY_BACKUP_DIR DUMPFILE= multi.dmp SCHEMAS=learningsql,simplehr LOGFILE= multi.log

1.1.2- Impdp

Для начала вам нужно создать user learningsql2. Войти в  SQL Plus:
Дать кoманду создать  user:
-- User: learningsql2
-- Password: 1234

create user learningsql2 identified by 1234;
В принципе вы только что создали пустую  SCHEMA.
Далее мы импортируем ( import ) из файла  dump в только что созданную  Schema. На самом деле в файле  dump может быть одна или несколько  SCHEMA. Когда вы импортируете ( import) файл  dump в определенную  Schema, вам нужно указать источник  SCHEMA в файле  dump, и целевую  SCHEMA.
Заметьте, что в ORACLE название SCHEMA так же является названием User.
Откройте  CMD и CD в папку  bin в  Oracle:

cd C:\DevPrograms\db11g\product\11.2.0\dbhome_1\BIN
Объявите команду  impdp:

impdp system/admin DIRECTORY=MY_BACKUP_DIR DUMPFILE=learningsql.DMP REMAP_SCHEMA=learningsql:learingsql2 LOGFILE=learningsql_imp.log
Объяснение:
  • Импорт из файла learningsql.DMP
  • Из источника Schema: learningsql (В файле dump)
  • К целевой Schema: learningsql2
Заметка: Вы можете не создавать до этого user learningsql2, команда  impdb сама создаст этот user, но пароль не определен, вам нужно самим установить пароль.
Успешный запуск результата:

View more categories: