हम अपने डेवलपर्स के साथ परीक्षण करने के लिए ओरेकल 11 जी इंस्टेंस प्रदान करने की कोशिश करने की एक आम समस्या से जूझ रहे हैं । हमारे मानक बिल्ड एजेंट उबंटू 12.04 पर आधारित हैं लेकिन ओरेकल केवल रेडहैट आधारित ओएस का समर्थन करता है ।
नेट के चारों ओर तैरते हुए उबंटू पर ओरेकल को स्थापित करने के बारे में कुछ हैक हैं, लेकिन वे बहुत नाजुक और हिट-एंड-मिस का मामला प्रतीत होते हैं ।
हम चाहते हैं कि करने के लिए होने से बचने का समर्थन करने के लिए एक पूरे का निर्माण सर्वर कठपुतली विन्यास के शीर्ष पर RedHat(/CentOS) सिर्फ समर्थन करने के क्रम में ओरेकल तो मैं शुरू किया गया था आश्चर्य है कि क्या हम कर सकते हैं गोदी श्रमिक को रोजगार प्रदान करने के लिए एक RedHat-पर्यावरण की तरह बस के लिए आवश्यक के लिए ओरेकल के शीर्ष पर हमारे मानक Ubuntu प्रणाली. विचार यह है कि ओरेकल अपने कंटेनर में चलेगा लेकिन बाकी बिल्ड एजेंट अभी भी मानक उबंटू पर चलेंगे, टीसीपी पर ओरेकल से बात करने में सक्षम होंगे ।
मैं जानता हूँ कि क्या LXC कर रहे हैं और उन दोनों के बीच अंतर और पूर्ण वर्चुअलाइजेशन तरह के वी एम/VirtualBox आदि, लेकिन मैं सोच रहा था कि क्या यह अभी भी संभव हो सकता है.
'चककॉन्फिग' को 'अपडेट-आरसी' में बदलें । डी' कमांड में postinst & prerm.
में init स्क्रिप्ट: निकालें निरपेक्ष पथ के कुछ सिस्टम कमांड; ठीक /etc/sysconfig/ओरेकल-xe के लिए /etc/default/ओरेकल-xe; ठीक /var/लॉक/subsys /var/लॉक; और इतने पर । ..
फ़ाइल को नियंत्रित करने के लिए निर्भरता जोड़ें: बीसी और लिबायो 1।
देब कमांड का उपयोग करके देब पैकेज बनाएं ।
अब आप एक देब पैकेज के Oracle XE 11g. इसे स्थापित!
लेकिन अभी भी एक समस्या है: /देव/शम । यहां इसे कैसे ठीक किया जाए:
लाइन में टिप्पणी करें / आदि / इनिट / माउंटेड-देव।conf: [ -ई /देव/shm ] || एलएन-s /भागो/shm /देव/shm.
/आदि/एफएसटीएबी में एक पंक्ति जोड़ें: एसएचएम /देव/एसएचएम टीएमपीएफएस आकार=2 जी 0 0
मैं पुष्टि कर सकता हूं कि ओरेकल एक्सई डॉकर के भीतर काम करता है । एकमात्र मुद्दा यह है कि कंटेनर के अंदर एसएचएम केवल 65356 केएसईई के लिए कॉन्फ़िगर किया गया है https://github.com/dotcloud/docker/issues/2606अब तक का एकमात्र समाधान एलएक्ससी टेम्पलेट को बदलना और डॉकर को पुन: संकलित करना है (जो आसान है)
यह निश्चित रूप से एक व्यवहार्य दृष्टिकोण है । हम अपने मेजबान मशीनों के लिए उबंटू 14.04 का उपयोग करते हैं और विकास उद्देश्यों के लिए डॉकर कंटेनरों के भीतर कई ओरेकल 11 जी इंस्टेंस चलाते हैं ।
वर्तमान में (डॉकर 1.5) 11 जी और 12 सी दोनों के लिए मुख्य मुद्दा डॉकर की हार्ड-कोडेड साझा मेमोरी सीमा है अंक #2606. वर्तमान में इसके लिए दो वर्कअराउंड हैं:
उपयोग करें docker run --privileged ... और उदाहरण शुरू करने से पहले अधिक मेमोरी के साथ रिमाउंट /देव/शम
डॉकर को स्वयं संशोधित और पुनर्निर्माण करें । इस मामले के लिए मैंने 12 सी के लिए एक डॉकरफाइल को एक साथ रखा है जो एक बार में एक छवि बनाने की अनुमति देता है: https://github.com/arpagaus/docker-oracle-12c
Oracle RDMS एक राक्षस है… यह एक सरल होने का मतलब नहीं है, इसे यहां स्थापित करें और डेटाबेस पर उपयोग करें । यह तीव्र है और ओरेकल चाहता है कि आप यह जानें । यदि आपके डेवलपर्स वास्तव में उबंटू से बंधे हैं, तो मैं ओरेकल 11 जी के लिए आपकी आवश्यकता का पुनर्मूल्यांकन करने का प्रयास करूंगा (यदि आपको एंटरप्राइज़ डिस्ट्रो की आवश्यकता नहीं है तो आपको शायद एंटरप्राइज़ आरडीएमएस की आवश्यकता नहीं है) । यह एक बहुत भयानक लगता है जैसे आप बिल्ड एजेंट के साथ चुंबन को नियोजित कर रहे हैं और पूरी तरह से सब कुछ भूल रहे हैं ।
@ साइरेक्स मुझे यह सुनने में दिलचस्पी होगी कि आपके पास इसके साथ क्या मुद्दे थे । मैं अपने सास उत्पाद के कई हिस्सों के साथ डॉकर का बीटा परीक्षण कर रहा हूं, और अभी तक एक भी मुद्दे में नहीं चला हूं ।
@ईईएए, अपने गिटहब मुद्दों के आसपास ब्राउज़ करते समय जब लोग (कमरे में हाथी) आरएचईएल समर्थन के लिए पूछ रहे थे और देख रहे थे कि उबंटू को खोदने के कारण एयूएफएस से दूर एक आवश्यक कदम पर विचार करने वाली टिप्पणियां कैसे थीं । सर्वसम्मति बीटीआरएफएस में जाने के लिए थी जो आरएचईएल 7 तक तकनीकी पूर्वावलोकन से बाहर नहीं है । डॉकर को जाने के लिए आरएचईएल बक्से पर 3.10+ कस्टम कर्नेल डालने के लिए कुछ सुंदर कैवीलर दृष्टिकोण भी थे । कुल मिलाकर मुझे वास्तव में अवधारणा पसंद आई, लेकिन मुझे लगता है कि इसे रोल आउट करने में मुझे कुछ समय लगेगा । हालांकि केवल एक त्वरित सरसरी नज़र, इसलिए वाईएमएमवी।
स्पष्ट करने के लिए-मैं एक शुद्ध सॉफ्टवेयर कंपनी के निर्माण इंजीनियरिंग व्यवसाय में हूं । यह आंतरिक खपत के लिए नहीं है, बल्कि यह सत्यापित करने के लिए है कि हमारे वेब एप्लिकेशन ओरेकल से बात कर सकते हैं । हम इसके लिए ओरेकल एक्सप्रेस का उपयोग करते हैं और ओरेकल के समर्थन की आवश्यकता नहीं है ।