Как я могу использовать Exp и Imp с помощью PL/SQL?Как я могу использовать Exp и Imp с помощью PL/SQL
ответ
Это можно сделать несколькими способами.
Во-первых, если вы используете 10g или более поздней версии, вы можете использовать насос данных (expdp и impdp) в отличие от imp и exp. Это новые и более способные версии этих инструментов.
А как называть их из PL/SQL, вы можете сделать так:
- Вы можете сделать внешний вызов процедуры к DLL (или разделяемую библиотеку, если вы на UNIX)
- вы могли бы написать простой класс Java (для запуска в Oracle JVM), которая будет вызывать с помощью Java
- вы можете использовать Advanced очереди или DBMS_PIPE для взаимодействия с внешними приложениями
- вы можете использовать utl_tcp взаимодействовать по сети (например, SOAP)
- В 10g можно использовать пакет DBMS_SCHEDULER для вызова OS команда
Первые и последние варианты должны быть хорошо документированы в онлайн-документации Oracle - два другой варианта потребует немного больше координации и кодирования.
Если вы используете impdp/EXPDP - Datapump (10 г или более поздней версии) - вы можете просто использовать DBMS_DATAPUMP:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_datpmp.htm
Вы можете увидеть пример о точно вы запрашиваете в Examples of Using the Data Pump API внутри Oracle Database Utilities книга.
Я думаю, что у пользователя нет привилегий imp/exp. Ему нужно достичь этого, используя PL/SQL – 2011-10-20 06:46:01