কম্পিউটার টিউটোরিয়াল

Oracle 12c Data Pump মাস্টার করুন: PDB এক্সপোর্ট এবং নতুন সীমাবদ্ধতা নেভিগেট করা

মূলভাবে TriCore দ্বারা প্রকাশিত: জুন ৬, ২০১৭

Oracle® Data Pump (expdp, impdp) একটি ইউটিলিটি ডাটাবেস অবজেক্ট এক্সপোর্ট এবং ইম্পোর্ট করার জন্য ডাটাবেসের ভিতরে এবং ডাটাবেস জুড়ে। এই দুই পর্বের ব্লগ পোস্ট সিরিজের প্রথম পর্বে Oracle Database 12c-এ মাল্টিটেন্যান্ট আর্কিটেকচারের পরিচয় এবং Data Pump ব্যবহার করে ডেটা এক্সপোর্ট/ইম্পোর্ট করার পদ্ধতি আলোচনা করা হয়েছিল। দ্বিতীয় পর্বে শুধু প্লগগেবল ডাটাবেস (PDB) এক্সপোর্ট लेने এবং Data Pump-এর PDB-এ সীমাবদ্ধতা কভার করা হয়েছে।

PDB-এর এক্সপোর্ট নেওয়া

একটি কন্টেইনার ডাটাবেস (CDB) এর ক্ষেত্রে, আসল ডেটা অন্তর্নিহিত PDB-এ থাকে, এবং প্রতিটি PDB ক্লায়েন্টের কাছে একটি non-CDB (স্ট্যান্ডার্ড Oracle ডাটাবেস) হিসেবে দিয়ে থাকে। তাই PDB থেকে অবজেক্ট এক্সপোর্ট নেওয়া যৌক্তিক।

Oracle 12c Data Pump মাস্টার করুন: PDB এক্সপোর্ট এবং নতুন সীমাবদ্ধতা নেভিগেট করা

Image source: Data Pump architecture

PDB-এর জন্য Data Pump এক্সপোর্ট ব্যবহার করা non-CDB ডাটাবেসের জন্য Data Pump এক্সপোর্টের সাথে একই। একমাত্র পার্থক্য হলো PDB-এর জন্য Data Pump এক্সপোর্ট ইউটিলিটি ব্যবহার করার সময় আপনাকে এক্সপোর্ট কমান্ড প্রম্পটে একটি কানেক্ট আইডেন্টিফায়ার, বা Transparent Network Substrate (TNS) এলিয়াস ব্যবহার করতে হবে এক্সপোর্ট শুরু করার সময়। এই ধাপ নিশ্চিত করে যে আপনি একটি নির্দিষ্ট PDB-এর জন্য Data Pump এক্সপোর্ট শুরু করছেন।

উদাহরণস্বরূপ, আপনি 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

নোট করুন যে ইউজার নাম পাস করা কমান্ডটিও 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) PDB PRODPDB1-কে রিসলভ করছে।

[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-এ Data Pump সীমাবদ্ধতা

গুরুত্বপূর্ণ যে Data Pump আপনাকে রুট কন্টেইনার বা CDB-এর स्वামিত্ব वाले ডিরেক্টরি ব্যবহার করতে দেয় না ইম্পোর্ট এবং এক্সপোর্টের জন্য। আপনি একটি ডিরেক্টরি ব্যবহার করতে পারবেন না যেটি অন্য একটি PDB-এর স্বামিত্বে।

বদলে, আপনাকে PDB-এর অধীনে একটি ডিরেক্টরি তৈরি করতে হবে। PDB ডিরেক্টরির মালিক হতে হবে Data Pump এক্সপোর্ট এবং ইম্পোর্ট ফাংশনালিটি ব্যবহার করার জন্য।

আপনি যদি অন্য 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 ব্যবহার করতে পারবেন না PDB এক্সপোর্ট বা ইম্পোর্ট করার জন্য Data Pump দিয়ে। এই সীমাবদ্ধতা আছে কারণ 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

ফলস্বরূপ, আপনাকে সবসময় একটি PDB-এর জন্য এক্সপ্লিসিটলি একটি ডিরেক্টরি তৈরি করতে হবে Data Pump এক্সপোর্ট বা ইম্পোর্ট পারফর্ম করার জন্য।

উপসংহার

Data Pump ইউটিলিটি একটি উন্নত এক্সপোর্ট এবং ইম্পোর্ট টুল যা Oracle ১০g-এ পরিচয় করিয়েছিল। এই ব্লগ পোস্ট সিরিজের পর্ব ১ এবং ২-এ কভার করা Oracle Database 12c-এ expdp এর উন্নতিগুলো আপনাকে এই ইউটিলিটি সর্বোচ্চ wykorzyst করতে সাহায্য করবে।

Feedback ট্যাব ব্যবহার করে যেকোনো মন্তব্য বা প্রশ্ন করুন।

রেফারেন্স

নিচের ডকুমেন্টটি এই ব্লগ পোস্টের জন্য রেফারেন্স হিসেবে ব্যবহার করা হয়েছে:

  • Changes in This Release for Oracle Database Utilities
  1. Oracle EBS R12-কে ট্রান্সপারেন্ট ডেটা এনক্রিপশন (TDE) দিয়ে সুরক্ষিত করুন

  2. Transparent Data Encryption (TDE) দিয়ে আপনার Oracle ডেটাবেস কুঁড়ে দিন

  3. Oracle ডেটাবেস Статистиক্স পুনরুদ্ধার করে সর্বোচ্চ পারফরম্যান্স পেতে

  4. এক্সেল ডেটাবেস তৈরি করুন ৭ সহজ ধাপে: আরম্ভিকের গাইড