Как я могу сделать Exp и Imp с помощью PL / SQL - PullRequest
2 голосов
/ 13 декабря 2008

Как я могу сделать Exp и Imp с помощью PL / SQL?

Ответы [ 3 ]

4 голосов
/ 23 января 2009

Если вы используете impdp / expdp - Datapump (10g или более поздний) - вы можете просто использовать DBMS_DATAPUMP:

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_datpmp.htm

4 голосов
/ 29 декабря 2008

Это можно сделать несколькими способами.

Во-первых, если вы используете 10g или более позднюю версию, вы можете рассмотреть возможность использования data pump (expdp и impdp), а не imp и exp. Это более новые и более функциональные версии этих инструментов.

Что касается того, как вызывать их из PL / SQL, вы можете сделать это:

  • Вы можете сделать внешний вызов процедуры для DLL (или совместно используемой библиотеки, если вы используете UNIX)
  • вы можете написать простой класс Java (для запуска в Oracle JVM), который будет вызываться с использованием Java
  • вы можете использовать Расширенные очереди или DBMS_PIPE для связи с внешними приложениями
  • Вы можете использовать UTL_TCP для взаимодействия по сети (например, SOAP)
  • В 10g вы можете использовать пакет DBMS_SCHEDULER для вызова команд ОС

Первый и последний варианты должны быть хорошо документированы в онлайновых документах Oracle - для двух других вариантов потребуется немного больше координации и кодирования.

1 голос
/ 06 июля 2009

Пример точного запроса вы можете найти в Примеры использования API Data Pump в книге Oracle Database Utilities .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...