2010-04-28 6 views
5

मुझे sqlserver में संग्रहीत टेबल और डेटा (लगभग 5 वर्ष डेटा, 6200 टेबल) की प्रतिलिपि बनाने की आवश्यकता है, मैं डेटास्टेज का उपयोग कर रहा हूं और कनेक्ट करने के लिए ओडीबीसी कनेक्शन स्वचालित रूप से डेटा के साथ तालिका बनाता है, लेकिन प्रति टेबल 2-3 घंटे लेता है क्योंकि टेबल बहुत बड़े हैं (0.5 गीगा, 300 + कॉलम और लगभग 400k पंक्तियां)।6000 टेबल और डेटा को एसकल्सरर से ऑरैकल ==> सबसे तेज़ विधि में कॉपी करना?

मैं इस दर पर इस उपवास को कैसे प्राप्त कर सकता हूं, मैं केवल प्रति दिन 5 टेबल कॉपी करने में सक्षम हूं लेकिन 30 दिनों के भीतर मुझे इन 6000 तालिकाओं पर स्थानांतरित करने की आवश्यकता है।

+0

यह बहुत अधिक डेटा है। : ओ –

उत्तर

2

क्या आप समानांतर में एक साथ अलग-अलग तालिकाओं का स्थानांतरण कर सकते हैं?

हम नियमित रूप से बड़ी फ्लैट फ़ाइलों को SQL सर्वर में स्थानांतरित करते हैं और मैं उन्हें समानांतर में चलाता हूं - यह नेटवर्क और SQL सर्वर पर अधिक बैंडविड्थ का उपयोग करता है, लेकिन वे श्रृंखला में तेजी से एक साथ पूर्ण होते हैं।

+0

हाँ, मैं यह कर सकता हूं, लेकिन मैं 2-3 अलग-अलग नौकरियों को करने में सक्षम हो सकता हूं क्योंकि डाटाबेस जॉब को व्यवस्थित करने के लिए मेटाडेटा और ओडीबीसी कनेक्शन प्रदान करना हर नौकरी के लिए कुछ समय लेता है। क्या कोई अन्य उपकरण है जो मेरी मदद कर सकता है इस पर? – user218903

6

0.5 जीबी पर 6000 टेबल प्रत्येक 3 टेराबाइट होंगे। प्लस इंडेक्स। मैं शायद ओडीबीसी कनेक्शन के लिए नहीं जाऊंगा, लेकिन सवाल यह है कि बाधा कहां है।

आपके पास SQL ​​सर्वर से एक निकास चरण है। आपके पास SQL ​​सर्वर बॉक्स से ओरेकल बॉक्स में परिवहन है। आपके पास भार है

यदि नेटवर्क सीमित क्षमता है, तो संभवतः आप फ़ाइल को निकालने, संपीड़ित करने, संपीड़ित फ़ाइल को स्थानांतरित करने, इसे असम्पीडित करने और फिर इसे लोड करने के लिए सबसे अच्छा विकल्प हैं। ओरेकल में बाहरी सारणी फ्लैट फ़ाइल (सीमांकित या निश्चित लंबाई) से डेटा लोड करने का सबसे तेज़ तरीका है, भार को फैलाने और लॉगिंग के बिना अधिमानतः कई भौतिक डिस्क पर फैला हुआ है।

जब तक कोई महत्वपूर्ण परिवर्तन नहीं हो रहा है, तो मैं डेटास्टेज भूल जाऊंगा। जो कुछ भी निकालने या लोड नहीं कर रहा है वह कम से कम है।

+0

डेटास्टेज का उपयोग करने का एकमात्र कारण यह है कि मुझे डेटा लोड करने से पहले तालिका संरचना बनाने की आवश्यकता नहीं है। क्या आपको लगता है कि sqlserver तालिका से डेटा निकालने और इसे ऑरैकल में लोड करने (तालिका संरचना बनाने के बाद) तेजी से होगा? बोतल की गर्दन मुझे प्रति दिन कम से कम 30 टेबल कॉपी करने में सक्षम होने की आवश्यकता है, लेकिन अभी 400k, 300column तालिका लोड करने में 3 घंटे लगते हैं। इस तरह की टेबल के लिए सामान्य समय क्या है, क्या कोई अन्य उपकरण है जो इसे कर सकता है और साथ ही इसे स्वचालित कर सकता है? – user218903

+1

@ nazer555 - टेबल बनाना अपेक्षाकृत दर्द रहित होना चाहिए। मैंने एसक्यूएल सर्वर टेबल से टेराडाटा टेबल बनाने के लिए स्वचालित रूप से टेबल निर्माण स्क्रिप्ट तैयार की हैं, और अलग-अलग बोली/अनुक्रमणिका सुविधाओं के लिए उपयुक्त तालिका वाक्यविन्यास उत्पन्न करने के लिए कोड लिखने में कुछ आगे का काम है, लेकिन आमतौर पर यह लाभ का बड़ा नहीं है डेटा स्टेज स्वचालित रूप से उत्पन्न करने के लिए यदि आप डेटास्टेज का उपयोग कर प्रदर्शन पर हिट ले रहे हैं। –

+0

क्या हम फ़ाइल में डेटा के निष्कर्षण को स्वचालित कर सकते हैं और ऑरैक टेबल में लोड कर सकते हैं? क्या ऐसे कोई उपकरण हैं जिनसे मैं केवल "sqlservertable) से" डालने (ऑरैक टेबल) में शामिल कर सकता हूं, यह कम से कम प्रक्रिया को स्वचालित रूप से स्वचालित रूप से स्वचालित रूप से चलाएगा। – user218903

2

क्या आपने टेबल स्कीमा को स्क्रिप्ट करने और ओरेकल में बनाने और फिर ओएसकल में डेटा को थोक-प्रतिलिपि बनाने के लिए एसएसआईएस का उपयोग करने के बारे में सोचा है? एक और विकल्प लिंक किए गए सर्वरों और "चयन * INTO xxx" कथन की एक श्रृंखला का उपयोग करना होगा जो स्कीमा और डेटा (minus key constarints) पर प्रतिलिपि बनाएगा, लेकिन मुझे लगता है कि प्रदर्शन 6000 तालिकाओं के साथ काफी दयनीय होगा।

+0

मैं एसएसआईएस थोक-प्रतिलिपि और लिंकर सर्वर पर शोध करूँगा, कम से कम मैं स्क्रिप्ट को स्वचालित कर सकता हूं क्योंकि मैं अभी नौकरियों को मैन्युअल रूप से चला रहा हूं। क्या आप उपर्युक्त के लिए कोई अच्छा लेख/आदेश जानते हैं? – user218903

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