Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> डेटाबेस

Oracle डेटाबेस 12c रिलीज़ 12.1.0.0 की नई प्रदर्शन-ट्यूनिंग सुविधाएँ:भाग 2

मूल रूप से ट्राईकोर द्वारा प्रकाशित:12 अप्रैल, 2017

यह दो-भाग वाली ब्लॉग पोस्ट श्रृंखला Oracle® डेटाबेस में नई प्रदर्शन-ट्यूनिंग सुविधाओं को शामिल करती है। भाग 1 ने Oracleडेटाबेस संस्करण 12.1.0.1 पर चर्चा की। इस अनुवर्ती पोस्ट में संस्करण 12.1.0.2 शामिल है।

इन-मेमोरी कॉलम स्टोर का परिचय

इन-मेमोरी कॉलम स्टोर (आईएम कॉलम स्टोर) सिस्टम ग्लोबल एरिया (एसजीए) का एक वैकल्पिक क्षेत्र है जो टेबल, पार्टीशन और अन्य डेटाबेस ऑब्जेक्ट्स की प्रतियों को कॉलमर प्रारूप में संग्रहीत करता है जो तेजी से स्कैन के लिए अनुकूलित है। IM कॉलम स्टोर एनालिटिक्स, डेटा वेयरहाउसिंग और ऑनलाइन ट्रांजैक्शन प्रोसेसिंग (OLTP) एप्लिकेशन के डेटाबेस प्रदर्शन को तेज करता है।

IM कॉलम स्टोर कैसे काम करता है

IM कॉलम स्टोर SGA में डेटाबेस ऑब्जेक्ट की प्रतियां संग्रहीत करता है। यह डेटाबेस बफर कैश को प्रतिस्थापित नहीं करता है। दोनों मेमोरी क्षेत्र एक ही डेटा को विभिन्न स्वरूपों में संग्रहीत कर सकते हैं। IM कॉलम स्टोर में स्टोर की गई पंक्तियों को कॉलमर फॉर्मेट में बड़े मेमोरी क्षेत्रों में विभाजित किया जाता है। प्रत्येक क्षेत्र के भीतर स्मृति के सन्निहित क्षेत्र में एक कॉलम अलग से रहता है।

आप निम्न में से किसी भी डेटाबेस ऑब्जेक्ट के लिए IM कॉलम स्टोर को सक्षम कर सकते हैं:

  • टेबल्स
  • भौतिक दृश्य
  • विभाजन
  • टेबलस्पेस

आप या तो टेबल के सभी कॉलम को IM कॉलम स्टोर में स्टोर कर सकते हैं, या सिर्फ उनके सबसेट के रूप में स्टोर कर सकते हैं। इसी तरह, एक विभाजित तालिका के लिए, आप या तो तालिका के सभी विभाजनों को संग्रहीत कर सकते हैं, या उनमें से केवल एक सबसेट को संग्रहीत कर सकते हैं। यदि आप टेबलस्पेस स्तर पर IMकॉलम स्टोर को सक्षम करते हैं, तो Oracle डेटाबेस स्वचालित रूप से IM कॉलमस्टोर के लिए टेबल स्पेस में सभी टेबल और भौतिक दृश्यों को सक्षम करता है।

IM कॉलम स्टोर का उपयोग करने के प्रदर्शन लाभ

डिस्क पर के बजाय मेमोरी में डेटाबेस ऑब्जेक्ट्स को स्टोर करना OracleDatabase को स्कैन, क्वेरीज़, जॉइन और एग्रीगेट को बहुत तेज़ी से करने में सक्षम बनाता है। निम्नलिखित कार्य करते समय IMcolumn स्टोर प्रदर्शन को बढ़ावा दे सकता है:

  • बड़ी संख्या में पंक्तियों को स्कैन करना और फ़िल्टर का उपयोग करना
  • स्तंभों के एक बड़े समूह के एक छोटे उपसमुच्चय को क्वेरी करना
  • एक छोटी तालिका को एक बड़ी तालिका में शामिल करना, विशेष रूप से जब शामिल होने की स्थिति अधिकांश पंक्तियों को फ़िल्टर करती है
  • किसी क्वेरी में डेटा एकत्र करना

IM कॉलम स्टोर डेटा मैनिपुलेशन लैंग्वेज (DML) स्टेटमेंट के प्रदर्शन को भी बढ़ाता है। OLTP सिस्टम को आम तौर पर एक्सेस किए गए कॉलम पर कई इंडेक्स बनाने की आवश्यकता होती है। ये इंडेक्स डीएमएल स्टेटमेंट के प्रदर्शन पर नकारात्मक प्रभाव डाल सकते हैं। IM कॉलमस्टोर में डेटाबेस ऑब्जेक्ट को स्टोर करना इन इंडेक्स को अनावश्यक बनाता है क्योंकि स्कैन बहुत तेजी से चलते हैं। अनावश्यक इंडेक्स को खत्म करने से DML स्टेटमेंट के प्रदर्शन में सुधार होता है क्योंकि कम इंडेक्स को अपडेट करना पड़ता है।

Oracle डेटाबेस 12c रिलीज़ 12.1.0.0 की नई प्रदर्शन-ट्यूनिंग सुविधाएँ:भाग 2

छवि स्रोत :Oracle लर्निंग लाइब्रेरी YouTube वीडियो:Oracle डेटाबेस 12cdemos:इन-मेमोरी कॉलम स्टोर आर्किटेक्चर ओवरव्यू

IM कॉलम स्टोर के आवश्यक आकार का अनुमान लगाना

IM कॉलम स्टोर निम्नलिखित संपीड़न विधियों का समर्थन करता है:

संपीड़न विधि इन-मेमोरी डेटा के संपीड़न का क्रम इन-मेमोरी डेटा के संपीड़न की तुलना
कोई MEMCOMPRESS नहीं 1 शून्य
DML के लिए MEMCOMPRESS 2 (कम से कम संपीड़न) B<सभी
कम क्वेरी के लिए MEMCOMPRESS 3 बी<सी<डी
उच्च क्वेरी के लिए MEMCOMPRESS 4 सी<डी<ई
कम क्षमता के लिए MEMCOMPRESS 5 डी<ई<एफ
उच्च क्षमता के लिए MEMCOMPRESS 6 (उच्च संपीड़न) सभी


निम्न उदाहरण दिखाता है कि oe.product_information को कैसे सक्षम किया जाए IM कॉलम स्टोर के लिए तालिका और संपीड़न विधि निर्दिष्ट करती है MEMCOMPRESS FOR CAPACITY HIGH :

SQL>ALTER TABLE oe.product_information INMEMORY MEMCOMPRESS FOR CAPACITY HIGH;

IM कॉलम स्टोर का आकार बदलना

डेटाबेस ऑब्जेक्ट को IMcolumn स्टोर में संग्रहीत करने के लिए आवश्यक मेमोरी निर्धारित करने के बाद, आप INMEMORY_SIZE का उपयोग करके इसका आकार सेट कर सकते हैं आरंभीकरणपैरामीटर।

IM कॉलम स्टोर का आकार सेट करने के लिए निम्न चरणों का उपयोग करें:

  1. INMEMORY_SIZE सेट करें आवश्यक आकार के लिए आरंभीकरण पैरामीटर।

    इस पैरामीटर के लिए डिफ़ॉल्ट मान 0 है , जिसका अर्थ है कि IM कॉलमस्टोर का उपयोग नहीं किया जाता है। IM कॉलम स्टोर को सक्षम करने के लिए, इस पैरामीटर को anonzero मान पर सेट करें।

    एक बहु-किरायेदार वातावरण में, आप प्रति पीडीबी इस पैरामीटर को सेट करके प्रत्येक प्लग करने योग्य डेटाबेस (पीडीबी) के लिए आईएम कॉलमस्टोर का आकार निर्दिष्ट कर सकते हैं। पीडीबी के लिए मानों का योग कंटेनर डेटाबेस (सीडीबी) के मान के बराबर नहीं होता है, और इससे बड़ा हो सकता है।

  2. IM कॉलम स्टोर का आकार सेट करने के बाद, आपको डेटाबेस ऑब्जेक्ट को स्टोर करने के लिए इसे सक्षम करने के लिए अपने डेटाबेस इंस्टेंस को पुनरारंभ करना होगा।

    निम्न उदाहरण दिखाता है कि IM कॉलम स्टोर का आकार 100 GB पर कैसे सेट किया जाए:

     ALTER SYSTEM SET INMEMORY_SIZE = 100G;
    

IM कॉलम स्टोर के लिए प्रबंधनीयता समर्थन

SQL मॉनिटर रिपोर्ट, एक्टिव सेशन हिस्ट्री (ASH) रिपोर्ट और ऑटोमैटिक वर्कलोड रिपोजिटरी (AWR) रिपोर्ट अब विभिन्न इन-मेमोरी ऑपरेशंस के आंकड़े दिखाती है।

डेटाबेस कैशिंग मोड

दो डेटाबेस कैशिंग मोड हैं:

  • डिफ़ॉल्ट डेटाबेस कैशिंग मोड जो Oracle डेटाबेस के पिछले संस्करणों का उपयोग करता है
  • फोर्स फुल डेटाबेस कैशिंग मोड जो Oracle डेटाबेस 12cRelease 1 (12.1.0.2) के लिए नया है

डिफ़ॉल्ट डेटाबेस कैशिंग मोड

डिफ़ॉल्ट रूप से, Oracle डेटाबेस डिफ़ॉल्ट डेटाबेस कैशिंग मोड का उपयोग करता है जब यह पूर्ण तालिका स्कैन करता है।

यदि Oracle डेटाबेस इंस्टेंस यह निर्धारित करता है कि बफर कैश में पूरे डेटाबेस को कैश करने के लिए पर्याप्त जगह है और यह डोसो के लिए फायदेमंद है, तो इंस्टेंस स्वचालित रूप से बफर कैश में पूर्ण डेटाबेस को कैश कर देता है।

यदि इंस्टेंस यह निर्धारित करता है कि बफर कैश में पूर्ण डेटाबेस को कैश करने के लिए पर्याप्त स्थान नहीं है, तो यह निम्नलिखित क्रियाएं करता है:

  • छोटी तालिकाएं जो बफ़र कैश आकार के दो प्रतिशत से कम हैं :इन तालिकाओं को स्मृति में लोड करता है।
  • मध्यम आकार की टेबल :अंतिम टेबल स्कैन और बफर कैश के उम्र बढ़ने के टाइमस्टैम्प के बीच के अंतराल का विश्लेषण करता है। यदि अंतिम तालिका स्कैन में पुन:उपयोग की गई तालिका का आकार शेष बफ़र कैश आकार से बड़ा है, तो तालिका को कैश कर देता है।
  • बड़ी टेबल :जब तक आप KEEP . के लिए तालिका को स्पष्ट रूप से घोषित नहीं करते, तब तक इन्हें मेमोरी में लोड नहीं करता है बफर पूल।

फोर्स फुल डेटाबेस कैशिंग मोड

फ़ोर्स फ़ुल डेटाबेस कैशिंग मोड आपको संपूर्ण डेटाबेस को मेमोरी में कैश करने में सक्षम बनाता है, जो पूर्ण तालिका स्कैन करते समय या बड़े ऑब्जेक्ट (LOBs) तक पहुँचने के दौरान पर्याप्त प्रदर्शन सुधार प्रदान कर सकता है।

डिफ़ॉल्ट कैशिंग मोड में, Oracle डेटाबेस हमेशा अंतर्निहित डेटा को कैश नहीं करता है जब कोई उपयोगकर्ता किसी बड़ी तालिका से पूछताछ करता है। पूर्ण डेटाबेस कैशिंग मोड में, Oracle डेटाबेस मानता है कि बफर कैश पूर्ण डेटाबेस को कैश करने के लिए पर्याप्त है और उन सभी ब्लॉकों को कैश करने का प्रयास करता है जो क्वेरी एक्सेस करते हैं। यह तब सफल होता है जब डेटाबेस का आकार डेटाबेस बफर कैश आकार से छोटा होता है।

Oracle डेटाबेस सभी डेटा फ़ाइलों को बफर कैश में लोड करता है, क्योंकि वे NOCACHE LOB और LOB शामिल हैं, जो Oracle डेटाबेस SecureFiles का उपयोग करते हैं।

Oracle डेटाबेस 12c रिलीज़ 12.1.0.0 की नई प्रदर्शन-ट्यूनिंग सुविधाएँ:भाग 2

छवि स्रोत :पूर्ण डीबी इन-मेमोरी कैशिंग।

बल पूर्ण डेटाबेस कैशिंग मोड का उपयोग कब करें

निम्नलिखित स्थितियों में फ़ोर्स फ़ुल डेटाबेस कैशिंग मोड का उपयोग करने पर विचार करें:

  • तार्किक डेटाबेस आकार (या वास्तविक उपयोग किया गया स्थान) Oracle RealApplication Clusters (RAC) वातावरण में प्रत्येक डेटाबेस उदाहरण के व्यक्तिगत बफर कैश से छोटा होता है। यह अनुशंसा गैर-ओरेकल आरएसी डेटाबेस पर भी लागू होती है।
  • ओरेकल आरएसी वातावरण में अच्छी तरह से विभाजित वर्कलोड (बायइंस्टेंस एक्सेस) के लिए सभी डेटाबेस इंस्टेंस के संयुक्त बफर कैशेस के लॉजिकल डेटाबेस का आकार 80% से छोटा है।
  • डेटाबेस SGA_TARGET का उपयोग करता है या MEMORY_TARGET
  • NOCACHE LOB को कैश करने की आवश्यकता है। NOCACHE LOB को कभी भी कैश नहीं किया जाता है जब तक कि बलपूर्वक पूर्ण डेटाबेस कैशिंग का उपयोग नहीं किया जाता है।

पहली तीन स्थितियों में, आपको यह सत्यापित करने के लिए समय-समय पर सिस्टम के प्रदर्शन की निगरानी करनी चाहिए कि प्रदर्शन संकेतक आपकी अपेक्षाओं को पूरा करते हैं।

नोट :जब एक Oracle RAC डेटाबेस इंस्टेंस बल पूर्ण डेटाबेस कैशिंग मोड का उपयोग करता है, तो Oracle RACenvironment में अन्य सभी डेटाबेस इंस्टेंस भी इस मोड का उपयोग करते हैं। एक बहु-किरायेदार वातावरण में, फ़ोर्स फ़ुलडेटाबेस कैशिंग मोड अपने सभी PDB सहित संपूर्ण CDB पर लागू होता है।

डेटाबेस कैशिंग मोड सेट करें और सत्यापित करें

सबसे पहले, डेटाबेस और मेमोरी साइज की जांच करें। आप SYSAUX . को बाहर कर सकते हैं टेबलस्पेस, जैसा कि निम्नलिखित उदाहरण में दिखाया गया है:

SQL> col size_mb format 9999
SQL> SELECT sum(bytes)/1024/1024 seg_size_mb FROM dba_segments where tablespace_name != 'SYSAUX';
SEG_SIZE_MB
-----------
4971

बफर कैश का आकार जांचने के लिए निम्न आदेश का प्रयोग करें:

SQL> SELECT round(sum(cnum_set * blk_size)/1024/1024) size_mb FROM X$KCBWDS;
SIZE_MB
-------
5283

पूर्ण डेटाबेस कैशिंग के लिए अपने डेटाबेस को कॉन्फ़िगर करने के लिए निम्न चरणों का उपयोग करें:

SQL> startup mount;
Database mounted.

SQL> ALTER DATABASE FORCE FULL DATABASE CACHING;
Database altered.

SQL> SELECT force_full_db_caching FROM v$database;
FORslug: '' ---YES

SQL> alter database open;
Database altered.

यह सत्यापित करने के लिए निम्न चरणों का उपयोग करें कि फ़ोर्स फ़ुल डेटाबेस कैशिंग मोड सक्षम है:

  1. V$DATABASE को क्वेरी करने के लिए निम्न कमांड का उपयोग करें देखें:

     SQL>SELECT FORCE_FULL_DB_CACHING FROM V$DATABASE;
    

    आउटपुट या तो YES है या NO

  2. फ़ोर्स फ़ुल डेटाबेस कैशिंग मोड को सक्षम करने के लिए, निम्नलिखित ALTER DATABASE का उपयोग करें आदेश:

     ALTER DATABASE FORCE FULL DATABASE CACHING;
    

    आदेश निम्नलिखित पुष्टि देता है:

     Database altered.
    
  3. फ़ोर्स फ़ुल डेटाबेस कैशिंग को अक्षम करने के लिए, निम्न कमांड का उपयोग करें:

     SQL> ALTER DATABASE NO FORCE FULL DATABASE CACHING;
    

    आदेश निम्नलिखित पुष्टि देता है:

     Database altered.
    

निष्कर्ष

संक्षेप में, IM कॉलम स्टोर DML स्टेटमेंट के लिए निष्पादन समय को कम करता है, और पूर्ण डेटाबेस कैशिंग मोड को महत्वपूर्ण प्रदर्शन सुधार प्रदान करता है। Oracle डेटाबेस की नई प्रदर्शन-ट्यूनिंग सुविधाओं के बारे में अधिक जानकारी के लिए, Oracle Enterprise Manager (OEM) द्वारा प्रदान की जाने वाली रिपोर्ट देखें।

कोई टिप्पणी करने या प्रश्न पूछने के लिए फ़ीडबैक टैब का उपयोग करें।

संदर्भ

इस ब्लॉग पोस्ट के संदर्भ के रूप में निम्नलिखित स्रोतों का उपयोग किया गया था:

  • डेटाबेस प्रदर्शन ट्यूनिंग गाइड:इन-मेमोरी कॉलम स्टोर का उपयोग करने के प्रदर्शन लाभ

  • पूर्ण डीबी इन-मेमोरी कैशिंग

  • Oracle डेटाबेस 12c डेमो:इन-मेमोरी कॉलम स्टोर आर्किटेक्चर ओवरव्यू


  1. डेटाबेस प्रशासकों के लिए नई Oracle 19c सुविधाएँ

    Oracle® डेटाबेस संस्करण 19c ने कई नई और बेहतर सुविधाओं को पेश किया। परिचय Oracle 19c दीर्घकालिक समर्थन के साथ Oracle डेटाबेस 12c रिलीज़ 2 उत्पाद परिवार में अंतिम है। यह Linux®, Windows®, Solaris®, HP/UX®, और AIX® प्लेटफ़ॉर्म के साथ-साथ Oracle क्लाउड पर उपलब्ध है। Oracle 19c ग्राहकों को उनके सभी परि

  1. रूबी में 9 नई सुविधाएँ 2.6

    रूबी का एक नया संस्करण नई सुविधाओं और प्रदर्शन में सुधार के साथ आ रहा है। क्या आप परिवर्तनों के साथ बने रहना चाहेंगे? आइए एक नज़र डालते हैं! अंतहीन रेंज रूबी 2.5 और पुराने संस्करण पहले से ही अंतहीन श्रेणी के एक रूप का समर्थन करते हैं (Float::INFINITY के साथ) ), लेकिन रूबी 2.6 इसे अगले स्तर पर ले

  1. iOS 11 में संशोधित ऐप स्टोर की 5 नई अद्भुत विशेषताएं

    iOS 11 का नया ऐप स्टोर इसकी प्रमुख विशेषताओं में से एक है। और क्यों नहीं! Apple ने वास्तव में इंटरफ़ेस को नया स्वरूप देने में कुछ उल्लेखनीय परिवर्तन किए हैं। यह पिछले 9 वर्षों से काफी समान है, यह पहली बार है जब ऐप स्टोर में इतने सारे उल्लेखनीय परिवर्तन हुए हैं। नए ऐप स्टोर में और भी बहुत कुछ है जिस