Параллельный доступ с ORACLE_DATAPUMP для выгрузки данных

Я только что познакомился с концепцией параллельного доступа с ORACLE_DATAPUMP для выгрузки данных. Но не мог понять это правильно - относительно параллелизма. Таким образом, с небольшим количеством кода любой может помочь мне понять, как запускается параллельный процесс, и загружает данные в соответствующие файлы.

Код:

CREATE TABLE all_objects_xt
  ORGANIZATION EXTERNAL
  (
     TYPE ORACLE_DATAPUMP
     DEFAULT DIRECTORY xt_dir
       LOCATION ( 'allobj1.dmp', 'allobj2.dmp' )
  )
  PARALLEL
  AS
     SELECT *
     FROM   all_objects;

При параллельной выгрузке смещения файлов распределяются между параллельными процессами для множественной одновременной обработки файла или набора файлов. - в любом случае это можно объяснить, чтобы визуализировать, как это (концепция смещения) произошло в программировании в реальном времени.

1 ответ

Первое для предложения Parallel в Oracle: это зависит от количества процессоров. Как правило, это влияет на число процессоров x 2 = параллельная степень выполнения. Во-вторых, параллельная работа также зависит от параметра PARALLEL_MAX_SERVERS, потому что это максимальное ограничение границы.

Вы создаете внешнюю таблицу с опцией драйвера ORACLE_DATAPUMP из 2 разных файлов дампа. Данные будут заполняться всякий раз, когда этот внешний объект ссылается. При создании этой внешней таблицы вы также можете поместить предложение Parallel 4 или Parallel 6. Это означает, что либо 4 параллельных потока будут выполнять задачу, либо 6 будут выполнять задачу.

Если вы хотите проверить параллельную обработку указанного выше объекта, выполните следующую проверку.

Откройте 1 сессию как владелец или привилегированный пользователь вашей внешней таблицы и выполните запрос выбора. Немедленно откройте другой сеанс как SYSDBA или DBA и выполните запросы из следующих представлений словаря данных.

выберите * из V$PQ_SESSTAT; выберите * из V $ PQ_SYSSTAT;

V $ PQ_SESSTAT даст вам точный результат существующей параллельной операции. Означает, сколько запросов выполнено и сколько параллельных серверов используются запросом. Я надеюсь, что вы сейчас ясно.

Другие вопросы по тегам