2010-06-29 53 views
5

हमें अपने डेटाबेस को एमएसएसएलएल से ओरेकल में माइग्रेट करने की आवश्यकता है और हमारे पास पीएल/एसक्यूएल टीएसक्यूएल में लिखे गए 100 से अधिक संग्रहीत प्रक्रियाएं हैं। मुझे यह एक लंबा शॉट पता है, लेकिन क्या किसी ने कभी भी काम करने के लिए स्वचालित माइग्रेशन टूल का सफलतापूर्वक उपयोग किया है? मैंने वेब पर कुछ टूल देखे हैं, लेकिन मेरे पास विभिन्न कोड को संभालने की उनकी क्षमता का न्याय करने का कोई तरीका नहीं है। इस मामले में कोई व्यक्तिगत अनुभव मदद करेगा।टीएसक्यूएल से पीएल/एसक्यूएल में माइग्रेशन टूल?

+0

[माइक्रोसॉफ्ट एसक्यूएल सर्वर से ओरेकल डेटा माइग्रेशन (रूपांतरण) (अन्य आरडीबीएमएस ओके, भी) के संभावित डुप्लिकेट] (http://stackoverflow.com/questions/1484814/microsoft-sql-server-to-oracle-data- माइग्रेशन-रूपांतरण-अन्य-rdbms-ok-too) – APC

+1

"हमें हमारे डेटाबेस को एमएसएसक्यूएल से ओरेकल में माइग्रेट करने की आवश्यकता है और हमारे पास पीएल/एसक्यूएल में 100 से अधिक संग्रहीत प्रक्रियाएं हैं।" इसका कोई अर्थ नहीं है। यदि आप एमएसएसक्यूएल से ओरेकल में परिवर्तित हो रहे हैं, तो निश्चित रूप से आपकी संग्रहीत प्रक्रियाएं टी-एसक्यूएल में लिखी जाती हैं, और आप उन्हें पीएल/एसक्यूएल में परिवर्तित करना चाहते हैं ...? – ObiWanKenobi

+0

@ ओबीवन, धन्यवाद, तय है कि। – gooli

उत्तर

4
  1. SwisSQL - SQL Server to Oracle Migration Tool 3.5;
  2. tsql to pl sql;
  3. Convert SQL Server T-SQL to Oracle PL/SQL (syntax and equivalences);

हालांकि, रूपांतरण के बाद प्रदर्शन करने के लिए कुछ ऑप्टिमाइज़ेशन की आवश्यकता हो सकती है। इसलिए, आपको इसे पूरा करने के बाद रूपांतरण को संशोधित करने पर विचार करना चाहिए।

संपादित करें # 1

एक और दिलचस्प उपकरण होगा:

Spectral Core's Full Convert Enterprise

आप उनमें से किसी के साथ अनुभव है?

दुर्भाग्य से नहीं। मैंने अभी एसएसआईएस का उपयोग कर SQL सर्वर में रूपांतरण किए हैं।

संपादित करें # 2

वहाँ ओरेकल से सीधे एक अधिक उपयुक्त उपकरण है कि मैं विश्वास बेहतर होता प्रतीत हो रहा है।

ओरेकल से

सीधे: Migrating from Microsoft SQL Server to Oracle

और मूलभूत सुविधाओं का: जब Microsoft SQL सर्वर से पलायन

SQL डेवलपर प्रवासन प्रौद्योगिकी निम्नलिखित मुख्य सुविधाओं का समर्थन करता:

  • कॉलम डेटा प्रकारों को स्वचालित रूप से उचित ओरेकल डेटा प्रकारों में परिवर्तित करता है।
  • ऑब्जेक्ट नाम विवादों को स्वचालित रूप से हल करता है, जैसे ओरेकल आरक्षित शब्दों के साथ संघर्ष।
  • पार्स और टी-एसक्यूएल संग्रहीत प्रक्रियाओं, कार्यों, ट्रिगर, और ओरेकल पीएल/एसक्यूएल के विचारों को बदलता है।
  • उन्नत अनुकूलन क्षमताओं प्रदान करता है जैसे डेटा प्रकार मैपिंग को बदलने, वस्तुओं को हटाने और नाम बदलने की क्षमता।
  • माइग्रेशन की स्थिति के बारे में रिपोर्ट जेनरेट करता है।
  • गंतव्य ओरेकल डेटाबेस के निर्माण के लिए डीडीएल स्क्रिप्ट उत्पन्न करता है।
  • डेटा आंदोलन के लिए स्क्रिप्ट उत्पन्न करता है
  • प्रगति विंडो में माइग्रेशन के बारे में सूचनात्मक, त्रुटि और चेतावनी संदेश प्रदर्शित करता है।

    1. तो, मैं सुझाव दूंगा कि आप विवरण में सबकुछ देखें जो ऊपर उल्लिखित नहीं है;
    2. टूल द्वारा प्रदान की गई जानकारी के विवरणों पर एक अच्छा नज़र डालें;
    3. परिवर्तित होने के बाद अपनी संग्रहीत प्रक्रियाओं का परीक्षण करें।

आप एसक्यूएल सर्वर ओरेकल की तुलना में प्रदान नहीं करता है क्या के रूप में एक बार देख ले, तो इन बातों को जहां मैं पहली बार लगेगा कर रहे हैं। इन मतभेदों को जानने के लिए, उपरोक्त 3. Convert SQL Server T-SQL to Oracle PL/SQL (syntax and equivalences) लिंक का पालन करें।

+0

क्या आपके पास उनमें से किसी के साथ अनुभव है? वे काम करने के लिए कितने करीब आते हैं? क्या आपको किसी भी सूक्ष्म त्रुटियों का सामना करना पड़ा जिसके लिए मुझे देखना चाहिए? – gooli

+0

कृपया उत्तर के लिए मेरे संपादन देखें। फिर भी यदि आप ओरेकल पीएल/एसक्यूएल के साथ सहज हैं, तो 100 संग्रहित प्रक्रियाएं हाथ से करने के लिए बहुत अधिक काम नहीं करती हैं। –

+0

अनुवाद वह नहीं है जिसके बारे में मुझे चिंता है, यह परीक्षण मुझे चुनौती देता है। लेकिन मुझे लगता है कि इससे बचने का कोई रास्ता नहीं है। हम शायद जावा में एक यूनिट टेस्ट सूट लिखने जा रहे हैं जो ओरेकल और एसक्यूएल सर्वर दोनों के खिलाफ चलाने में सक्षम होगा और एक रिग्रेशन टूल के रूप में कार्य करेगा। आपके गहन उत्तर और शोध के लिए धन्यवाद। – gooli

1

अतीत में मैंने विपरीत करने की कोशिश की, लेकिन मुझे डर है कि कोई 100% विश्वसनीय तरीका नहीं है। कुछ विशेषताएं प्रत्येक आरडीबीएमएस के लिए अद्वितीय होती हैं और किसी उपकरण द्वारा दोहराया नहीं जा सकता है (उदाहरण के लिए ओरेकल में SQL सर्वर बनाम अनुक्रमों में पहचान फ़ील्ड)। इस बात को ध्यान में रखते हुए, मुझे यह सुनिश्चित करने के लिए प्रत्येक संग्रहीत प्रक्रिया की समीक्षा करनी पड़ी कि यह क्या करना है, मुझे एहसास हुआ कि मैन्युअल बंदरगाह की योजना बनाना और कुछ पीएल/एसक्यूएल सीखना बेहतर था।

5

मैं इसे हाथ से करने का सुझाव दूंगा। सबसे पहले, मेरे लिए, व्यक्तिगत रूप से, 100 बहुत बुरा नहीं लगता है। मैं शर्त लगाता हूं कि आपका विकास पैटर्न का पालन करता है - current_timestamp, आदि के बजाय getutcdate() का उपयोग करके इसका मतलब है, शायद कुछ बहुत ही दोहराव वाली समस्याएं हैं जिन्हें आप और आपकी टीम सीखने में सक्षम होंगे। मेरे लिए, यह आपको पीएल/एसक्यूएल बारीकियों/एक्सटेंशन को पढ़ाने का अतिरिक्त लाभ रखेगा, जिसे आपको नई प्रणाली को बनाए रखने/विस्तारित करने के लिए शायद सीखने की आवश्यकता होगी।

शुभकामनाएं!

+0

हाथ से ऐसा करना डिफ़ॉल्ट विकल्प है जिसके साथ हम जा रहे थे, लेकिन मैंने सोचा कि मैं देख सकता हूं कि कोई आसान तरीका है या नहीं। धन्यवाद। – gooli

संबंधित मुद्दे