Это можно сделать несколькими способами.
Во-первых, если вы используете 10g или более позднюю версию, вы можете рассмотреть возможность использования data pump (expdp и impdp), а не imp и exp. Это более новые и более функциональные версии этих инструментов.
Что касается того, как вызывать их из PL / SQL, вы можете сделать это:
- Вы можете сделать внешний вызов процедуры для DLL (или совместно используемой библиотеки, если вы используете UNIX)
- вы можете написать простой класс Java (для запуска в Oracle JVM), который будет вызываться с использованием Java
- вы можете использовать Расширенные очереди или DBMS_PIPE для связи с внешними приложениями
- Вы можете использовать UTL_TCP для взаимодействия по сети (например, SOAP)
- В 10g вы можете использовать пакет DBMS_SCHEDULER для вызова команд ОС
Первый и последний варианты должны быть хорошо документированы в онлайновых документах Oracle - для двух других вариантов потребуется немного больше координации и кодирования.