2011-11-29 4 views
6

मैं सीआई बिल्ड (उदाहरण के लिए, हडसन) स्थापित करना चाहता हूं और एक ओरेकल 11 जी स्कीमा को एक काफी वेनिला के लिए रात के निर्माण/परीक्षण चक्र के हिस्से के रूप में फाड़ना चाहता हूं जेएसएफ/जेपीए आवेदन।सीआई के निर्माण के लिए ओरेकल स्कीमा को सेट/फाड़ें कैटलॉग

ऐसा करने का सबसे स्पष्ट तरीका सभी तालिकाओं को छोड़कर और फिर से बनाना है। हालांकि यह काफी मानक लगता है (कम से कम, यही है कि हाइबरनेट/जेपीए उपकरण आपके लिए स्वचालित रूप से करेंगे), मैंने ओरेकल डीबीए को चेतावनी दी है कि ओरेकल कैटलॉग बार-बार ऑब्जेक्ट बनाने/ड्रॉप चक्र के बाद खंडित हो जाएगा। आखिरकार यह प्रदर्शन समस्याओं का कारण बन जाएगा क्योंकि सिस्टम टेबलस्पेस को डिफ्रैग्मेंटेड/कोलेसेड नहीं किया जा सकता है।

मेरे प्रश्न हैं:

  • विखंडन एक वास्तविक चिंता का विषय है, या कुछ और आप एक विशिष्ट webapp विकास के वातावरण में के बारे में चिंता करने की जरूरत नहीं है?
  • अगर विखंडन वास्तव में चिंता का विषय है, तो क्या ड्रॉप टेबल/तालिका बनाने की तुलना में ओरेकल में एक स्कीमा को फाड़ने और फिर से बनाने का एक बेहतर तरीका है?

धन्यवाद!

उत्तर

7

उन DBAs

10g के साथ कम से कम और जब स्थानीय रूप से प्रबंधित टेबलस्पेस (LMT) यह एक समस्या नहीं होनी चाहिए का उपयोग करके उपरोक्त पर विश्वास मत करो।

और यदि इससे कोई विखंडन हुआ तो मुझे बहुत संदेह है कि आप इसके प्रभाव को माप सकते हैं - खासकर सीआई के लिए उपयोग किए जाने वाले डेटाबेस पर।

+1

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

+0

@ जस्टिनकेव: संकेत के लिए धन्यवाद। मैंने एएसएम के बारे में टिप्पणी हटा दी (वैसे भी यह सुनिश्चित नहीं था) –

2

मैं अपनी दूसरी ओरेकल परियोजना के लिए सीआई निर्माण प्रक्रिया को स्थापित करने की प्रक्रिया में हूं। मुझे नहीं लगता कि सब कुछ छोड़ना और पुनर्निर्माण करना कोई नुकसान होगा (जैसा ऊपर बताया गया है a_horse_with_no_name)। मुझे यह सुनकर खुशी हो रही है कि आप सीआई को डेटाबेस ऑब्जेक्ट्स में विस्तारित करने की सोच रहे हैं - बहुत सी टीम नहीं हैं।

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

आप माइग्रेशन दृष्टिकोण की कोशिश कर रहा कल्पना करते हैं, तो मैं मदद कर सकता है एक उपकरण मैं उस पर काम कर रहा है है - http://dbgeni.com यह बहुत ज्यादा विकास के तहत अब भी है, लेकिन मैं सीआई और मन में माइग्रेशन के साथ डेटाबेस परिवर्तन के प्रबंधन के साथ ही बना।

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