ওরাকল ডাটাবেজের এর ডাটা এবং মেটাডাটা দ্রুত এক ডাটাবেজ থেকে অন্য ডাটাবেজে স্থানান্তর করার জন্য Oracle Data Pump ব্যাবহার করা হয়। ওরাকল ডাটাপাম্প ইউটিলিটি তৈরি হয়েছে মূলত তিনটি কম্পোনেন্ট এর উপর ভিত্তি করে, এক কামান্ড লাইন ক্লাইন্ট (expdp and impdp), দুই DBMS_DATAPUMP প্যাকেজ এবং তিন DBMS_METADATA প্যাকেজ। কামান্ড লাইন ক্লাইন্ট expdp হলো database export utility এবং impdp হলো database import utility. এই দুইটি কামান্ড লাইন ক্লাইন্ট DBMS_DATAPUMP এবং DBMS_METADATA প্যাকেজকে ব্যাবহার করে ডাটা ও মেটাডাটা এক্সপোর্ট ও ইম্পোর্ট করে থাকে।
ওরাকল ডাটা পাম্প ব্যাবহার করার আগে আমাদের একটা ডিরেক্টরির প্রয়োজন হবে। যেখানে আমাদের ডাম্প ফাইল ও লগ ফাইল জমা থাকবে। মজার বিষয় হলো ডাটাবেজ ইন্সটল করার সময় ওরাকল DATA_PUMP_DIR নামে একটা ডিরেক্টরি তৈরি করেই রাখে। আপনি চাইলে সেটাই ব্যাবহার করতে পারেন অথবা নিম্নের মতো করে তৈরি করে নেন।
CREATE DIRECTORY dummy_dir AS '/u02/data/';
ডিরেক্টরি রেডি এখন আমরা ডাটা এক্সপোর্ট করবো। চারটা লেভেলে ডাটা এক্সপোর্ট করা যায়। যথা- ডাটাবেজ লেভেল, স্কিমা লেভেল, টেবিল লেভেল এবং রো লেভেল। চলুন একটা একটা করে সবগুলো লেভেল উদাহরণ সহ দেখি –
১. ডাটাবেজ লেভেলঃ এই লেভেলে সম্পুর্ন ডাটাবেজ এক্সপোর্ট করা হয়। যেমন –
expdp directory=dummy_dir dumpfile=full_db.dmp logfile=full_db.log
কমান্ড প্রম্পট/টারমিনালে উপরের কোডটা রান করলে একটা ইউজার নেম এবং পাসওয়ার্ড চাইবে। এখন DBMS_DATAPUMP এক্সিকিউট করার পার্মিশন আছে এমন একটা ইউজার নেম এবং পাসওয়ার্ড দিবেন। অথবা sys এর পাসওয়ার্ড দিয়ে কন্টিনিউ করুন।
২. স্কিমা লেভেলঃ এই লেভেলে কোন একটা স্কিমা এক্সপোর্ট করা হয়। যেমন –
expdp directory=dummy_dir dumpfile=full_db.dmp logfile=full_db.log schemas='HR'
৩. টেবিল লেভেলঃ এই লেভেলে এক বা একাধিক টেবিল এক্সপোর্ট করা হয়। যেমন –
expdp directory=dummy_dir dumpfile=full_db.dmp logfile=full_db.log tables='HR.EMP','HR.JOBS'
৪. রো লেভেলঃ এই লেভেলে একটা টেবিলের প্রয়োজনীয়ও রো কে এক্সপোর্ট করা হয়। যেমন –
expdp directory=dummy_dir dumpfile=full_db.dmp logfile=full_db.log tables='HR.EMP' query=\"where deptno=10\"
প্যারামিটারঃ
Keyword | Description | Example |
directory | ডাম্পফাইল যে লোকেশনে সেভ হবে সেই ডিরেক্টরির নাম | directory=dummy_dir |
dumpfile | ডাম্প ফাইলের নাম | dumpfile=full_db.dmp |
logfile | লগ ফাইলের নাম | logfile=full_db.log |
schemas | যে স্কিমা এক্সপোর্ট করব তার নাম | schemas=hr |
tables | যে টেবিল এক্সপোর্ট করব তার নাম | tables=’EMP’ |
version | টার্গেট ডাটাবেজের ভার্সন নং, অর্থাৎ আপার বা লোয়ার ভার্সনের জন্য ডাটা এক্সপোর্ট করতে হলে এখানে বলে দিতে হবে। | VERSION=12 |
include | নির্দিস্ট অবজেক্ট এক্সপোর্ট করতে include অপশনে বলে দিতে হয়। তাহলে ঐ অবজেক্ট ও তার ডিপেন্ডেড ডাটা এক্সপোর্ট হবে। | include=TABLE:”IN (‘EMPLOYEES’, ‘DEPARTMENTS’)” |
exclude | কোন অবজেক্ট স্কিপ করতে চাইলে এখানে বলে দিতে হবে। | exclude=index,constraint,statistics |
ডাটা ইম্পোর্টঃ ডাটা ইম্পোর্টের আগে অবশ্যয় চেক করে নিবেন আপনার ডাম্পফাইল ও লগ ফাইল সংশ্লিষ্ট ডিরেক্টরিতে আছে কিনা। ফুল ডাটাবেজ এর ডাম্প ফাইল থেকে আপনি চাইলে শুধু স্কিমা/টেবিল/রো ইম্পোর্ট করতে পারবেন, অনুরুপ ভাবে স্কিমা ডাম্প থেকে শুধু টেবিল/রো এবং টেবিল ডাম্প থেকে শুধু প্রয়োজনীয় রো ইম্পোর্ট করা যাবে। চলুন কিছু উদাহরণ দেখি –
To import full database -
impdp directory=dummy_dir dumpfile=full_db.dmp logfile=full_db.log full=y
To import schema -
impdp directory=dummy_dir dumpfile=hr.dmp logfile=hr.log schemas=hr
To import table only -
impdp directory=dummy_dir dumpfile=hr.dmp logfile=hr.log schemas=hr tables='EMP'
প্যারামিটারঃ
Keyword | Description | Example |
directory | ডাম্পফাইল যে লোকেশনে আছে সেই ডিরেক্টরির নাম | directory=dummy_dir |
dumpfile | ডাম্প ফাইলের নাম | dumpfile=full_db.dmp |
logfile | লগ ফাইলের নাম | logfile=full_db.log |
schemas | যে স্কিমা ইম্পোর্ট করব তার নাম | schemas=hr |
tables | যে টেবিল ইম্পোর্ট করব তার নাম | tables=’EMP’ |
remap_tablespace | সোর্স ডাটাবেজ এর টেবিলস্পেস এবং টার্গেট ডাটাবেজ এর টেবিলস্পেস ভিন্ন হলে রিম্যাপ করে দিতে হবে। | remap_tablespace=USERS:HR |
remap_schema | সোর্স স্কিমা থেকে অন্য স্কিমায় ডাটা ইম্পোর্ট করতে হলে রিম্যাপ স্কিমাই বলে দিতে হবে। | remap_schema=HR:SCOTT |
remap_table | সোর্স টেবিল থেকে নিউ টেবিলে ডাটা ইম্পোর্ট করতে চাইলে বলে দিতে হবে এখানে। | remap_table=HR.EMP:SCOTT.EMP |
include | নির্দিস্ট অবজেক্ট ইম্পোর্ট করতে include অপশনে বলে দিতে হয়। তাহলে ঐ অবজেক্ট ও তার ডিপেন্ডেড ডাটা ইম্পোর্ট হবে। | include=TABLE:”IN (‘EMPLOYEES’, ‘DEPARTMENTS’)” |
exclude | কোন অবজেক্ট স্কিপ করতে চাইলে এখানে বলে দিতে হবে। | exclude=index,constraint,statistics |
আমরা যখন expdp অথবা impdp কমান্ড রান করি তখন ওরাকল ব্যাকগ্রাউন্ডে একটা জব ক্রিয়েট করে আর তা সাথে সাথে execute হয়। আমরা চাইলে dbms_datapump প্যাকেজ দিয়ে ম্যানুয়ালি জব ক্রিয়েট করতে পারি এবং পরে আমাদের সুবিধামত সময়ে রান করতে পারি। নিম্নে একটা উদাহরন দেওয়া হলো –
DECLARE
h1 number;
s varchar2(1000):=NULL;
errorvarchar varchar2(100):= 'ERROR';
tryGetStatus number := 0;
success_with_info EXCEPTION;
PRAGMA EXCEPTION_INIT(success_with_info, -31627);
BEGIN
h1 := dbms_datapump.open (
operation => 'EXPORT',
job_mode => 'SCHEMA',
job_name => 'EXP_SD_1-23_43_49',
version => 'COMPATIBLE'
);
tryGetStatus := 1;
dbms_datapump.add_file(
handle => h1,
filename => 'EXPDAT-20_02_2021.LOG',
directory => 'DATA_PUMP_DIR',
filetype => 3);
dbms_datapump.metadata_filter(
handle => h1,
name => 'SCHEMA_EXPR',
value => 'IN(''HR'')');
dbms_datapump.add_file(
handle => h1,
filename => 'EXPDAT%U-20_02_2021.DMP',
directory => 'DATA_PUMP_DIR',
filesize => '500M',
filetype => 1);
dbms_datapump.set_parameter(
handle => h1,
name => 'INCLUDE_METADATA',
value => 1);
dbms_datapump.start_job(
handle => h1,
skip_current => 0,
abort_step => 0);
dbms_datapump.detach(handle => h1);
errorvarchar := 'NO_ERROR';
EXCEPTION
WHEN OTHERS THEN
BEGIN
IF ((errorvarchar = 'ERROR')AND(tryGetStatus=1)) THEN
DBMS_DATAPUMP.DETACH(h1);
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
RAISE;
END;
এখানে মূলত কমান্ড লাইনে যে প্যারামিটার গুলো ব্যাবহার করেছি সেগুলই PL/SQL ব্লকে ব্যাবহার করে ডাটা এক্সপোর্ট করা হয়েছে। বিস্তারিত জানার জন্য ওরাকল ডকুমেন্টেশন দেখুন।
Good initiative
Keep it continue
Love you brother…
Free drawing lessons for beginners and professionals Drawing lessons
li auto l7
Thank you for every other wonderful article. Where else could anybody get that kind of info in such an ideal manner of writing? I have a presentation subsequent week, and I am at the search for such information.
В Подмосковье и Москве https://www.club4x4.ru/forum/viewtopic.php?f=17&t=42624&p=173154#p173154. г.Москва, Россия.
top cash advance 95191 Usually, people with complex credit crises apply for high risk loans.
led light diffuser film ferdinand bull moviefievel goes west moviesweet as pie movie cast
eagles sacks this season season 5 mrs maisel release datehalo tv series release dategun season for deer in indiana
vampirina season 4 emmanuelle arsan moviesreacher season 1 release datethe hating game movie release date
imdb the italian job the super mario bros. movie box officeblood n bone 2 full moviewhat alice forgot film
the challenge reunion season 38 when does the challenge season 39 startwhen is demon slayer season two come outmichelin premier ltx all seasonthey/ them movie
arrival movie ryan reynolds and dwayne the rock johnson moviemidnight full movieflorida lobster seasonabc christmas movies 2022