Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> डेटाबेस

Oracle 12c डेटा पंप में महारत: PDB निर्यात करना और नए प्रतिबंधों को नेविगेट करना

मूल रूप से ट्राइकोर द्वारा प्रकाशित: 6 जून, 2017

Oracle® डेटा पंप (expdp, impdp) डेटाबेस ऑब्जेक्ट को डेटाबेस के अंदर और बाहर निर्यात और आयात करने के लिए एक उपयोगिता है। इस दो-भाग ब्लॉग पोस्ट श्रृंखला के भाग 1 में Oracle Database 12c में मल्टीटेनेंट आर्किटेक्चर की शुरूआत और डेटा पंप का उपयोग करके डेटा निर्यात और आयात करने के तरीके पर चर्चा की गई थी। भाग 2 में बताया गया है कि केवल प्लगेबल डेटाबेस (PDB) का निर्यात कैसे लें और डेटा पंप PDB पर क्या प्रतिबंध लगाता है।

PDB का निर्यात लेना

कंटेनर डेटाबेस (CDB) के मामले में, वास्तविक डेटा अंतर्निहित PDB से संबंधित होता है, और प्रत्येक PDB क्लाइंट को नॉन-CDB (मानक Oracle डेटाबेस) के रूप में दिखाई देता है। इसलिए, PDB से ऑब्जेक्ट का निर्यात लेना समझ में आता है।

Oracle 12c डेटा पंप में महारत: PDB निर्यात करना और नए प्रतिबंधों को नेविगेट करना

छवि स्रोत: डेटा पंप आर्किटेक्चर

PDB के लिए डेटा पंप निर्यात का उपयोग नॉन-CDB डेटाबेस के लिए डेटा पंप निर्यात के उपयोग के समान है। PDB के लिए डेटा पंप निर्यात उपयोगिता का उपयोग करने में एकमात्र अंतर यह है कि जब आप निर्यात शुरू करते हैं तो निर्यात कमांड प्रॉम्प्ट में एक कनेक्ट आइडेंटिफायर, या ट्रांसपेरेंट नेटवर्क सब्सट्रेट (TNS) उपनाम का उपयोग करना होगा। यह चरण सुनिश्चित करता है कि आप किसी विशिष्ट PDB के लिए डेटा पंप निर्यात शुरू कर रहे हैं।

उदाहरण के लिए, आप PRODPDB1 नामक PDB से संबंधित उपयोगकर्ता ABBAS का निर्यात निम्न कमांड के साथ ले सकते हैं:

 [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 

ध्यान दें कि उपयोगकर्ता नाम पास करने वाली कमांड ने PRODPDB1 नामक PDB के लिए कनेक्ट आइडेंटिफायर भी निर्दिष्ट किया।

[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 पर डेटा पंप प्रतिबंध

यह ध्यान रखना महत्वपूर्ण है कि डेटा पंप आपको रूट कंटेनर या CDB के स्वामित्व वाली डायरेक्टरी का उपयोग आयात और निर्यात के लिए करने की अनुमति नहीं देता है। आप किसी भिन्न PDB के स्वामित्व वाली डायरेक्टरी का उपयोग भी नहीं कर सकते।

इसके बजाय, आपको 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 

साथ ही, आप डेटा पंप के साथ PDB को निर्यात या आयात करने के लिए डिफ़ॉल्ट डायरेक्टरी DATA_PUMP_DIR का उपयोग नहीं कर सकते। यह सीमा मौजूद है क्योंकि DATA_PUMP_DIR हमेशा रूट कंटेनर के स्वामित्व में होता है और इसके स्वामित्व को बदला नहीं जा सकता।

यदि आप PDB के अंदर डिफ़ॉल्ट DATA_PUMP_DIR बनाने का प्रयास करते हैं, तो कमांड निम्न त्रुटियां लौटाती है:

 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 

परिणामस्वरूप, डेटा पंप निर्यात या आयात करने के लिए PDB के लिए स्पष्ट रूप से एक डायरेक्टरी बनानी होगी।

निष्कर्ष

डेटा पंप उपयोगिता एक उन्नत निर्यात और आयात टूल है जिसे Oracle ने Oracle 10g के साथ पेश किया था। इस ब्लॉग पोस्ट श्रृंखला के भाग 1 और 2 में शामिल Oracle Database 12c में expdp संवर्द्धन का लाभ उठाकर आप इस उपयोगिता को अधिकतम कर सकते हैं।

कोई टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें।

संदर्भ

निम्न दस्तावेज़ का उपयोग इस ब्लॉग पोस्ट के लिए संदर्भ के रूप में किया गया था:

  • Oracle Database Utilities के लिए इस रिलीज़ में परिवर्तन

  1. ट्रांसपेरेंट डेटा एन्क्रिप्शन (TDE) के साथ अपने Oracle डेटाबेस को मजबूत करें ट्रांसपेरेंट डेटा एन्क्रिप्शन (TDE) के साथ अपने Oracle डेटाबेस को मजबूत करें

    यह ब्लॉग Oracle® डेटाबेस के भीतर संवेदनशील डेटा को सुरक्षित करने के लिए उन्नत सुरक्षा विकल्प का उपयोग करने के आवश्यक तत्वों को कवर करता है, जिसमें ट्रांसपेरेंट डेटा एन्क्रिप्शन (TDE) का उपयोग किया जाता है। यह सुविधा आपको डेटाबेस कॉलम को एन्क्रिप्ट करने और एन्क्रिप्शन कुंजियों को प्रबंधित करने में सक

  1. इष्टतम प्रदर्शन के लिए Oracle डेटाबेस सांख्यिकी को कैसे पुनर्स्थापित करें इष्टतम प्रदर्शन के लिए Oracle डेटाबेस सांख्यिकी को कैसे पुनर्स्थापित करें

    यह ब्लॉग पोस्ट यह पता लगाता है कि आप Oracle® डेटाबेस में सांख्यिकी को कब और कैसे पुनर्स्थापित कर सकते हैं। परिचय एक डेटाबेस प्रशासक (DBA) के रूप में, आप शायद अक्सर पाते हैं कि नई सांख्यिकी एकत्र करने से ऑप्टिमाइज़र सबऑप्टिमल एक्जीक्यूशन प्लान निष्पादित करता है। उन मामलों में, आप उस समय की सांख्यिकी

  1. 7 सरल चरणों में एक्सेल डेटाबेस बनाएं: एक शुरुआती मार्गदर्शिका 7 सरल चरणों में एक्सेल डेटाबेस बनाएं: एक शुरुआती मार्गदर्शिका

    नहीं जानते कि एक्सेल में एक साधारण डेटाबेस कैसे बनाएं? इस लेख में, हम आपको दिखाएंगे कि आप केवल 7 सरल चरणों में एक्सेल में डेटाबेस कैसे बना सकते हैं। क्या आप MS Access को डेटाबेस के रूप में उपयोग करने के लिए एक जटिल उपकरण पाते हैं? तो, एक्सेल ऐसा करने के लिए एक बेहतरीन उपकरण है। आइए तकनीक सीखें। निम्