আমি কি ডিটাচ / অনুলিপি / সংযুক্তি ব্যবহার করে বা ব্যাকআপ-রিস্টোর-রিপ্লে ব্যবহার করে ডেটা মাইগ্রেট করব?


17

আমি ডাটাবেস ফাইলগুলি একটি নতুন সান (পুরানো সান থেকে) এ স্থানান্তরিত করতে চলেছি এটিকে বাস্তবায়নের জন্য আমার কাছে বেশ কয়েকটি বিকল্প রয়েছে। (1) এটি প্রস্তাবিত হয়েছিল যে আমি সার্ভারে একটি নতুন ডাটাবেসে একটি সম্পূর্ণ ব্যাকআপ পুনরুদ্ধার করার স্তরের সন্ধান করব। তবে, (২) আমার আসল পরিকল্পনাটি ছিল পুরানো এসএএন থেকে নতুন এসএএন-তে ফাইলগুলি অনুলিপি করে এবং তারপরে ডাটাবেসটি পুনরায় সংযুক্ত করে copy

আমার অন্ত্রে আমাকে বলে যে আমি বরং বিচ্ছিন্ন, অনুলিপি এবং সংযুক্তি যেহেতু এটি আরও ব্যর্থ-নিরাপদ বলে মনে হচ্ছে, তবে এটি আমার নির্লজ্জতা হতে পারে। আমি কোনও লেনদেন মিস করতে চাই না বা ডাটাবেসটির নাম পরিবর্তনের প্রক্রিয়ায় কোনওভাবে "কিছু ভাঙ্গ"।

আমার অনুমান আমার প্রশ্নটি কি আমি আমার সন্দিহানতা বেকআপ-রিস্টোর-রিপ্লে বিকল্পটিতে ন্যায়সঙ্গত কিনা এবং এই বিকল্পের অন্যান্য যোগ্যতা বা ঝুঁকিগুলি কী?

উত্তর:


16

ব্যক্তিগতভাবে, আমি বিচ্ছিন্নকরণ / সংযুক্তি প্রক্রিয়া এড়াতে চাই। বিশেষত এসকিউএল সার্ভার 2000 এ, আমি কেবল বিশ্বাস করি না যে আপনি সর্বদা সার্ভারটি ফিরিয়ে আনবেন এবং এই ফাইলগুলি সংযুক্ত করতে সক্ষম হবেন। আমি প্রচুর গল্প শুনেছি যেখানে এটি পরিষ্কারভাবে ঘটেনি - কেবলমাত্র আপনার কাছে একটি পরিকল্পনা বি রয়েছে তাই পরিকল্পনাটি স্বয়ংক্রিয়ভাবে বোধগম্য হয় না।

ব্যাকআপ / পুনরুদ্ধার সহ, আপনার প্ল্যান বি তে যাওয়ার ঝুঁকি নেই If যদি ব্যাকআপ ব্যর্থ হয় তবে আপনার ডাটাবেসটি এখনও আপ। পুনরুদ্ধার ব্যর্থ হলে, আপনার পুরাতন ডাটাবেসটি এখনও আপ। উভয় ক্ষেত্রেই আপনি মূল ডাটাবেসের ক্রিয়াকলাপ পুনরুদ্ধার করতে পারেন এবং পরে পরিকল্পনায় আবার ঘুরে আসতে পারেন। এসকিউএল সার্ভার এবং / অথবা বিচ্ছিন্নকরণ বন্ধ করার পরে এখানে অতিরিক্ত সুরক্ষা ছাড়াও এর অর্থ আপনি ব্যাকআপ / পুনরুদ্ধার পদ্ধতিটি (আপনার কাছে বর্তমানে ব্যাকআপগুলি সঞ্চালনের জন্য জায়গা রয়েছে এবং পরীক্ষা করার জন্য অন্য একটি উদাহরণ রয়েছে বলে ধরে নেওয়া যায়) পরীক্ষা করতে পারবেন পুনঃস্থাপন)। আপনি ডেটাবেসগুলি বিচ্ছিন্ন না করে বা এসকিউএল সার্ভারটি বন্ধ না করেই সত্যই আলাদা করার পদ্ধতির পরীক্ষা করতে পারবেন না, এবং সঠিক রক্ষণাবেক্ষণ উইন্ডোর বাইরে করা শক্ত tough এবং পরিশেষে, অন্যান্য পদ্ধতির সাহায্যে আপনি এসকিউএল সার্ভারটি বিচ্ছিন্ন না করে বা নামিয়ে না দেওয়া পর্যন্ত আপনি ফাইলগুলি অনুলিপি করা শুরু করতে পারবেন না।

এসকিউএল-সার্ভার পদ্ধতির আন্ডার-থেকে-ড্রাইভ-আউট-এর চেয়ে আরও একটি সুবিধা: ব্যাকআপ / পুনরুদ্ধার করে আপনি বিভিন্ন ফাইলগুলিকে আগের ড্রাইভের অক্ষরে সরিয়ে নিতে পারবেন। উদাহরণস্বরূপ যখন আমরা একটি নতুন এসএএন-তে স্থানান্তরিত হয়েছিলাম, তখন আমরা আরও বেশি পরিমাণে রাখতে সক্ষম হয়েছি, সুতরাং আমরা টেম্পডবিকে টি: \ এ স্থানান্তরিত করতে পারি (যা আগে ছিল না), কিছু ডেটা এবং লগ ফাইলগুলিকে নতুন ড্রাইভ অক্ষরে ইত্যাদি log আমাদের যে নতুন I / O ক্ষমতা ছিল তা আরও ভালভাবে ব্যবহার করতে। আপনি যদি কেবল এসকিউএল সার্ভারটি বন্ধ করে থাকেন এবং তারপরে ডিস্কগুলি সরিয়ে ফেলেন, আপনার একই ড্রাইভ অক্ষর এবং একই সংখ্যক ভলিউম থাকা দরকার।


7

সান পুনরুদ্ধার এবং মাইগ্রেশনগুলির কারণে আমি প্রায় অবিচ্ছিন্নভাবে ডাটাবেসগুলি সরিয়ে নিয়েছিলাম।

ধরে নিই যে আপনি একবারে পুরো সার্ভারটি চালাচ্ছেন, আমি আপনার পথ # 2 এর মতো কিছু নিয়ে যাব। (যদি আপনি একবারে একটি করে ডাটাবেস সরিয়ে নিয়ে যাচ্ছেন এবং শেষ পর্যন্ত কোনও সার্ভারে প্রতিটি ডাটাবেস করে থাকেন তবে এটি আরও সমস্যাযুক্ত হবে যেহেতু আপনাকে ফাইলগুলিতে পাথ পরিবর্তন করতে হবে))

মনে রাখবেন যে "একক_ ব্যবহারকারী" এর অর্থ আপনার প্রয়োজন নয়। আপনি একটি ডাটাবেস ডিবিসিসি চেকডিবির কাছে যেতে পারেন এবং কেউ ইতিমধ্যে সেখানে রয়েছেন বলে প্রবেশ করতে পারবেন না। একটি স্ক্রিপ্ট প্রস্তুত করুন যা আপনি "প্রত্যেককে কিন্তু আপনি" কে একটি ডেটাবেস থেকে বুট করতে এবং চালিত জায়গায় রেখে যেতে পারেন। নোট করুন যে এসকিউএল 2000 এর আরও আধুনিক সংস্করণগুলির মতো বৈশিষ্ট্যগুলি "সবাইকে আউট রাখুন" নেই।

একটি পুরানো কৌশল হ'ল এসকিউএল সার্ভার পরিষেবাটি বিরতি দেওয়া। এটি নতুন লগইনগুলিকে প্রতিরোধ করবে, তবে যে কেউ ইতিমধ্যে সংযুক্ত রয়েছে তারা যথারীতি চালিয়ে যেতে পারে। সুতরাং: একটি এসএসএমএস উইন্ডোটির মাধ্যমে সংযুক্ত করুন যাতে আপনি কাজ করতে পারেন, তারপরে পরিষেবাটি বিরতি দিন, তারপর অনাকাঙ্ক্ষিত সংযোগগুলি সরিয়ে ফেলুন, এসএসএমএস কমান্ড উইন্ডোর মাধ্যমে আপনার কাজটি করুন (জিইউআই নয়, এটি প্রচুর সংযোগ তৈরি করে এবং বিরতি দেয়) এবং তারপরে বিরতি দিন সেবা. সতর্কতা: আমি নিশ্চিত না যে এটি একটি ক্লাস্টারে কীভাবে খেলবে। এটি ব্যর্থ হতে পারে।

আপনি নিজের কাজ শেষ না করা পর্যন্ত সমস্ত অ্যাপ ব্যবহারকারীদের একটি সার্ভার থেকে দূরে রাখার উপায় থাকা সহজ। অন্যথায়, আপনি যখন কিছু করার চেষ্টা করছেন তখন সংযোগগুলি পপআপ শুরু করতে পারে, যা সংস্থানগুলি এবং / অথবা আস্তে বাড়ে। আমি অতীতে নীচের পদ্ধতিগুলি ব্যবহার করেছি, যথাযথ পরিস্থিতির উপর নির্ভর করে: অ্যাপ্লিকেশন সার্ভারটি বন্ধ করে দেওয়া (ডি) ALTER DATABASE এর ব্যবহার .. সেট করুন রেজিস্ট্রিট ডিউসার (যদি অ্যাপ্লিকেশন অ্যাকাউন্টগুলি db_owner, sysadmin বা dbcreator এর ভূমিকা থাকে তবে সমস্যা)। ) ব্যবহারকারীদের জানাতে যে রবিবার সকালে মত কিছু নির্দিষ্ট সময়ে সিস্টেমটি অফলাইন থাকবে। (এটি "সত্যিকারের" 24x7 পরিবেশে কাজ করবে না)) অ্যাপ্লিকেশন সার্ভার বা ব্যবহারকারীদের মুখোমুখি এনআইসি আনপ্লাগিং। (এই ক্ষেত্রে, আমি কেবলমাত্র প্রশাসক-কেবল নেটওয়ার্কে বা আইএলও-এর মাধ্যমে সংযুক্ত অন্য একটি এনআইসি-এর মাধ্যমে প্রবেশ করতে পারি))

বিপুল সংখ্যক ডাটাবেস আলাদা করা এবং সেগুলি পুনরায় সংযুক্ত করা অনেক কাজ হতে পারে। যদি আপনি এটি করেন তবে নিশ্চিত হয়ে নিন যে আপনার "সংযুক্তি" স্ক্রিপ্টটি আগে লেখা আছে।

এসকিউএল সার্ভারটি থামানো, সমস্ত কিছু অনুলিপি করা, ড্রাইভের অক্ষর পরিবর্তন করা এবং এসকিউএল সার্ভার শুরু করার প্রচুর সাফল্য পেয়েছি। কোনও বিচ্ছিন্নতা / সংযুক্তি নেই। যতক্ষণ এসকিউএল সার্ভার বন্ধ থাকে এবং আপনি ফাইলগুলি অনুলিপি করছেন (মোভিং নয়) ততক্ষণ আপনি সিস্টেম ডেটাবেসগুলি সরিয়ে নিলেও আপনি খুব বেশি সমস্যায় পড়তে পারবেন না। যেহেতু পাথগুলি একই, তাই এসকিউএল সার্ভার উপলব্ধ ছিল না যে পরিষেবাটি বন্ধ থাকাকালীন কোনও পরিবর্তন হয়েছে। কেবলমাত্র নিশ্চিত হয়ে নিন যে আপনি ড্রাইভের অক্ষরগুলি সঠিক ভলিউমের দিকে নির্দেশ করেছেন বা জিনিসগুলি আপনার পক্ষে খারাপ হবে।

আমার সবচেয়ে ঘন ঘন সমস্যাটি ফাইল ডিরেক্টরিতে এসিএলগুলি সঠিকভাবে না পাওয়াই ছিল। SQL সার্ভার আরো আধুনিক সংস্করণ সেটিং এ আরও ভাল হয় শুধু যে অনুমতিগুলি পরিষেবা অ্যাকাউন্ট চাহিদা পুরোনো সংস্করণগুলি যখন কম ব্যস্তবাগীশ বলে মনে হচ্ছে। আপনি যদি এসিএল সেট করতে ভুলে যান এবং পরিষেবা অ্যাকাউন্টটি স্থানীয় প্রশাসক না হয় (আমি এটির প্রস্তাব দিই না), উদাহরণটি শুরু হওয়ার পরে এক বা একাধিক ডাটাবেস খুলতে পারে না। আতঙ্কিত হবেন না, কেবল এসিএলগুলি পরিবর্তন করুন এবং ডেটাবেস সংযুক্ত করুন।

আমি এই ধরণের কাজ করতে সাধারণত রবোকপি ব্যবহার করি। এসিএল সংরক্ষণের জন্য একটি কমান্ড লাইন সুইচ রয়েছে।

সিআরসি গণনা / যাচাইকরণ ব্যবহার করা কোনও খারাপ ধারণা নয়, তবে আমি এটি কখনও করিনি। যখন ডাটাবেসগুলি ফিরে আসে, আমি তাদের সকলের উপর CHECKDB () চালাই। আমি কোনও রক্ষণাবেক্ষণের কাজটি নিজে হাতে লাথি মারার পরিবর্তে এই সময়ের জন্য সাধারণত একটি স্ক্রিপ্ট প্রস্তুত করব। এইভাবে, আমি একটি বৃহত ডাটাবেস যাচাই করতে কয়েক মিনিট বা ঘন্টা সময় নিতে পারে তা চেক করার আগে প্রথমে বেশ কয়েকটি ছোট ডাটাবেস চেক করতে পারি। আমি সন্দেহ করি যে কোনও সিআরসি চেক (বা একটি রেডগেট ডেটা তুলনা সরঞ্জাম) এমন কিছু খুঁজে পাবে যা CHECKDB () মিস করবে এবং যদি এটি এসকিউএল সার্ভার না করে তবে এটি ঠিক করতে সক্ষম হবে না।

আমি ফাইলগুলি অনুলিপি করার পরে, তবে ইনস্ট্যান্সটি পুনরায় চালু করার আগে, আমি গিয়ে ফোল্ডারের একটির নাম পরিবর্তন করে ওএলডি ফোল্ডারগুলির ফাইলপথটি সামান্য পরিবর্তন করব। এটি "ওফ্সের বিরুদ্ধে একটি অতিরিক্ত চেক, সার্ভারটি এখনও পুরানো ফাইলগুলির দিকে ইঙ্গিত করছে" সমস্যার।

পুরানো ফাইলগুলি ফেলে দেওয়ার এবং পুরাতন স্টোরেজে জায়গা পুনরুদ্ধার করার তাগিদে হবেন না এবং আপনার পুরো ব্যাকআপগুলি সফলভাবে চলেছে কিনা ডাবল নিশ্চিত করুন। সেই ব্যাকআপগুলির বেশ কয়েকটিকে অন্য কোথাও পুনরুদ্ধার করুন Test একবার আপনার ভাল চেকডিবি () রান এবং ভাল পূর্ণ ব্যাকআপ হয়ে গেলে আপনি সেই পুরানো স্টোরেজটি বাদ দিয়ে বাম দিকের অংশটি বন্ধ করে দেওয়ার বিষয়ে ভাবতে পারেন।

এই মাইগ্রেশনগুলির সাথে আমার সবচেয়ে খারাপ সমস্যাগুলি হয়েছিল আমার মনে হয়েছিল যে আমার কাজ শেষ হয়ে গেছে। এটি সান প্রশাসক আমাকে বলবে যে কিছু ঘটেছে এবং আমার ফাইল সিস্টেমগুলি স্ক্র্যাম্বল হয়েছে। (প্রতিলিপি, পুনরায় ফর্ম্যাট করা, আবার অনুলিপি করা হয়েছে।)

আর একটি মজাদার সমস্যা হ'ল SAN কোনও আপাত কারণ ছাড়াই ধীর হচ্ছে। আপনি যদি ভাবেন যে আপনার ডেটা অনুলিপি করতে 10 ঘন্টা সময় লাগবে এবং আপনি 9 ঘন্টা নম্বরে 30% অনুলিপি করেছেন, আপনার সমস্যা আছে। স্থানান্তর সময়গুলি দেখুন (রোবোকপি% অনুলিপি করে এবং সময়ের অনুমান দেয়, বা আপনি পারফমন ব্যবহার করতে পারেন) এবং যদি কিছু খারাপ হয়ে যায় তবে ফ্যালব্যাক পরিকল্পনা করুন।

এছাড়াও, আমি নিশ্চিত নই যে আপনার খণ্ডগুলি আপনার জন্য ভাগ করা হবে কিনা তবে আপনি নিশ্চিত হতে পারেন যে তারা 1 এমবি অফসেট ব্যবহার করছে। উইন্ডোজ সার্ভার 2008 এবং আরও ভাল, এটি কোনও সমস্যা হওয়া উচিত নয়। পুরানো ওএসে, এটি। এটিতে এক টন গুগলেবল স্টাফ রয়েছে এবং আপনার স্টোরেজ ছেলেদের এটি সম্পর্কে জানা উচিত, তবে আমি জিজ্ঞাসা করব।


2

প্রথমে আমি ডেটা মুভিং পরিচালনা করতে স্টোরেজ অ্যারের বৈশিষ্ট্যটি ব্যবহার করে কেবল বিকল্পটি দেখতে চাই। যদি এটি উপলব্ধ না হয় কারণ বিক্রেতা এটি সমর্থন করে না, আপনি এটি কিনেছিলেন না, বা সান অ্যাডমিন কীভাবে এটি করতে জানেন তা ...

তাহলে আমি কেবল নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করব।

  1. এসকিউএল সার্ভারে নতুন স্টোরেজ উপস্থাপন করুন।
  2. এসকিউএল পরিষেবাগুলি বন্ধ করুন
  3. পুরানো ড্রাইভ থেকে নতুন ড্রাইভে সমস্ত ডেটা অনুলিপি করুন (রোবোকপি ব্যবহার করে অনুমতিগুলি অন্তর্ভুক্ত করতে ভুলবেন না)
  4. পুরানো ড্রাইভগুলি থেকে ড্রাইভের অক্ষরগুলি সরান।
  5. পুরানো ড্রাইভের অক্ষরের সাথে মেলে নতুন ড্রাইভে ড্রাইভের অক্ষর পরিবর্তন করুন
  6. এসকিউএল পরিষেবাদি শুরু করুন

এটাই.

এসকিউএল সার্ভার যতটা জানে কিছুই পরিবর্তন হয়নি সে হিসাবে কোনও বিচ্ছিন্নতা / সংযুক্তি প্রয়োজন নেই। এবং যদি কিছু মারাত্মকভাবে ভুল হয়ে যায় তবে আপনি পুরাতন স্টোরেজ অ্যারেতে পুরাতন LUN এ বসে থাকা ডাটাবেসের পুরাতন অনুলিপিটি পেয়েছেন। ব্যর্থ হওয়া কেবল চারদিকে ড্রাইভের অক্ষর পরিবর্তন করার বিষয়।

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