В дополнение exp/imp, а в будущем на замену
в Oracle 10 появилась утилита
expdp
Это не просто утилита, это новая технология Data Pump.
Кратко отличия:
- распаралеливание, на хороших серверах работает в разы быстрее;
- работает непосредственно на сервере, удаленно не работает;
- путь к файлам не указывается в параметрах, он прописывается "внутри" БД;
- можно указать список объектов, а можно перечислить исключаемые объекты.
- работает клиент-серверно, если убили процесс клиента, серверная часть продолжает работать.
Укажем путь к файлам:
Код:
CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/home/backup';
Сделаем полный экспорт:
Код:
expdp system/xxx full=Y directory=DATA_PUMP_DIR parallel=4 dumpfile=co_dp.dmp logfile=co_dp.log
Сделаем полный импорт:
Код:
impdp userid=system/xxx job_name=imp_full_j dumpfile=co_dp.dmp logfile=co_dp.log parallel=4
Если процесс клиента умер, чтобы подключиться к серверному процессу:
Код:
impdp userid=system/qqq attach=imp_full_j
Чтобы остановить процесс вообще (один из вариантов) или почистить умершее задание:
1. закрываем клиента
2. киляем работающие imp сессии в базе данных
3. удаляем таблицу задания
Код:
drop table system.IMP_FULL_J;
В этой же таблице можно проконтролировать весь процесс.
В Оракле Магазин есть популярная статья:
"Олег Летаев
Директор Центра Компетенции компании Leaves, Санкт-Петербург
Data Pump – новая технология Oracle для выгрузки/загрузки данных
"