मूल रूप से ट्राईकोर द्वारा प्रकाशित:6 जून, 2017
Oracle® डेटा पंप (expdp, impdp) डेटाबेस में और उसके पार डेटाबेस ऑब्जेक्ट को निर्यात और आयात करने के लिए एक उपयोगिता है। इस दो-भाग वाली ब्लॉग पोस्टरीज़ के भाग 1 में Oracleडेटाबेस 12c में मल्टीटेनेंट आर्किटेक्चर की शुरुआत और डेटा को निर्यात और आयात करने के लिए डेटा पंप का उपयोग करने के तरीके पर चर्चा की गई। भाग 2 में केवल प्लग करने योग्य डेटाबेस (पीडीबी) का निर्यात और पीडीबी पर डेटा पंप द्वारा लगाए गए प्रतिबंधों को शामिल किया गया है।
PDB का निर्यात लेना
कंटेनर डेटाबेस (सीडीबी) के मामले में, वास्तविक डेटा अंतर्निहित पीडीबी से संबंधित है, और प्रत्येक पीडीबी क्लाइंट को गैर-सीडीबी (मानक ओरेकल डेटाबेस) के रूप में दिखाई देता है। इसलिए, पीडीबी से वस्तुओं का निर्यात लेना समझ में आता है।
छवि स्रोत:डेटा पंपआर्किटेक्चर
पीडीबी के लिए डेटा पंप निर्यात का उपयोग करना गैर-सीडीबी डेटाबेस के लिए डेटा पंप निर्यात का उपयोग करने के समान है। पीडीबी के लिए डेटा पंप निर्यात उपयोगिता का उपयोग करने में एकमात्र अंतर यह है कि जब आप निर्यात शुरू करते हैं तो आपको निर्यात कमांड प्रॉम्प्ट में एक कनेक्ट पहचानकर्ता, या पारदर्शी नेटवर्क सब्सट्रेट (टीएनएस) उपनाम का उपयोग करना चाहिए। यह कदम सुनिश्चित करता है कि आप विशिष्ट पीडीबी के लिए डेटा पंप निर्यात शुरू कर रहे हैं।
उदाहरण के लिए, आप उपयोगकर्ता का निर्यात कर सकते हैंABBAS
PDB नाम से संबंधित PRODPDB1
निम्न आदेश के साथ:
[oracle@labserver ~]$ expdp directory=DP_PDB1 dumpfile=pdb1_abbas.dmp logfile=pdb1_abbas.log schemas=abbas
निम्न कोड ब्लॉक इस कमांड के लिए आउटपुट दिखाता है:
Export: Release 12.1.0.1.0 - Production on Fri Mar 27 00:08:09 2015
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
Username: sys@prodpdb1 as sysdba
Password:
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options
Starting "SYS"."SYS_EXPORT_SCHEMA_01": sys/********@prodpdb1 AS SYSDBA directory=DP_PDB1 dumpfile=pdb1_abbas.dmp logfile=pdb1_abbas.log schemas=abbas
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
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
. . exported "ABBAS"."TAB1" 67.85 KB 41 rows
Master table "SYS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:
/backup/exp/prodpdb1/pdb1_abbas.dmp
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Thu Mar 26 14:39:44 2015 elapsed 0 00:01:08
ध्यान दें कि उपयोगकर्ता नाम में पारित कमांड ने PDBनाम PRODPDB1
के लिए कनेक्ट पहचानकर्ता को भी निर्दिष्ट किया है ।
[oracle@labserver ~]$ expdp directory=DP_PDB1 dumpfile=pdb1_abbas.dmp logfile=pdb1_abbas.log schemas=abbas
Export: Release 12.1.0.1.0 - Production on Fri Mar 27 00:08:09 2015
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
Username: sys@prodpdb1 as sysdba
Password:
निम्नलिखित कोड ब्लॉक दिखाता है कि कनेक्ट पहचानकर्ता(prodpdb1
) PRODPDB1
. नाम के PDB का समाधान कर रहा है ।
[oracle@labserver ~]$ tnsping prodpdb1
TNS Ping Utility for Linux: Version 12.1.0.1.0 - Production on 27-MAR-2015 00:11:54
Copyright (c) 1997, 2013, Oracle. All rights reserved.
Used parameter files:
/app/oracle/db/12.1.0.1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = labserver.home.com)(PORT = 1525)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = prodpdb1)))
OK (10 msec)
पीडीबी पर डेटा पंप प्रतिबंध
यह ध्यान रखना महत्वपूर्ण है कि डेटा पंप आपको उस निर्देशिका का उपयोग करने की अनुमति नहीं देता है जो आयात और निर्यात के लिए रूट कंटेनर या सीडीबी के स्वामित्व में है। आप किसी अन्य PDB के स्वामित्व वाले का भी उपयोग नहीं कर सकते।
इसके बजाय, आपको पीडीबी के तहत एक निर्देशिका बनाने की जरूरत है। आपके लिए डेटा पंप निर्यात और आयात कार्यक्षमता का उपयोग करने के लिए PDB के पास निर्देशिका होनी चाहिए।
यदि आप किसी अन्य PDB या रूटकंटेनर से संबंधित निर्देशिका का उपयोग करने का प्रयास करते हैं, तो कमांड निम्न त्रुटियाँ देता है:
[oracle@labserver ~]$ expdp directory=DP_PDB2 dumpfile=pdb1_abbas.dmp logfile=pdb1_abbas.log schemas=abbas
Export: Release 12.1.0.1.0 - Production on Fri Mar 27 00:21:08 2015
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
Username: sys@prodpdb1 as sysdba
Password:
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics
and Real Application Testing options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-39087: directory name DP_PDB2 is invalid
साथ ही, आप डिफ़ॉल्ट निर्देशिका का उपयोग नहीं कर सकतेDATA_PUMP_DIR
डेटा पंप के साथ aPDB को निर्यात या आयात करने के लिए। यह सीमा मौजूद है क्योंकिDATA_PUMP_DIR
हमेशा रूट कंटेनर के स्वामित्व में होता है और इसके स्वामित्व को बदला नहीं जा सकता है।
यदि आप डिफ़ॉल्ट बनाने का प्रयास करते हैंDATA_PUMP_DIR
PDB के अंदर, कमांड निम्नलिखित त्रुटियाँ देता है:
sys@PRODPDB1> show con_name
CON_NAME
------------------------------
PRODPDB1
sys@PRODPDB1> create or replace directory DATA_PUMP_DIR as '/backup/exp/prodpdb1';
create or replace directory DATA_PUMP_DIR as '/backup/exp/prodpdb1'
*
ERROR at line 1:
ORA-65040: operation not allowed from within a pluggable database
नतीजतन, आपको डेटा पंप निर्यात या आयात करने के लिए पीडीबीइन क्रम में स्पष्ट रूप से एक निर्देशिका बनानी होगी।
निष्कर्ष
डेटा पंप उपयोगिता एक उन्नत निर्यात और आयात उपकरण है जिसे Oracle ने Oracle 10g के साथ पेश किया है। इस ब्लॉग पोस्ट श्रृंखला के भाग 1 और 2 में शामिल OracleDatabase 12c में expdp एन्हांसमेंट का लाभ उठाने से आपको इस उपयोगिता को अधिकतम करने में मदद मिलती है।
कोई टिप्पणी करने या प्रश्न पूछने के लिए प्रतिक्रिया टैब का उपयोग करें।
संदर्भ
इस ब्लॉग पोस्ट के संदर्भ के रूप में निम्नलिखित दस्तावेज़ का उपयोग किया गया था:
- Oracle DatabaseUtilities के लिए इस रिलीज़ में बदलाव