Oracle Database Architecture : Processes | User Processes, System Processes, and Server Processes
ORACLE DATABASE एक शक्तिशाली रिलेशनल DATABASE मैनेजमेंट सिस्टम (RDBMS) है जो बड़ी मात्रा में डेटा को प्रबंधित करने और उसे सुचारू रूप से एक्सेस करने के लिए जाना जाता है। इसके ARCHITECTURE में विभिन्न प्रक्रियाएं (Processes) शामिल होती हैं जो DATABASE की कार्यक्षमता और प्रदर्शन को बनाए रखने में महत्वपूर्ण भूमिका निभाती हैं। आइए ORACLE DATABASE ARCHITECTURE में प्रोसेस की प्रक्रिया को विस्तार से समझते हैं।
विषयसूची
1. ORACLE DATABASE ARCHITECTURE में प्रोसेस की प्रक्रिया
2.
यूजर
प्रोसेस (User Processes) का विवरण
3.
सिस्टम
प्रोसेस (System Processes) का विवरण
4.
सर्वर
प्रोसेस (Server Processes) का विवरण
5.
निष्कर्ष
ORACLE DATABASE ARCHITECTURE में प्रोसेस की प्रक्रिया
ORACLE DATABASE ARCHITECTURE का परिचय
ORACLE DATABASE
का ARCHITECTURE मुख्य रूप से तीन घटकों में विभाजित होता है:
- स्मृति संरचना (Memory Structures): यह ORACLE DATABASE के ऑपरेशन के लिए आवश्यक डेटा और निर्देशों को
स्टोर करता है। इसमें SGA (System Global Area) और PGA (Program Global Area)
शामिल होते हैं।
- DATABASE फ़ाइलें (Database Files): ये स्थायी स्टोरेज के रूप में कार्य करती हैं और डेटा को हार्ड डिस्क
पर स्टोर करती हैं। इसमें डेटा फ़ाइलें, नियंत्रण फ़ाइलें और रीडू लॉग
फ़ाइलें शामिल होती हैं।
- प्रोसेस (Processes): ये वे सेवाएं हैं जो DATABASE के कार्य को संभालती हैं और विभिन्न
कार्यों को पूरा करती हैं, जैसे कि डेटा एक्सेस, डेटा संशोधन, बैकग्राउंड
टास्क आदि।
प्रोसेस की भूमिका
ORACLE DATABASE
में दो मुख्य प्रकार की प्रोसेसेस होती हैं:
यूजर प्रोसेस (User Process):
यूजर
प्रोसेस वह प्रोसेस है जो क्लाइंट एप्लिकेशन और ORACLE DATABASE के बीच इंटरैक्शन
करती है। जब एक यूजर SQL क्वेरी को निष्पादित करता है, तो यूजर प्रोसेस उस क्वेरी
को ORACLE DATABASE को भेजती है और परिणाम प्राप्त करती है।
ORACLE प्रोसेस (Oracle Processes):
ORACLE
प्रोसेस वह प्रक्रियाएं हैं जो DATABASE के अंदर विभिन्न कार्यों को पूरा करती
हैं। इन्हें आगे दो श्रेणियों में विभाजित किया जा सकता है:
- सिस्टम प्रोसेस (System Processes): ये बैकग्राउंड प्रोसेसेस होती हैं जो DATABASE के सामान्य संचालन को
बनाए रखने में मदद करती हैं। इसमें DBWn (डेटा बेस राइटर), LGWR (लॉग राइटर),
CKPT (चेकपॉइंट), और SMON (सिस्टम मॉनिटर) जैसी प्रक्रियाएं शामिल होती हैं।
- सर्वर प्रोसेस (Server Processes): ये प्रोसेसेस SQL स्टेटमेंट्स को निष्पादित करती हैं और DATABASE के
विभिन्न हिस्सों से डेटा को एक्सेस करती हैं। सर्वर प्रोसेस यूजर प्रोसेस
द्वारा किए गए अनुरोधों को संभालती है और आवश्यक डेटा को प्राप्त करके उसे
यूजर प्रोसेस को लौटाती है।
प्रोसेस की प्रक्रिया (Working of Processes)
- DBWn (डेटा बेस राइटर): यह प्रोसेस डेटा को बफर कैश से डेटा फ़ाइलों में लिखता है। यह
सुनिश्चित करता है कि डेटा को सुरक्षित रूप से डिस्क पर स्टोर किया गया है।
- LGWR (लॉग राइटर): यह प्रोसेस रीडू लॉग बफर के कंटेंट को रीडू लॉग फ़ाइलों में लिखता
है। यह प्रोसेस ट्रांजैक्शनल डेटा की अखंडता को बनाए रखता है।
- CKPT (चेकपॉइंट): यह प्रोसेस चेकपॉइंट्स को ट्रिगर करता है, जो यह सुनिश्चित करता है
कि सभी डेटा फ़ाइलें और कंट्रोल फ़ाइलें एक निश्चित बिंदु पर सिंक्रनाइज़ हो
गई हैं।
- SMON (सिस्टम मॉनिटर): यह प्रोसेस सिस्टम रिकवरी कार्यों का प्रबंधन करता है और DATABASE के
सामान्य संचालन को सुनिश्चित करता है।
यूजर प्रोसेस (User Process) का विवरण
ORACLE DATABASE
में, यूजर प्रोसेस (User Process) वह प्रक्रिया है जो यूजर और DATABASE के
बीच संवाद स्थापित करती है। जब कोई यूजर या एप्लिकेशन ORACLE DATABASE के साथ
इंटरैक्ट करना चाहता है, तो यूजर प्रोसेस एक इंटरमीडिएट एजेंट के रूप में कार्य
करता है, जो यूजर के अनुरोधों को DATABASE तक पहुंचाता है और DATABASE से प्राप्त
उत्तरों को वापस यूजर तक पहुंचाता है।
यूजर प्रोसेस की मुख्य भूमिकाएं
- कनेक्शन स्थापित करना: जब कोई यूजर DATABASE से कनेक्ट होना चाहता है, तो यूजर प्रोसेस DATABASE
के साथ कनेक्शन स्थापित करने का कार्य करता है। यह कनेक्शन आमतौर पर SQL*Net
(या Oracle Net) के माध्यम से स्थापित होता है, जो ORACLE DATABASE के साथ
नेटवर्क पर संवाद करने का माध्यम है।
- SQL स्टेटमेंट्स को निष्पादित करना: यूजर द्वारा लिखी गई SQL क्वेरी या PL/SQL ब्लॉक को यूजर प्रोसेस DATABASE
सर्वर तक भेजता है। इसके बाद, सर्वर प्रोसेस इस SQL स्टेटमेंट को प्रोसेस
करता है और आवश्यक डेटा को प्राप्त करता है।
- रिजल्ट्स को प्राप्त करना: सर्वर प्रोसेस द्वारा प्रोसेस किए गए डेटा को यूजर प्रोसेस प्राप्त
करता है और इसे यूजर या एप्लिकेशन को लौटाता है। उदाहरण के लिए, अगर यूजर ने
एक SELECT स्टेटमेंट का उपयोग करके डेटा क्वेरी किया है, तो यूजर प्रोसेस
प्राप्त किए गए डेटा को यूजर तक पहुंचाता है।
- एरर मैसेज हैंडल करना: अगर किसी कारणवश SQL स्टेटमेंट्स में कोई त्रुटि आती है, तो यूजर
प्रोसेस इसे पहचानता है और उचित एरर मैसेज को यूजर तक पहुंचाता है, ताकि यूजर
उस त्रुटि को सुधार सके।
यूजर प्रोसेस की विशेषताएं
- क्लाइंट-साइड प्रोसेसिंग: यूजर प्रोसेस केवल क्लाइंट साइड पर चलता है और DATABASE सर्वर पर
नहीं चलता। इसका मतलब है कि यह सर्वर के रिसोर्सेस का उपयोग नहीं करता।
- DATABASE लॉजिक नहीं: यूजर प्रोसेस का काम केवल DATABASE से संवाद करना है। यह डेटा
प्रोसेसिंग या अन्य DATABASE लॉजिक को संभालने का काम नहीं करता; यह काम
सर्वर प्रोसेस के द्वारा किया जाता है।
- सुरक्षित संवाद: यूजर प्रोसेस और DATABASE के बीच संवाद सुरक्षित और विश्वसनीय होता
है, जिससे डेटा की सुरक्षा सुनिश्चित होती है।
सिस्टम प्रोसेस (System Processes) का विवरण
ORACLE DATABASE
के ARCHITECTURE में सिस्टम प्रोसेस (System Processes) DATABASE के
सामान्य संचालन और प्रदर्शन को सुनिश्चित करने के लिए आवश्यक बैकग्राउंड
प्रक्रियाएं हैं। ये प्रोसेसेस DATABASE के भीतर विभिन्न आवश्यक कार्यों को
स्वचालित रूप से पूरा करती हैं, जैसे कि डेटा का लेखन, रिकवरी, और संसाधनों का
प्रबंधन।
मुख्य सिस्टम प्रोसेसेस
- DBWn (DATABASE राइटर) प्रोसेस:
- कार्य: DBWn प्रोसेस DATABASE बफर कैश (Buffer Cache) में मौजूद डेटा को
डेटा फ़ाइलों में लिखने का काम करता है। जब भी ORACLE DATABASE में कोई डेटा
बदलता है, तो वह पहले बफर कैश में स्टोर होता है। DBWn प्रोसेस यह सुनिश्चित
करता है कि यह डेटा उचित समय पर डिस्क में सुरक्षित रूप से लिख दिया जाए,
ताकि बफर कैश में जगह खाली हो सके और नई डेटा अनुरोधों को संभाला जा सके।
- LGWR (लॉग राइटर) प्रोसेस:
- कार्य: LGWR प्रोसेस रीडू लॉग बफर (Redo Log Buffer) के कंटेंट को रीडू लॉग
फ़ाइलों में लिखता है। यह प्रोसेस प्रत्येक ट्रांजैक्शन के बाद ट्रांजैक्शनल
डेटा को लॉग फ़ाइलों में लिखता है, जिससे DATABASE में डेटा की अखंडता बनी
रहती है और किसी भी आपातकालीन स्थिति में डेटा की रिकवरी की जा सकती है।
- CKPT (चेकपॉइंट) प्रोसेस:
- कार्य: CKPT प्रोसेस एक चेकपॉइंट ऑपरेशन को ट्रिगर करता है, जो DATABASE
में चल रहे सभी कार्यों को स्थिर स्थिति में ले आता है। यह सुनिश्चित करता
है कि सभी डेटा फ़ाइलें और कंट्रोल फ़ाइलें एक निश्चित बिंदु पर सिंक्रनाइज़
हो गई हैं, जिससे सिस्टम रिकवरी को आसान बनाया जा सके।
- SMON (सिस्टम मॉनिटर) प्रोसेस:
- कार्य: SMON प्रोसेस सिस्टम रिकवरी के कार्यों का प्रबंधन करता है। यह
प्रोसेस तब सक्रिय होता है जब DATABASE को अनएक्सपेक्टेड तरीके से बंद कर
दिया गया हो, और यह डेटा की रिकवरी के लिए आवश्यक सभी कार्यों को संपन्न
करता है। SMON फ्रेमेंटेशन को कम करने और अस्थायी सेगमेंट्स को हटाने में भी
मदद करता है।
- PMON (प्रोसेस मॉनिटर) प्रोसेस:
- कार्य: PMON प्रोसेस उस समय सक्रिय होता है जब कोई यूजर प्रोसेस असामान्य
रूप से समाप्त हो जाता है। यह प्रोसेस DATABASE संसाधनों को पुनः प्राप्त
करता है और सर्वर प्रोसेस द्वारा लिए गए लॉक और अन्य संसाधनों को फ्री करता
है।
- ARCn (आर्काइव प्रोसेस):
- कार्य: ARCn प्रोसेस रीडू लॉग फ़ाइलों की प्रतियों को आर्काइव करने का काम
करता है। जब भी रीडू लॉग फ़ाइलें भर जाती हैं, ARCn प्रोसेस उन्हें आर्काइव
करता है ताकि वे बाद में उपयोग के लिए उपलब्ध रहें, विशेष रूप से डेटा
रिकवरी के समय।
- RECO (रिकवरी प्रोसेस):
- कार्य: RECO प्रोसेस वितरित DATABASE में किसी भी असफल ट्रांजैक्शन को
रिकवर करने के लिए काम करता है। यह वितरित DATABASE के बीच कंसिस्टेंसी बनाए
रखने में मदद करता है।
- MMON (मैनेजमेंट मॉनिटर) प्रोसेस:
- कार्य: MMON प्रोसेस विभिन्न मैनेजमेंट टास्क को पूरा करने के लिए
जिम्मेदार होता है, जैसे कि अलर्ट्स जनरेट करना, प्रदर्शन डेटा कैप्चर करना,
और अन्य मैनेजमेंट संबंधी कार्य करना।
- MMNL (मैनेजमेंट नोटिफिकेशन लॉगिंग)
प्रोसेस:
- कार्य: MMNL प्रोसेस विभिन्न डाइग्नोस्टिक डेटा को इकट्ठा और लॉग करने का
कार्य करता है, जो DATABASE के प्रदर्शन और स्थिति को मॉनिटर करने में
उपयोगी होते हैं।
सर्वर प्रोसेस (Server Processes) का विवरण
ORACLE DATABASE
में सर्वर प्रोसेस (Server Processes) वे प्रक्रियाएं हैं जो यूजर के
अनुरोधों को पूरा करने के लिए DATABASE के साथ इंटरैक्शन करती हैं। जब कोई यूजर DATABASE
से डेटा को क्वेरी करता है, अपडेट करता है, या कोई अन्य ऑपरेशन करता है, तो यह
सर्वर प्रोसेसेस होती हैं जो इन अनुरोधों को प्रोसेस करती हैं और परिणाम लौटाती
हैं।
सर्वर प्रोसेस की भूमिकाएं
- SQL स्टेटमेंट्स को निष्पादित करना:
- जब कोई यूजर SQL स्टेटमेंट
भेजता है, जैसे कि SELECT, INSERT, UPDATE, या DELETE, तो सर्वर प्रोसेस उस
स्टेटमेंट को DATABASE में प्रोसेस करता है। इसमें डेटा को फ़ेच करना,
संशोधित करना, और फिर परिणाम को यूजर प्रोसेस को लौटाना शामिल होता है।
- डेटा को कैश से एक्सेस करना:
- सर्वर प्रोसेस पहले डेटा को
DATABASE के बफर कैश से एक्सेस करता है। यदि डेटा पहले से ही बफर कैश में
है, तो यह प्रोसेस बहुत तेज हो जाती है। यदि नहीं, तो सर्वर प्रोसेस डेटा को
डिस्क से फेच करता है और उसे बफर कैश में लाता है।
- लॉजिक प्रोसेसिंग:
- सर्वर प्रोसेस, PL/SQL कोड
या स्टोर्ड प्रोसीजर का भी निष्पादन करता है। यह विभिन्न लॉजिक को हैंडल
करता है, जिसमें सशर्त ऑपरेशन, लूप्स, और डेटा प्रोसेसिंग शामिल है।
- डेटा का लेखन:
- जब कोई डेटा DATABASE में
संशोधित किया जाता है, तो सर्वर प्रोसेस उसे बफर कैश में लिखता है। इसके
बाद, DBWn (DATABASE राइटर) प्रोसेस डेटा को स्थायी रूप से डिस्क में लिखने
का कार्य करता है।
- यूजर प्रोसेस के साथ संवाद:
- सर्वर प्रोसेस यूजर प्रोसेस
के साथ संवाद करता है, जो क्लाइंट के अनुरोध को सर्वर तक पहुंचाता है और
सर्वर से प्राप्त परिणाम को यूजर तक पहुंचाता है। सर्वर प्रोसेस अनुरोध को
प्राप्त करता है, उसे प्रोसेस करता है, और परिणाम को यूजर प्रोसेस को भेजता
है।
- कंसिस्टेंसी और कन्करेंसी को बनाए रखना:
- सर्वर प्रोसेस यह सुनिश्चित
करता है कि एक साथ चल रही ट्रांजैक्शन्स के दौरान डेटा की कंसिस्टेंसी बनी
रहे। यह प्रोसेस लॉक्स और अन्य मैकेनिज्म का उपयोग करके कन्करेंसी को मैनेज
करता है, ताकि कोई डेटा करप्शन या इनकंसिस्टेंट स्टेट उत्पन्न न हो।
डेडिकेटेड
और शेयर्ड सर्वर प्रोसेस
ORACLE DATABASE
में सर्वर प्रोसेसेस दो प्रकार की होती हैं:
- डेडिकेटेड सर्वर प्रोसेस (Dedicated Server
Process):
- प्रत्येक यूजर प्रोसेस के
लिए एक अलग सर्वर प्रोसेस बनाई जाती है। यह तब उपयोगी होती है जब DATABASE
पर अपेक्षाकृत कम संख्या में यूजर्स होते हैं। हर यूजर का एक डेडिकेटेड
सर्वर प्रोसेस होता है जो केवल उसी यूजर के लिए काम करता है।
- शेयर्ड सर्वर प्रोसेस (Shared Server
Process):
- कई यूजर्स के लिए कुछ सर्वर
प्रोसेसेस साझा की जाती हैं। यह तब उपयोगी होता है जब बहुत अधिक यूजर्स DATABASE
से कनेक्ट होते हैं। शेयर्ड सर्वर प्रोसेसेस संसाधनों का अधिक कुशलतापूर्वक
उपयोग करती हैं, जिससे बड़ी संख्या में यूजर्स को हैंडल किया जा सकता है।
निष्कर्ष
ORACLE DATABASE
ARCHITECTURE में प्रोसेस की प्रक्रिया अत्यंत महत्वपूर्ण होती है क्योंकि यह DATABASE
के सभी कार्यों को सुचारू रूप से चलाने में मदद करती है। यूजर प्रोसेस और ORACLE
प्रोसेस के तालमेल से डेटा की प्रोसेसिंग और स्टोरेज कुशलतापूर्वक हो पाती है। ORACLE
की यह प्रोसेसिंग संरचना इसे बड़े और जटिल DATABASE सिस्टम्स के प्रबंधन के लिए
उपयुक्त बनाती है।
यूजर प्रोसेस ORACLE DATABASE
के संचालन में एक महत्वपूर्ण भूमिका निभाता है, क्योंकि यह यूजर और DATABASE के
बीच मुख्य संपर्क बिंदु होता है। बिना यूजर प्रोसेस के, यूजर और DATABASE के बीच
संचार असंभव हो जाता है। यूजर प्रोसेस यूजर के कार्यों को DATABASE तक पहुंचाने और
DATABASE के उत्तरों को यूजर तक पहुंचाने में एक महत्वपूर्ण भूमिका निभाता है।
ORACLE DATABASE में सिस्टम
प्रोसेसेस बैकग्राउंड में चलने वाले ऐसे महत्वपूर्ण कार्य हैं जो DATABASE के सही
संचालन, डेटा सुरक्षा, और प्रदर्शन की गारंटी देते हैं। ये प्रोसेसेस स्वतःस्फूर्त
रूप से कार्य करती हैं और यूजर्स को DATABASE के सामान्य उपयोग के दौरान इनमें
सीधे तौर पर हस्तक्षेप करने की आवश्यकता नहीं होती है। इन प्रोसेसेस का सही तरीके
से संचालन ORACLE DATABASE की स्थिरता और विश्वसनीयता को सुनिश्चित करता है।
सर्वर
प्रोसेसेस ORACLE DATABASE के संचालन में एक केंद्रीय भूमिका निभाती हैं। ये
प्रोसेसेस यूजर्स द्वारा किए गए अनुरोधों को प्रोसेस करती हैं और DATABASE के साथ
सीधे इंटरैक्शन करती हैं। डेडिकेटेड और शेयर्ड सर्वर प्रोसेसेस के माध्यम से, ORACLE
DATABASE विभिन्न प्रकार के कार्यभार और यूजर लोड को संभाल सकता है, जिससे DATABASE
का प्रदर्शन और दक्षता सुनिश्चित होती है।