AWS डेटाबेस माइग्रेशन सर्विस (DMS) AWS पर डेटाबेस माइग्रेट करने के लिए एक सेवा है जिसमें स्रोत डेटाबेस हो सकता है:
- AWS (EC2,RDS) पर एक डेटाबेस
- एक स्थानीय डेटाबेस
- किसी अन्य क्लाउड प्लेटफ़ॉर्म जैसे Oracle क्लाउड प्लेटफ़ॉर्म पर डेटाबेस
लक्ष्य डेटाबेस हो सकता है:
- AWS (EC2, RDS, Redshift, DynamoDB) पर एक डेटाबेस
- एक स्थानीय डेटाबेस
- किसी अन्य क्लाउड प्लेटफ़ॉर्म पर डेटाबेस, जैसे कि Oracle क्लाउड प्लेटफ़ॉर्म
दो डेटाबेस में से कम से कम एक, स्रोत और लक्ष्य, AWS पर होना चाहिए। उदाहरण के तौर पर, डीएमएस का उपयोग स्थानीय डेटाबेस को Google क्लाउड प्लेटफॉर्म पर माइग्रेट करने के लिए नहीं किया जा सकता है। दो लेखों में, हम डेटाबेस माइग्रेशन सेवा के साथ Oracle डेटाबेस को MySQL डेटाबेस में माइग्रेट करने पर चर्चा कर रहे हैं। पहले के एक लेख में, "AWS, भाग 1 पर एक Oracle डेटाबेस को MySQL में माइग्रेट करना," हमने स्रोत और लक्ष्य डेटाबेस स्थापित करने पर चर्चा की। इस निरंतरता लेख में, हम प्रवासन करेंगे। इस लेख में निम्नलिखित भाग हैं:
- माइग्रेशन बनाना
- माइग्रेशन चलाना
- माइग्रेट किए गए डेटाबेस स्कीमा को क्वेरी करना
- माइग्रेशन को फिर से शुरू करना
- माइग्रेशन को संशोधित करना
- निष्कर्ष
माइग्रेशन बनाना
इस खंड में, हम आरडीएस पर ओरेकल डीबी इंस्टेंस को आरडीएस पर MySQL डीबी इंस्टेंस में माइग्रेट करने के लिए एक डीएमएस माइग्रेशन बनाएंगे। पहले बनाए गए IAM उपयोगकर्ता (dvohra या अन्य) के रूप में लॉग इन करें। डीएमएस चुनें एडब्ल्यूएस कंसोल में सेवा, जैसा कि चित्र 1 में दिखाया गया है।
चित्र 1: एडब्ल्यूएस कंसोल में डीएमएस सेवा
माइग्रेशन बनाएं क्लिक करें , जैसा कि चित्र 2 में दिखाया गया है।
चित्र 2: माइग्रेशन बनाएं
AWS डेटाबेस माइग्रेशन सर्विस विज़ार्ड प्रारंभ हो जाता है, जैसा कि चित्र 3 में दिखाया गया है। स्वागत पृष्ठ में अगला क्लिक करें।
चित्र 3: AWS डेटाबेस माइग्रेशन सर्विस विजार्ड
इसके बाद, प्रतिकृति इंस्टेंस बनाएं पृष्ठ प्रदर्शित होता है, जैसा चित्र 4 में दिखाया गया है।
चित्र 4: प्रतिकृति उदाहरण बनाएं
प्रतिकृति इंस्टेंस नाम निर्दिष्ट करें, या डिफ़ॉल्ट सेटिंग रखें, जैसा कि चित्र 5 में दिखाया गया है। एक इंस्टेंस वर्ग का चयन करें, या डिफ़ॉल्ट सेटिंग रखें। एक VPC . चुनें क्योंकि कोई डिफ़ॉल्ट VPC कॉन्फ़िगर नहीं किया गया है। मल्टी-एजेड Select चुनें जैसा नहीं एकल उपलब्धता क्षेत्र का उपयोग करने के लिए। सार्वजनिक रूप से पहुंच योग्य . चुनें विकल्प।
चित्र 5: प्रतिकृति इंस्टेंस को कॉन्फ़िगर करना
उन्नत . में सेटिंग्स, आवंटित संग्रहण, प्रतिकृति सबनेट समूह और उपलब्धता क्षेत्र के लिए डिफ़ॉल्ट सेटिंग्स चित्र 6 में दिखाई गई हैं।
चित्र 6: उन्नत सेटिंग्स
एन्क्रिप्शन कुंजी के रूप में KMS मास्टर कुंजी चुनें (dms ) पहले बनाया गया था, जैसा कि चित्र 7 में दिखाया गया है। अगला क्लिक करें।
चित्र 7: KMS मास्टर कुंजी का चयन करना
इसके बाद, डेटाबेस एंडपॉइंट को स्रोत और लक्ष्य डेटाबेस एंडपॉइंट से कनेक्ट करने के लिए कॉन्फ़िगर करें, जैसा कि चित्र 8 में दिखाया गया है। प्रतिकृति इंस्टेंस बनाए जाने के दौरान डेटाबेस एंडपॉइंट निर्दिष्ट किया जा सकता है। स्रोत और लक्ष्य समापन बिंदु स्रोत डेटाबेस कनेक्शन विवरण और लक्ष्य डेटाबेस कनेक्शन विवरण लेबल वाले अलग-अलग कॉलम में कॉन्फ़िगर किए गए हैं।
चित्र 8: डेटाबेस समापन बिंदु
स्रोत इंजन . चुनें ड्रॉप-डाउन सूची से oracle . के रूप में , जैसा कि चित्र 9 में दिखाया गया है।
चित्र 9: स्रोत इंजन
लक्षित इंजन . चुनें ड्रॉप-डाउन सूची से mysql . के रूप में , जैसा कि चित्र 10 में दिखाया गया है।
चित्र 10: लक्ष्य इंजन चुनना
सर्वर नाम . के लिए s, डीबी इंस्टेंस के लिए एंडपॉइंट निर्दिष्ट करें, जैसा कि आरडीएस कंसोल पर सूचीबद्ध है:पोर्ट प्रत्यय को हटाकर। Oracle DB का सर्वर नाम है orcl.crbmlbxmp8qi.us-east-1.rds.amazonaws.com और MySQL DB का सर्वर नाम mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com है। . पोर्ट को पोर्ट . में अलग से निर्दिष्ट किया गया है फ़ील्ड और Oracle डेटाबेस के लिए 1521 और MySQL डेटाबेस के लिए 3306 है। एसएसएल मोड का चयन करें कोई नहीं . के रूप में स्रोत और लक्ष्य डेटाबेस दोनों के लिए। आरडीएस इंस्टेंस बनाते समय उपयोगकर्ता नाम और पासवर्ड को मास्टर उपयोगकर्ता नाम और मास्टर पासवर्ड के रूप में निर्दिष्ट करें। स्रोत और लक्ष्य कनेक्शन विवरण चित्र 11 में दिखाए गए हैं।
चित्र 11: स्रोत और लक्ष्य कनेक्शन विवरण
कनेक्शन के लिए नीचे स्क्रॉल करें उन्नत सेटिंग्स। Oracle डेटाबेस के लिए, SID निर्दिष्ट करें, जैसा कि चित्र 12 में दिखाया गया है। MySQL डेटाबेस के लिए, अतिरिक्त कनेक्शन विशेषताएँ सेट करें। करने के लिए targetDbType=SPECIFIC_DATABASE . KMS मास्टर कुंजी DMS के लिए IAM उपयोगकर्ता (dvohra) के रूप में बनाई गई एन्क्रिप्शन कुंजी (dms) होनी चाहिए।
चित्र 12: कनेक्शन उन्नत सेटिंग्स
परीक्षण चलाएं क्लिक करें प्रत्येक डेटाबेस के लिए कनेक्शन का परीक्षण करने के लिए। परिणाम कनेक्शन का सफलतापूर्वक परीक्षण किया जाना चाहिए, जैसा कि चित्र 13 में दिखाया गया है।
चित्र 13: परीक्षण चलाएं
इसके बाद, एक माइग्रेशन कार्य को कॉन्फ़िगर करने की आवश्यकता है, जिसके पहले प्रतिकृति इंस्टेंस बनाया जाना चाहिए, जैसा कि चित्र 14 में दिखाया गया है।
चित्र 14: प्रतिकृति उदाहरण बनाया गया
डेटाबेस समापन बिंदुओं को कॉन्फ़िगर करने के बाद, चित्र 15 में दिखाए गए अनुसार अगला क्लिक करें।
चित्र 15: डेटाबेस एंडपॉइंट कॉन्फ़िगर किया गया
टास्क में, कम से कम एक चयन नियम कॉन्फ़िगर किया जाना चाहिए या कोई कार्य नहीं बनाया जाना चाहिए, जैसा कि कार्य बनाएं त्रुटि संदेश द्वारा इंगित किया गया है क्लिक किया गया है (चित्र 16 देखें)।
चित्र 16: कम से कम एक चयन नियम आवश्यक है
चयन नियम जोड़ें . क्लिक करें चित्र 16 में दिखाया गया लिंक। चयन नियम विवरण में, एक कहां . कॉन्फ़िगर करें चयन नियम। स्कीमा Select चुनें DVOHRA के रूप में (विभिन्न उपयोगकर्ताओं के लिए स्कीमा अलग होगी) और निर्दिष्ट करें कि तालिका का नाम इस प्रकार है % . के रूप में . कार्रवाई . में , वस्तुओं को शामिल करें . का चयन करके शामिल या बहिष्कृत किया जा सकता है या बहिष्कृत करें . समावेशन के बाद बहिष्करण संसाधित किए जाते हैं। शामिल के रूप में क्रिया का चयन करें। स्रोत से लक्ष्य में स्थानांतरित किए गए रिकॉर्ड की संख्या और प्रकार को सीमित करने के लिए स्रोत फ़िल्टर जोड़े जा सकते हैं। चयन नियम जोड़ें Click क्लिक करें , जैसा कि चित्र 17 में दिखाया गया है। इसके बाद, कार्य बनाएं . पर क्लिक करें ।
चित्र 17: चयन नियम जोड़ना
एक नया कार्य जोड़ा जाता है, जैसा कि चित्र 18 में दिखाया गया है। प्रारंभ में, कार्य की स्थिति "बनाना" है।
चित्र 18: नया कार्य
जब कार्य बन जाता है, तो स्थिति तैयार हो जाती है , जैसा कि चित्र 19 में दिखाया गया है।
चित्र 19: कार्य स्थिति तैयार के रूप में
माइग्रेशन चलाना
माइग्रेशन चलाने के लिए, प्रारंभ/फिर से शुरू करें click क्लिक करें , जैसा कि चित्र 20 में दिखाया गया है।
चित्र 20: प्रारंभ/फिर से शुरू करें
स्थिति प्रारंभ . बन जानी चाहिए (चित्र 21 देखें)।
चित्र 21: कार्य प्रारंभ
प्रारंभ करने के बाद, स्थिति चल रही . हो जाती है . जब माइग्रेशन पूरा हो जाता है, तो स्थिति लोड पूर्ण हो जाती है , जैसा कि चित्र 22 में दिखाया गया है।
चित्र 22: लोड पूर्ण
तालिका आँकड़े टैब को माइग्रेट की गई तालिकाओं को सूचीबद्ध करना चाहिए, जैसा कि चित्र 23 में दिखाया गया है।
चित्र 23: तालिका सांख्यिकी
माइग्रेट किए गए डेटाबेस स्कीमा को क्वेरी करना
MySQL CLI में, डेटाबेस को शो डेटाबेस कमांड के साथ सूचीबद्ध करें, जैसा कि चित्र 24 में दिखाया गया है। DVOHRA डेटाबेस (स्कीमा) सूचीबद्ध हो जाता है।
चित्र 24: लिस्टिंग डेटाबेस
DVOHRA . चुनें डेटाबेस के साथ DVOHRA का उपयोग करें आज्ञा। टेबल्स को शो टेबल कमांड के साथ सूचीबद्ध करें, जैसा कि चित्र 25 में दिखाया गया है। WEBLOGICLOG और WLSLOG Oracle डेटाबेस में पहले बनाए गए तालिकाओं को माइग्रेट कर दिया गया है और सूचीबद्ध हो गए हैं।
चित्र 25: लिस्टिंग टेबल्स
तालिका भी माइग्रेट हो जाती है। WEBLOGICLOG तालिका में कोई डेटा नहीं है और SQL क्वेरी में कोई भी वापस नहीं आता है (चित्र 26 देखें)।
चित्र 26: वेबलॉग पर SQL क्वेरी में कोई डेटा सूचीबद्ध नहीं है
TheWLSLOGtable माइग्रेट में डेटा शामिल है, जैसा कि चित्र 27 में एक क्वेरी परिणाम द्वारा दिखाया गया है।
चित्र 27: WLSLOG तालिका में डेटा माइग्रेट किया गया है
माइग्रेशन को फिर से शुरू करना
डिफ़ॉल्ट रूप से, माइग्रेशन सक्रिय रूप से स्रोत डेटाबेस में परिवर्तन, यदि कोई हो, माइग्रेट करने के लिए मतदान नहीं करता है। यदि स्रोत डेटाबेस में कोई संशोधन किया जाता है, जैसे डेटा को किसी तालिका में जोड़ा जाता है या एक नई तालिका बनाई जाती है, तो माइग्रेशन को फिर से चलाना होगा। उदाहरण के तौर पर, weblogiclog . में डेटा जोड़ें Oracle डेटाबेस में तालिका।
INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:16-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to STANDBY'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:17-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to STARTING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:18-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to ADMIN'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:19-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RESUMING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:20-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000361','Started WebLogic AdminServer'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:21-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000365','Server state changed to RUNNING'); INSERT INTO weblogiclog(time_stamp,category,type,servername, code,msg) VALUES('Apr-8-2014-7:06:22-PM-PDT','Notice', 'WebLogicServer','AdminServer','BEA-000360','Server started in RUNNING mode');
MySQL में जोड़े गए डेटा को माइग्रेट करने के लिए, प्रारंभ/फिर से शुरू करें क्लिक करें , जैसा कि चित्र 28 में दिखाया गया है।
चित्र 28: माइग्रेशन फिर से शुरू करना
कार्य प्रारंभ करें . में संवाद, दो विकल्प प्रदान किए गए हैं:प्रारंभ करें और पुनरारंभ करें , जैसा कि चित्र 29 में दिखाया गया है। प्रारंभ विकल्प केवल नई टेबल (पूर्ण लोड) और टेबल लोड करता है जो कार्य के पिछले भाग में अपूर्ण (आंशिक भार) थे।
चित्र 29: कार्य प्रारंभ करें
क्योंकि WEBLOGICLOG तालिका को पहले ही माइग्रेट किया जा चुका है (पूर्ण लोड पूरा हो गया है) और नए डेटा को माइग्रेट करने की आवश्यकता है, पुनरारंभ करें विकल्प का चयन करने की आवश्यकता है, जैसा कि चित्र 30 में दिखाया गया है।
चित्र 30: माइग्रेशन फिर से शुरू करना
कार्य स्थिति फिर से प्रारंभ . हो जाती है उसके बाद दौड़ना (चित्र 31 देखें)।
चित्र 31: कार्य स्थिति चल रही है
जब कार्य पूरा हो जाता है, तो स्थिति लोड पूर्ण . हो जाती है , जैसा कि चित्र 32 में दिखाया गया है।
चित्र 32: लोड पूर्ण
WEBLOGICLOG से पूछताछ करें MySQL CLI में डेटा और माइग्रेट किया गया डेटा सूचीबद्ध हो जाता है, जैसा कि चित्र 33 में दिखाया गया है।
चित्र 33: पुन:प्रारंभ करने के कार्य में डेटा माइग्रेट किया गया
माइग्रेशन को संशोधित करना
माइग्रेशन कार्य को संशोधित करने की आवश्यकता हो सकती है, जैसे चयन नियम जोड़ना/निकालना या अन्य कार्य सेटिंग्स में से किसी एक को संशोधित करना। एक कार्य को तब संशोधित किया जा सकता है जब वह नहीं चल रहा हो और स्थिति लोड पूर्ण हो। संशोधित करें Click क्लिक करें किसी कार्य को संशोधित करने के लिए, जैसा कि चित्र 34 में दिखाया गया है।
चित्र 34: संशोधित करें
कार्य संशोधित करें संवाद शुरू हो जाता है। हालांकि भिन्न माइग्रेशन प्रकार s सूचीबद्ध हैं, जैसा कि चित्र 35 में दिखाया गया है, इस समय माइग्रेशन प्रकार को संशोधित नहीं किया जा सकता है। डिफ़ॉल्ट सेटिंग "मौजूदा डेटा माइग्रेट करें" है।
चित्र 35: कार्य संशोधित करें
कार्य सेटिंग चित्र 36 में दिखाया गया संशोधित किया जा सकता है। उन्नत सेटिंग Click क्लिक करें उन्नत सेटिंग्स को संशोधित करने के लिए।
चित्र 36: कार्य सेटिंग
उन्नत सेटिंग्स में, नियंत्रण तालिका सेटिंग्स को संशोधित किया जा सकता है, जैसा कि चित्र 37 में दिखाया गया है।
चित्र 37: नियंत्रण तालिका सेटिंग
ट्यूनिंग सेटिंग संशोधित किया जा सकता है, जैसा कि चित्र 38 में दिखाया गया है।
चित्र 38: ट्यूनिंग सेटिंग्स
रूपांतरण नियम जोड़ने के लिए, रूपांतरण नियम जोड़ें पर क्लिक करें , जैसा कि चित्र 39 में दिखाया गया है।
चित्र 39: परिवर्तन नियम जोड़ें
रूपांतरण नियमों . में , लक्ष्य . चुनें परिवर्तन के लिए तालिका . के रूप में , जैसा कि चित्र 40 में दिखाया गया है। चुनें स्कीमा नाम है दवोहरा के रूप में। निर्दिष्ट करें तालिका का नाम इस प्रकार है % . के रूप में . कार्रवाई Select चुनें उपसर्ग जोड़ें . के रूप में , एक उदाहरण के रूप में।
चित्र 40: परिवर्तन नियम जोड़ना
माइग्रेट की गई प्रत्येक तालिका में जोड़ने के लिए तालिका उपसर्ग निर्दिष्ट करें (चित्र 41 देखें)। रूपांतरण नियम जोड़ें Click क्लिक करें ।
चित्र 41: परिवर्तन नियम जोड़ें
संशोधित करें Click क्लिक करें , जैसा कि चित्र 42 में दिखाया गया है।
चित्र 42: संशोधित करें
कार्य प्रारंभ करें . में , पुनरारंभ करें . चुनें और कार्य प्रारंभ करें . क्लिक करें , जैसा कि चित्र 43 में दिखाया गया है।
चित्र 43: कार्य प्रारंभ करें
कार्य स्थिति संशोधित . बन जाती है , जैसा कि चित्र 44 में दिखाया गया है।
चित्र 44: संशोधित करना
रिफ्रेश बटन से कार्य की स्थिति को रिफ्रेश किया जा सकता है। स्थिति चल रही . बन जाती है , जैसा कि चित्र 45 में दिखाया गया है।
चित्र 45: कार्य चल रहा है
जब कार्य पूरा हो जाता है, तो स्थिति लोड पूर्ण . हो जाती है (चित्र 46 देखें)।
चित्र 46: लोड पूर्ण
इसके बाद, MySQL में तालिकाओं को सूचीबद्ध करें। उपसर्ग के साथ नई तालिकाएँ सूचीबद्ध हैं, जैसा कि चित्र 47 में दिखाया गया है।
चित्र 47: उपसर्ग वाली तालिकाएँ
निष्कर्ष
दो लेखों में, हमने AWS डेटाबेस माइग्रेशन सेवा का उपयोग करके RDS पर Oracle डेटाबेस को RDS पर MySQL डेटाबेस में माइग्रेट करने पर चर्चा की।