IBM DB2, IBM द्वारा विकसित और स्वामित्व वाला एक रिलेशनल डेटाबेस है। DB2 डेटाबेस Linux, UNIX, और Windows (LUW) सहित कई प्लेटफॉर्म के लिए उपलब्ध है। DB2 कई मॉडल या संस्करणों के साथ डेटाबेस सॉफ्टवेयर के रूप में उपलब्ध है।
DB2 का एक संस्करण जिसे कम्युनिटी एडिशन के नाम से जाना जाता है, डेवलपर्स के लिए जीवन भर के लिए मुफ्त उपलब्ध है, अन्य संस्करण स्टैंडर्ड और एंटरप्राइज एडिशन हैं जिनके लिए लाइसेंस की आवश्यकता होती है। इस ब्लॉग में मैं IBM DB2 डेटाबेस प्रशासन से संबंधित कुछ कार्यों को साझा कर रहा हूं। आशा है कि आप इसे डेटाबेस को बनाए रखने के लिए नियमित गतिविधियों के लिए उपयोगी पाएंगे।
- लाइसेंस विवरण खोजें
- DB2 सर्वर, इंस्टेंस, डेटाबेस संबंध
- DB2 ऑपरेटिंग सिस्टम समूह
- डेटाबेस पैरामीटर कॉन्फ़िगरेशन: i) ग्लोबल लेवल ii) इंस्टेंस लेवल iii) डेटाबेस लेवल
- DB2 इंस्टॉलेशन, क्लाइंट, इंस्टेंस, डेटाबेस के साथ बनाएं, बदलें, संशोधित करें, ड्रॉप करें
- डिफ़ॉल्ट टेबलस्पेस, टेबलस्पेस बनाएं, टेबलस्पेस सूचीबद्ध करें
- लिसनर कॉन्फ़िगरेशन
- आर्काइव कॉन्फ़िगरेशन
1) लाइसेंस विवरण खोजें: अपने उत्पाद लाइसेंस विवरण की जांच के लिए कृपया नीचे दिए गए कमांड का उपयोग करें।
$>db2licm -l
Product name: "DB2 Community Edition"
License type: "Community"
Expiry date: "Permanent"
Product identifier: "db2dec"
Version information: "11.5"
Max amount of memory (GB): "16"
Max number of cores: "4"
Features: IBM DB2 Performance Management Offering: "Not licensed"
2) DB2 सर्वर, इंस्टेंस, डेटाबेस संबंध (नॉन-पार्टीशन्ड)
कृपया नीचे चित्र 1 देखें, जैसा कि चित्र 1 में दर्शाया गया है, एक Db2 सर्वर एक डेटाबेस बाइनरी इंस्टॉलेशन डायरेक्टरी है, जिसे DB2COPYn जैसे नामों से परिभाषित किया जा सकता है। इस सर्वर का उपयोग अपग्रेड, माइग्रेट के लिए किया जा सकता है और यह सर्वर पर कई डेटाबेस और इंस्टेंस के लिए विशिष्ट रूप से अलग वातावरण प्रदान कर सकता है। आप एक ही सर्वर पर कई DB सर्वर इंस्टॉलेशन बना सकते हैं। DB2 सर्वर को क्लस्टर के कई नोड्स पर पार्टीशन के रूप में समान स्थानों के साथ भी इंस्टॉल किया जा सकता है। DB2 सर्वर को कॉन्फ़िगरेशन फाइल में पैरामीटर्स का उपयोग करके बनाए रखा जा सकता है (ग्लोबल CFG के रूप में दर्शाया गया)। DBA एक ही सेट पैरामीटर्स का उपयोग करके सभी डेटाबेस और इंस्टेंस में सिस्टम संसाधनों के प्रबंधन के लिए जिम्मेदार वातावरण बनाकर कई DB2 इंस्टेंस को ट्यून/स्वचालित करने के लिए पॉलिसी बना सकता है। DB2 इंस्टेंस को उन भागों में विभाजित किया जा सकता है जिनमें प्रोसेस, थ्रेड और मेमोरी क्षेत्रों का सेट शामिल होता है, जो इसमें कई डेटाबेस को बनाए रखने और कनेक्ट करने के लिए होते हैं। एक इंस्टेंस को कॉन्फ़िगरेशन फाइल का उपयोग करके कॉन्फ़िगर किया जा सकता है जिसे DBM CFG के रूप में जाना जाता है, और संसाधन आवंटन के लिए पॉलिसी बनाई जा सकती है। एप्लिकेशन आवश्यकताओं के अनुसार कनेक्शन के लिए पोर्ट परिभाषित किए जा सकते हैं। DB2 डेटाबेस कई लॉजिकल स्टोरेज ग्रुप, टेबलस्पेस, टेबलस्पेस में ऑब्जेक्ट, ट्रांजेक्शन लॉग (TX LOGS के रूप में दर्शाया गया), और बफर पूल का एक सेट है। निम्न आरेख Db2 सर्वर, उसके इंस्टेंस और संबंधित डेटाबेस के बीच संबंध को दर्शाता है।
चित्र 1: DB2 सर्वर, इंस्टेंस, डेटाबेस संबंध और सामग्री को दर्शाने वाला आरेख
3) DB2 ऑपरेटिंग सिस्टम समूह
Windows पर, डिफ़ॉल्ट इंस्टेंस नाम DB2 है, और Linux में यह DB2INST1 है। प्रत्येक इंस्टेंस को इससे कनेक्ट करने के लिए एक अद्वितीय पोर्ट के साथ कॉन्फ़िगर किया जा सकता है। एक ही सर्वर पर कई इंस्टेंस मौजूद हो सकते हैं। DB2 इंस्टॉलेशन को सुरक्षा और डेटा के उपयोग संबंधी भूमिकाओं से सुरक्षा के लिए 4 प्रकार के OS समूहों के साथ कॉन्फ़िगर किया जा सकता है, जिसमें SYSADM डेटाबेस एडमिनिस्ट्रेटर होते हैं जिनके पास सभी विशेषाधिकार होते हैं, SYSMON समूह डेटाबेस मैनेजर इंस्टेंस के कई डेटाबेस को प्रशासित करता है, और DBADM डेटाबेस के लिए विशिष्ट शीर्ष स्तर का अनुदान होता है।
- SYSADM
- SYSCTRL
- SYSMAINT
- SYSMON
- DBADM
4) डेटाबेस पैरामीटर कॉन्फ़िगरेशन
चित्र 1 के अनुसार, आप IBM DB2 को 3 स्तरों पर कॉन्फ़िगर कर सकते हैं, शीर्ष स्तर को DB2 सर्वर कॉन्फ़िगरेशन कहा जाता है, दूसरा स्तर डेटाबेस मैनेजर कॉन्फ़िगरेशन कहलाता है, और तीसरा स्तर डेटाबेस स्तर कॉन्फ़िगरेशन है।
i) ग्लोबल पैरामीटर के लिए:
सेटिंग्स देखने के लिए: db2set -all
सभी परिवर्तनीय पैरामीटर सूचीबद्ध करने के लिए: db2set -lr
सेटिंग्स अपडेट करने के लिए: db2set parameter=newvalue
उदाहरण: db2set db2comm=tcpip
एक बार बदलने के बाद आपको db2stop और db2start द्वारा सभी इंस्टेंस को पुनरारंभ करना होगा।
ii) इंस्टेंस लेवल:
सेटिंग्स देखने के लिए: db2 get dbm cfg
सेटिंग्स अपडेट करने के लिए: db2 update dbm cfg using parameter_name new-value उदाहरण: db2 update dbm cfg using NUM_DB 5
iii) डेटाबेस लेवल:
सेटिंग्स देखने के लिए: db2 get db cfg for database-name
सेटिंग्स अपडेट करने के लिए: db2 update db cfg for database-name using parameter new-value
उदाहरण: db2 update db cfg for sample using AUTO_REORG ON
5) DB2 इंस्टॉलेशन, इंस्टेंस, डेटाबेस के साथ बनाएं, बदलें, संशोधित करें, ड्रॉप करें
एक DB2 सर्वर में मुख्य रूप से एक Db2 कॉपी शामिल होती है जो एक ही सर्वर पर किसी विशेष स्थान पर Db2 डेटाबेस उत्पादों के एक या अधिक इंस्टॉलेशन को संदर्भित करती है। प्रत्येक Db2 संस्करण कॉपी समान या अलग कोड स्तर पर हो सकती है। DB2 संस्करण 9 और बाद के साथ, आप एक ही सर्वर पर कई Db2 कॉपी इंस्टॉल और चला सकते हैं जैसे DB2COPY1 DB2 संस्करण 9 का, DB2COPY2 संस्करण 10 का... DB2COPY3 संस्करण 11 का, आदि।
कई DB2 कॉपी के लाभ:
- i) एक ही सर्वर पर अलग-अलग Db2 डेटाबेस संस्करणों वाले एप्लिकेशन।
- ii) उत्पादन डेटाबेस को Db2 डेटाबेस उत्पाद के बाद के संस्करण में ले जाने से पहले उसी कंप्यूटर पर परीक्षण करने की क्षमता।
- iii) अपनी गतिविधियों को अलग-अलग DB2 संस्करणों पर विभाजित करने की क्षमता।
यदि कई DB2COPY उपलब्ध हैं तो DB2 इंस्टॉलेशन कॉपी पर कैसे स्विच करें:
$>db2swtch -l
DB2COPY1 C: \ IBM\ SQLLIB (Default DB2 and IBM Database Client Interface Copy)
$>db2swtch -db2 -d DB2COPY1
Switching is successful. The current default DB2 copy is DB2COPY1.
$>dasupdt (Change DB admin Server to current copy.
SQL22266N The DB2 Administration Server is already installed under the current DB2 Copy.
DB2 इंस्टेंस को कैसे बनाए रखें:
DB2CPOPY1 के वर्तमान इंस्टॉलेशन में इंस्टेंस बनाने/सूचीबद्ध करने/ड्रॉप करने और वर्तमान इंस्टेंस नाम सेट करने/देखने के लिए, आप नीचे दिए गए कमांड चला सकते हैं:
वर्तमान इंस्टेंस को रोकने और शुरू करने के लिए नीचे दिए गए कमांड का उपयोग करें, कृपया ध्यान दें, पैरामीटर start_stop_time डेटाबेस शुरू/रोक व्यवहार को प्रभावित करता है:
$>Db2stop [ force ]
$>Db2start
Windows मशीन पर अन्य तरीके भी उपलब्ध हैं, ताकि आप इंस्टेंस के लिए सेवाओं का उपयोग शुरू/रोक/स्वचालित शुरू व्यवहार के लिए कर सकें।
केवल डेटाबेस प्रशासन के उद्देश्य के लिए डेटाबेस इंस्टेंस शुरू करने के लिए, आप नीचे दिए गए कमांड का उपयोग कर सकते हैं: $>db2start admin mode [ user
या
$>QUIESCE DATABASE उपरोक्त कमांड द्वारा डेटाबेस केवल SYSADM, SYSMAINT, DBADM, या SYSCTRL विशेषाधिकार वाले उपयोगकर्ताओं के लिए सुलभ होता है। $>QUIESCE INSTANCE instance-name
उपरोक्त कमांड का उपयोग करके, दिए गए इंस्टेंस के तहत सभी डेटाबेस केवल SYSADM, SYSMAINT या SYSCTRL विशेषाधिकार वाले उपयोगकर्ताओं के लिए सुलभ होंगे।
QUIESCE कमांड का पूर्ण सिंटैक्स:
एक बार डेटाबेस प्रशासन गतिविधियां पूरी हो जाने पर, आप डेटाबेस को DBA-ओनली मोड से सभी के लिए उपलब्ध मोड में बदल सकते हैं, नीचे दिए गए कमांड का उपयोग करके:
UNQUIESCE DATABASE – डेटाबेस को Quiesce मोड से हटाएं
UNQUIESCE INSTANCE instance-name – इंस्टेंस और इंस्टेंस के सभी डेटाबेस को Quiesce मोड से हटाएं
डेटाबेस कैसे बनाएं: DB2 डेटाबेस कई प्रकार के एप्लिकेशन के लिए बनाया जा सकता है, 3 वर्कलोड श्रेणियां हैं:
- सिंपल (ऑनलाइन ट्रांजेक्शन प्रोसेसिंग)
- कॉम्प्लेक्स (ऑनलाइन एनालिटिकल प्रोसेसिंग)
- मिक्स्ड (OLTP और OLAP का मिश्रित प्रकार)
सिंटैक्स: CREATE database testdb1 (विकल्प जैसे: encrypt, पूर्ण सिंटैक्स के लिए IBM DB2 विशिष्ट गाइड देखें);
उदाहरण: db2 create db emp_utf autoconfigure using workload_type simple apply db only
db2 create db emp_utf using codeset utf-8 territory lets us collate using system
db2 drop db emp_utf
6) डिफ़ॉल्ट टेबलस्पेस, टेबलस्पेस बनाएं, टेबलस्पेस सूचीबद्ध करें
DB2 डेटाबेस पर डिफ़ॉल्ट टेबलस्पेस और बफरपूल:
DB2 डेटाबेस 3 डिफ़ॉल्ट टेबलस्पेस के साथ आता है, आप अपनी एप्लिकेशन आवश्यकताओं के अनुसार डिफ़ॉल्ट टेबलस्पेस के अलावा कई टेबलस्पेस बना सकते हैं:
- SYSCATSPACE – इस टेबलस्पेस में सिस्टम कैटलॉग संबंधी विवरण होते हैं।
- TEMPSPACE1 – यह अस्थायी टेबलस्पेस मेमोरी-उन्मुख ऑपरेशन जैसे सॉर्टिंग के लिए उपयोग किया जाता है।
- USERSPACE1 – यह टेबलस्पेस नॉन-डिफ़ॉल्ट डेटाबेस ऑब्जेक्ट के लिए डिफ़ॉल्ट है।
DB2 डेटाबेस में एक डिफ़ॉल्ट बफर पूल भी होता है, जिसका नाम IBMDEFAULTBP होता है।
DB2 डेटाबेस पर टेबलस्पेस बनाएं:
नमूना टेबलस्पेस निर्माण:
आप नए बनाए गए टेबलस्पेस पर टेबल, इंडेक्स, व्यू जैसे ऑब्जेक्ट बना सकते हैं, उदाहरण के लिए, आइए MYTBLS1 टेबलस्पेस पर B नाम की एक टेबल बनाएं।
टेबलस्पेस सूचीबद्ध करें:
आप नीचे दिए गए कमांड का उपयोग कर सकते हैं, और विस्तृत जानकारी खोजने के लिए विकल्पों का उपयोग कर सकते हैं:
db2 list tablespaces [show details]
7) लिसनर कॉन्फ़िगरेशन
आप इंस्टेंस लेवल पर DB2COMM पैरामीटर सेट करके डेटाबेस कनेक्टिविटी विवरण सेटअप कर सकते हैं। आइए वर्तमान लिसनर सेटिंग्स को कनेक्शन के लिए पोर्ट 60000 का उपयोग करने के लिए बदलें, एक बार पोर्ट बदल जाने के बाद आपको नए कनेक्शन के लिए बदले हुए पोर्ट पर सुनना शुरू करने के लिए डेटाबेस सेवाओं को पुनरारंभ करना होगा। कमांड इस प्रकार हैं:
$>db2set -i db2inst1 DB2COMM=tcpip
$>db2 update dbm cfg using SVCENAME 60000
$>db2stop
$>db2start
9) आर्काइव कॉन्फ़िगरेशन
कमांड लाइन प्रोसेसर पर UPDATE DATABASE CONFIGURATION कमांड का उपयोग करके डेटाबेस लॉगिंग विकल्पों को कॉन्फ़िगर करने के लिए:
निर्दिष्ट करें कि आप सर्कुलर लॉगिंग या आर्काइव लॉगिंग का उपयोग करना चाहते हैं। यदि आप सर्कुलर लॉगिंग का उपयोग करना चाहते हैं, तो logarchmeth1 और **logarchmeth2 डेटाबेस कॉन्फ़िगरेशन पैरामीटर्स को OFF पर सेट करना होगा। यह सेटिंग डिफ़ॉल्ट है। आर्काइव लॉगिंग का उपयोग करने के लिए, आपको इन डेटाबेस कॉन्फ़िगरेशन पैरामीटर्स में से कम से कम एक को OFF के अलावा किसी अन्य मान पर सेट करना होगा। उदाहरण के लिए, यदि आप आर्काइव लॉगिंग का उपयोग करना चाहते हैं और आर्काइव्ड लॉग को डिस्क पर सहेजना चाहते हैं, तो निम्न कमांड जारी करें:
db2 update db configuration for mydb using logarchmeth1 disk:/u/dbuser/archived_logs
या
आप IBM® Data Studio, UPDATE DATABASE CONFIGURATION कमांड का उपयोग करके भी डेटाबेस लॉगिंग विकल्पों को कॉन्फ़िगर कर सकते हैं
या
db2CfgSet API
रीडो लॉग जनरेशन से बचने के लिए, आप CREATE TABLE/INDEX कमांड के साथ NOT LOGGED INITIALLY विकल्प का उपयोग कर सकते हैं।
निष्कर्ष
चूंकि डेटाबेस प्रशासन कार्यों में कई गतिविधियां शामिल होती हैं, और मैंने इस ब्लॉग में उनमें से कुछ प्रक्रियाओं का पता लगाने का प्रयास किया है, मुझे यकीन है कि आप IBM DB2 डेटाबेस पर इसकी कई विशेषताओं के लिए हैंड्स-ऑन करना चाहेंगे जो डेटाबेस द्वारा प्रदान की जाती हैं। अधिकांश SQL ऑपरेशन अमेरिकन नेशनल स्टैंडर्ड इंस्टीट्यूट (ANSI) द्वारा परिभाषित SQL मानकों के अनुसार हैं। क्लस्टर्ड डेटाबेस, उच्च उपलब्धता, पार्टीशनिंग, रेप्लिकेशन, मटेरियलाइज़्ड व्यू जैसी अतिरिक्त सुविधाएं, अन्य लोकप्रिय RDBMS जैसे Oracle, PostgreSQL के समान सभी सुरक्षा प्रोटोकॉल को बनाए रखते हुए, और उत्पाद की कीमत, और लगभग सभी प्रौद्योगिकियों से कनेक्टिविटी DB2 को वैश्विक डेटाबेस बाजार में डेवलपर्स की एक विशिष्ट पसंद बनाती है।
हमारे विशेषज्ञ आपके डेटाबेस यात्रा में आपका मार्गदर्शन करें।
किसी भी टिप्पणी या प्रश्न के लिए फीडबैक टैब का उपयोग करें। आप हमारे साथ बातचीत भी शुरू कर सकते हैं।