Технологія oracle data pump - термін -енціклопедіческій фонд

Термін в Енциклопедичному Фонді

Технологія Oracle Data Pump


Oracle Data Pump складається з 3-х основних частин:
1. Клієнтів командного рядка expdp і impdp;
2. PL / SQL пакета DBMS_DATAPUMP, відомого як Datapump API;
3. PL / SQL пакета DBMS_METADATA, відомого як Metadata API.

Утиліта expdp призначена для експорту даних, impdp для імпрота. Вони розташовані в директорії $ ORACLE_HOME / bin сервера бази даних. Формат файлів Data Pump не сумісний з форматом файлів exp / imp.

Процеси експорту та імпорту Data Pump здійснюють читання-запис dump-файлів і виконуються тільки на сервері БД, на відміну від exp / imp. Адміністратор бази даних (DBA) повинен створити спеціальну директорію для файлів Data Pump за допомогою команди CREATE DIRECTORY і надати привілеї користувачеві на цю директорію (GRANT READ, WRITE ON DIRECTORY TO).
Для використання утиліт експорту та імпорту користувачеві необхідно надати ролі DATAPUMP_EXP_FULL_DATABASE і DATAPUMP_IMP_FULL_DATABASE.

Утиліта Data Pump Export вивантажує дані і метадані БД в файл операційної системи (dump-файл). Виконується командою expdp, характеристики експорту задаються в формі параметрів командного рядка або файлу параметрів.

Режими експорту Data Pump:
1. Full Export Mode - режим повного експорту;
2. Schema Mode - режим експорту схем користувачів;
3. Table Mode - режим експорту певних таблиць;
4. Tablespace Mode - режим вивантаження табличних просторів.


Full Export Mode - режим для експортування всіх об'єктів бази даних, за винятком схем SYS, ORDSYS і MDSYS. Ці схеми не експортуються за жодних умов. Full Export Mode визначається параметром утиліти expdp, FULL (FULL = [YES | NO]).

expdp hr DIRECTORY = dpump_dir2 DUMPFILE = expfull.dmp FULL = YES NOLOGFILE = YES

Schema Mode - в цьому режимі експортується одна або кілька схем бази даних. Цей режим використовується за умовчанням. Schema Mode визначається параметром SCHEMAS, (SCHEMAS = schema_name [.]). Якщо користувач не має ролі DATAPUMP_EXP_FULL_DATABASE, він може експортувати тільки об'єкти своєї схеми.

expdp hr DIRECTORY = dpump_dir1 DUMPFILE = expdat.dmp SCHEMAS = hr, sh, oe

Table Mode - цей режим призначений для вивантаження однієї або декількох таблиць бази даних, секцій та пов'язаних з ними об'єктів. Визначається параметром TABLES.
приклад:

expdp hr DIRECTORY = dpump_dir1 DUMPFILE = tables.dmp
TABLES = employees, jobs, departments


Tablespace Mode - в цьому режимі проводиться вивантаження об'єктів належать тільки конкретному табличному простору. Визначається параметром TABLESPACES.

expdp hr DIRECTORY = dpump_dir1 DUMPFILE = tbs.dmp
TABLESPACES = tbs_4, tbs_5, tbs_6

Утиліта Data Pump Import робить завантаження даних в цільову базу даних з файлу, створеного утилітою Data Pump Export. Виконується командою impdp, характеристики імпорту задаються в формі параметрів командного рядка або файлу параметрів. Режими імпорту - такі ж як і у експорту і визначаються однойменними параметрами.
Більшість параметрів Data Pump збігається з параметрами традиційних засобів exp і imp. Перелік всіх параметрів і їх призначення можна отримати за допомогою команд expdp help = y або impdp help = y.

Oracle Data Pump API представлений у вигляді вбудованого PL / SQL пакета DBMS_DATAPUMP. Він забезпечує можливість проводити операції експорту та імпорту безпосередньо з програми, при цьому можливе виконання як в синхронному, так і в асинхронному режимі. Підтримуються можливості по контролю над статусом процесів експорту / імпорту.


Приклад використання Data Pump API:


declare
v_xhandle number;
begin
--створити завдання на експорт
v_xhandle: = dbms_datapump.open (operation => 'EXPORT', job_mode => 'SCHEMA', job_name => 'MY_EXPORT');
--визначити dump-файл
dbms_datapump.add_file (handle => v_xhandle, filename => 'scott.dmp', directory => 'dump_dir', filetype => dbms_datapump.KU $ _FILE_TYPE_DUMP_FILE);
--задаємо log-файл
dbms_datapump.add_file (handle => v_xhandle, filename => 'scott_dmp.log', directory => 'dump_dir', filetype => dbms_datapump.KU $ _FILE_TYPE_LOG_FILE);
--запуск завдання
dbms_datapump.start_job (v_xhandle);
--знищення завдання
dbms_datapump.detach (v_xhandle);
end;

У висновку підведемо підсумки, Oracle Data Pump - це:
• розвинена технологія імпорту та експорту для СУБД Oracle Database;
• забезпечує високу швидкодію і масштабованість;
• містить потужний API для розробників програмного забезпечення;
• має багато розширених можливостей.

1. docs.oracle.com
2. oraclebi.ru

Використання Oracle Data Pump