data pump در محیط RAC
در محیط RAC، این امکان وجود دارد تا از چند instance برای اجرای data pump بهره گرفته شود. برای این کار باید شرایط زیر رعایت شود:
1. دایرکتوری که فایل دامپ قرار است در آنجا قرار گیرد، در فضای مشترک بین نودها ایجاد شود.
2. پارامتر cluster به y و پارامتر parallel به مقداری بیشتر از یک تنظیم شود.
3. Logها در مسیر local مربوط به نودها ایجاد شوند.
برای این کار، ابتدا پوشه را در فضای مشترک ایجاد می کنیم.
SQL> create directory usef as '+DATA01';
Directory created.
دستور زیر همه نکات مذکور را رعایت می کند و علاوه بر آن، با اضافه کردن %U به انتهای dumpfile، می توانیم تکثری در تعداد فایلهای دامپ ایجاد کنیم.
[oracle@rac1 ~]$ expdp usef schemas=usef directory=usef parallel=2 cluster=y logfile=data_pump_dir:expusef.log dumpfile=’usef%U.dmp’
Starting “USEF”.”SYS_EXPORT_SCHEMA_01”: usef/******** schemas=usef directory=usef parallel=2 cluster=y logfile=data_pump_dir:expusef.log dumpfile=usef%U.dmp
Estimate in progress using BLOCKS method…
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 64 KB
Processing object type SCHEMA_EXPORT/USER
همانطور که دستور زیر نشان می دهد، در حین اجرای دستور بالا، نود دوم هم پروسسی را برای data pump استارت کرده است.
SQL> select inst_id, session_type from dba_datapump_sessions;
INST_ID SESSION_TYPE
---------- --------------
1 DBMS_DATAPUMP
1 MASTER
1 WORKER
2 WORKER
حال در صورتی که یکی از نودها به هر دلیلی shutdown شود، عملیات با خطا متوقف می شود. در مثال ما، instance دوم shutdown شده است و عملیات data pump در نود اول با خطا متوقف شده است:
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
. . exported “USEF”.”USEF_PARENT” 16.90 KB 1000 rows
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Job “USEF”.”SYS_EXPORT_SCHEMA_01” stopped due to fatal error
at Sun Dec 13 15:02:39 2015 elapsed 0 00:01:32
با توجه به ویژگی که data pump در محیط RAC دارد، می توانیم آن را دوباره استارت کنیم. از دستورات زیر برای restart آن استفاده می کنیم:
[oracle@rac1 ~]$ expdp usef ATTACH=SYS_EXPORT_SCHEMA_01
Job: SYS_EXPORT_SCHEMA_01
Owner: USEF
Operation: EXPORT
Creator Privs: TRUE
GUID: 26C6E3D2F69F7802E0534738A8C0CC37
Start Time: Sunday, 13 December, 2015 15:03:52
Mode: SCHEMA
Instance: rac1
Max Parallelism: 2
EXPORT Job Parameters:
Parameter Name Parameter Value:
CLIENT_COMMAND usef/******** schemas=usef directory=usef parallel=2 cluster=y logfile=data_pump_dir:expusef.log dumpfile=usef%U.dmp
State: IDLING
Bytes Processed: 17,312
Percent Done: 99
Current Parallelism: 2
Job Error Count: 0
Dump File: +DATA01/usef%u.dmp
Dump File: +DATA01/usef01.dmp
bytes written: 4,096
Dump File: +DATA01/usef02.dmp
bytes written: 24,576
Export> START_JOB
Export> continue_client
Job SYS_EXPORT_SCHEMA_01 has been reopened at Sun Dec 13 15:03:53 2015
Restarting "USEF"."SYS_EXPORT_SCHEMA_01": usef/******** schemas=usef directory=usef parallel=2 cluster=y logfile=data_pump_dir:expusef.log dumpfile=usef%U.dmp
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Master table "USEF"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for USEF.SYS_EXPORT_SCHEMA_01 is:
+DATA01/usef01.dmp
+DATA01/usef02.dmp
Job "USEF"."SYS_EXPORT_SCHEMA_01" successfully completed at Sun Dec 13 15:06:33 2015 elapsed 0 00:02:42
- ۹۴/۰۹/۲۲