Шаг 129 - БД Oracle - Импорт, экспорт данных в теории

Думаю, что с табличными пространствами мы с вами немного разобрались. Давайте теперь рассмотрим как вообще возможно, извлечь данные из вашей БД, полностью или частично и сохранить их для последующего либо восстановления, либо хранения так на всякий случай. Данная, тема вытекает из раздела резервное копирование и восстановление БД. Способов это делать множество! Но, для начала рассмотрим утилиты импорта, экспорта. На мой взгляд - данное средство, является одним из самых простых и эффективных способов сохранности ваших данных. Если делать регулярные выборки утилитой экспорта, то это почти полная гарантия, что вы ничего не потеряете! Так же, данными средствами, легко переносить объекты БД из одной БД в другую или смене версии БД и т.д. Что, кстати характерно, изучать способы сохранения данных - администратор БД, начинает, когда БД, либо падает либо разваливается полностью! То есть исходя из принципа - "пока жаренный питух в п.. не клюнет!" Хотя этот принцип как правило у нас во всем! :) Ладно, закончим с лирическим отступлением и начнем разбирать данную тему. Собственно сами утилиты импорта экспорта, это два исполняемых модуля (экзещника), которые находятся как правило в каталоге определенным переменной ORACLE_HOME. В вашем случае это может быть например в каталоге - C:\Oracle\ora81\bin и имеют имена exp.exe и imp.exe. Как уже, наверное, ясно одна из них производит выгрузку данных, а другая их загрузку в БД. Если войти в каталог C:\Oracle\ora81\bin и дать команду:

C:\Oracle\ora81\bin\exp.exe help=Y

То увидите примерно следующее:

129_1.gif (24223 b)

Не знаю, по каким причинам, но все происходит именно так! Не волнуйтесь скоро мы с вами все приведем в норму! А, для начала давайте определимся с тем что же такое есть ЭКСПОРТ. Итак - утилита экспорта ORACLE читает базу данных, включая словарь данных и записывает результаты в двоичный файл(!). Который в свою очередь именуется как файл дампа экспорта (export dump file). В данном смысле можно экспортировать всю базу данных, конкретных пользователей (схемы) или конкретные таблицы вашей БД. В процессе экспорта, вы можете определиться есть ли необходимость экспортировать связанную с таблицами информацию словаря данных, такую как привилегии, индексы и ограничения. Созданный утилитой экспорта файл, будет содержать команды необходимые для полного восстановления всех выбранных объектов. Можно осуществлять полный (complete) экспорт всех таблиц БД, или только тех таблиц, которые были изменены, со времени последнего экспорта. Во втором случае экспорт будет инкрементальным или кумулятивным. Инкрементальный (incremental) экспорт привет к записи всех таблиц изменившихся со времени последнего экспорта, а кумулятивный (cumulative) - всех таблиц изменившихся со времени последнего полного экспорта! Но, что еще не маловажно, утилита экспорта предоставляет вам возможность сжимать свободные экстенты сильно фрагментированных сегментов данных. Например, я раньше (да и сейчас) поступал следующим образом. Когда какая-либо схема более менее сформировалась, я уничтожал ее табличное пространство предварительно все слив в экспорт и затем восстанавливал табличное пространство и заливал данные! Разница, была очень заметна - все запросы к БД выполнялись быстрее! Хотя такой способ не всегда оправдан, но вполне применим! Итак, давайте попробуем получить команду help на понятном нам языке, а не вражескими кабалистическими знаками! :) Для этого напишем батовский файлик с именем exp_out.bat и вот таким содержимым: (надеюсь создавать файлы в вашей ОС вы умеете!)

set nls_lang=russian_cis.ru8pc866

exp.EXE help=y

Запустим его на выполнение и должны получить уже следующее на более понятном нам диалекте:

129_2.gif (22390 b)

Вот теперь уже кое что проясняется! По крайней мере можно разобрать отдельные фразы! :) Далее, мы с вами продолжим разбирать все это более детально!


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Летучий Сергей - 10.05.2004