» » »

55. Назначение и возможности утилиты IMPORT СУБД Oracle

Эта утилита используется для передачи данных из одной базы данных Oracle в другую. Утилита Import служит для загрузки данных в целевую базу данных. При экспорте таблицы из исходной базы данных  утилита извлекает таблицы и помещает его в файл дампа. Этот файл дампа передается в целевую базу данных. Утилита Импорт будет копировать данные из файла дампа в целевую базу данных.

 

Начиная с версий 10g / 11g Oracle рекомендует использовать утилиту экспорта и импорта Data Pump, которая является усовершенствованной версией оригинальных утилит экспорта и импорта.

 

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

 

Запуск утилит экспорта и импорта

Вы можете запустить Экспорт и импорт инструмент в двух режимах

·         Режим командной строки

·         Интерактивный режим

Когда вы просто введете команды ехр или imp  то включится интерактивный режим и будет предложено ввести необходимую информацию для входа. Если указать дополнительные команды при наборе ехр или  imp то она будет работать в режиме командной строки.

Импорт дампа базы данных

Порядок выполнения импорта.

1. Определиться с наименованиями таблспэйсов
2. Убедиться в наличии дампа.
3. Удалить схему SHURA
4. Создать пользователя SHURA
5. Импортировать дамп.
6. Выполнить перепостроение справочников абонентов

Для выполнения импорта дампа базы данных удобно воспользоваться BAT-файлом import.bat имеющим следующую структуру

imp userid=shura/password@akc file=010527.DMP full=y log=i010527.log

Структура файла импорта такая же как у файла экспорта, различие заключается в префиксе имени лог-файла и естественно в вызываемой утилите. Рекомендуется в качестве префикса ставить символ i.

Для того чтобы выполнить импорт (закачку) дампа в базу Oracle прежде необходимо удалить старые данные. Данные удаляются при помощи команды

DROP USER SHURA CASCADE;

Данная команда не выполнится, если зарегистрироваться под этим же пользователем, поэтому рекомендуется для регистрации использовать другое имя, например SYSTEM. После выполнения этой команды из базы будет удалена ВСЯ информация о пользователе SHURA (в том числе и таблицы), поэтому необходимо заново создать этого пользователя. Для этого удобно воспользоваться следующими командами.

CREATE USER SHURA IDENTIFIED BY PASSWORD (1)
DEFAULT TABLESPACE amk_ts 
TEMPORARY TABLESPACE TEMP 
(2)
QUOTA UNLIMITED ON amk_ts
QUOTA UNLIMITED ON amkndx_ts;

(1) вместо PASSWORD укажите установленный у вас пароль для пользователя SHURA

(2) Здесь важно правильно указать наименование таблспэйсов (TABLESPACE)
Обычно, наименования таблспэйсов данных АМК стандартны (amk_ts и amkndx_ts),
а наименование временного таблспэйса может отличаться. Проверить можно так

SELECT TEMPORARY_TABLESPACE FROM DBA_USERS 
WHERE USERNAME='SHURA'
GROUP BY TEMPORARY_TABLESPACE,USERNAME;

Запрос вернет наименования, среди которых должно быть имя начинающееся с TEMP
Это может быть TEMP, TEMPORARY, TEMPORARY_DATA и т.п.
Конечно, этот запрос нужно выполнять до удаления пользователя SHURA

Далее следует выполнить команды

GRANT CONNECT TO SHURA;
GRANT RESOURCE TO SHURA;
GRANT DBA TO SHURA;
CONNECT SYS/CHANGE_ON_INSTALL@AKC;
GRANT ALL ON DBMS_PIPE TO PUBLIC;

Выполнять приведенные SQL-запросы удобно в SQL Plus.
Завершить работу с SQL Plus можно командой exit;

Теперь можно импортировать дамп.


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.