কীভাবে এক্সপিডিপি এবং ইমপিডিপি কমান্ড ব্যবহার করে ডেটা স্থানান্তর করবেন?


29

আমি একটি ওরাকল নুব, এবং আমার উদ্দেশ্য হ'ল ওরাকল ডাটাবেসের মধ্যে সমস্ত স্কিমা থেকে অন্য স্কিমাতে সমস্ত ডেটা এবং মেটাডেটা স্থানান্তর করা। আমি ডেটাপাম্প expdpএবং impdpকমান্ড ব্যবহার করার পরিকল্পনা করছি । এ সম্পর্কে আমার প্রশ্ন রয়েছে:

  • আমি কি ব্যবহারকারী ছাড়া একটি লক্ষ্য স্কিমা তৈরি করতে পারি বা আমাকে প্রথমে একটি ব্যবহারকারী তৈরি করা উচিত (যা স্কিমাও তৈরি করে)?
  • আমি নির্বাহ করতে পারেন expdpএবং impdpSYS (যেমন sysdba) অ্যাকাউন্ট ব্যবহার করে কমান্ডের? এটি কি পছন্দসই পদ্ধতি?
  • এই বিবৃতিটি কোনও স্কিমা থেকে সমস্ত অবজেক্ট (ডেটা এবং মেটাডেটা) নেবে এবং এগুলিকে আলাদা স্কিমায় সরিয়ে দেবে?

    expdp \"/ as sysdba\" schemas=<schemaname> directory=dumpdir dumpfile=<schemaname>.dmp logfile=expdp_<schemaname>.log  

    সুতরাং লক্ষ্য স্কিমা impdpকি কমান্ডের পরে উত্স স্কিমাটির সঠিক কপি ?

উত্তর:


31

impdp ব্যবহারকারী এটি উপস্থিত না থাকলে এটি তৈরি করবে, সুতরাং আপনি যা চান তা না হলে আপনার এটি নিয়ে চিন্তা করার দরকার নেই।

চলুন impdbবা expdpহিসাবে চালান না sysdba, কেবল তখনই করুন যদি ওরাকল সমর্থনটি নির্দিষ্ট পরিস্থিতিতে এটির জন্য অনুরোধ করে। তার জন্য একটি সাধারণ ব্যবহারকারী ব্যবহার করুন - dbaউদাহরণস্বরূপ ভূমিকাটি মঞ্জুর করা হয়েছে এমন এক । ( [IMPORT|EXPORT]_FULL_DATABASEবিশেষত এই ধরণের জিনিসটির জন্য বিশেষাধিকার রয়েছে, আপনাকে ওরাকল ডিরেক্টরি ডিরেক্টরিতেও অ্যাক্সেস দিতে হবে))

একটি সম্পূর্ণ স্কিমা রফতানি (মেটাডেটা এবং বিষয়বস্তু) অবশ্যই দেখতে পাবেন:

expdp user/pass schemas=<schemaname> directory=dumpdir \
      dumpfile=<schemaname>.dmp \
      logfile=expdp_<schemaname>.log

আপনি যদি অন্য কোনও ব্যবহারকারী / স্কিমাতে আমদানি করতে চান (লক্ষ্য ডাটাবেস উত্স হিসাবে একই হতে পারে), আপনি ব্যবহার করতে পারেন:

impdp user/pass schemas=schema1 directory=dumpdir \
      remap_schema=schema1:schema2 \
      dumpfile=schema1.dmp \
      logfile=impdp_schema2.log

আপনি যদি একটি সম্পূর্ণ আমদানি চান না, আপনি ডেটা এবং মেটাডেটা উভয়ই কিছু ফিল্টার সেট করতে পারেন। আমদানি অপারেশন চলাকালীন ফিল্টারিং দেখুন ।

উপযোগিতা গাইড সমস্ত বিবরণ আছে, আমি দৃঢ়ভাবে অন্তত পড়া ওভারভিউ অংশ সুপারিশ।


2

কাটা টেবিলগুলি আমদানির জন্য, আপনি কেবলমাত্র টেবিলটিতে ডেটা আমদানি করতে চান:

impdp user/pass TABLES=dept DIRECTORY=TEST_dir dumpfile=TEST.dmp logfile=expdpTEST.log TABLE_EXISTS_ACTION=REPLACE

আমার টেবিলের উপরে deptযা আমি আমদানি করতে চাই। আমি আগে এটি কেটে ফেলেছি। যেটি ডাম্পফাইল TEST.dmpএবং logfileযা expdpTEST.logআমি চাই কেবলমাত্র ডেটা আমদানি করা হোক (টেবিলের কাঠামো একই হবে তাই আমরা প্যারামিটারটি ব্যবহার করি TABLE_EXISTS_ACTION)।

উদাহরণস্বরূপ empএবং যদি আপনি 2 টি টেবিলগুলি কেটে ফেলেছেন এবং deptএবং empসারণীতে dept_idবিদেশী কী হিসাবে রয়েছে , তবে আমদানির সময় ত্রুটিগুলি এড়াতে আপনাকে deptপ্রথমে টেবিলটি এবং তারপর empসারণিটি আমদানি করতে হবে।

আরও তথ্য http://satya-dba.blogspot.in/2009/05/datapump.html

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.