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

Oracle डेटाबेस में आँकड़ों को पुनर्स्थापित करना

यह ब्लॉग पोस्ट इस बात की पड़ताल करती है कि आप Oracle®Database में आँकड़ों को कब और कैसे पुनर्स्थापित कर सकते हैं।

परिचय

एक डेटाबेस प्रशासक (डीबीए) के रूप में, आप शायद अक्सर पाते हैं कि ताजा आंकड़े इकट्ठा करने से अनुकूलक उप-कार्य निष्पादन योजनाओं को निष्पादित करता है। उन मामलों में, आप उस समय के आँकड़ों को पुनर्स्थापित करना चाह सकते हैं जब प्रदर्शन बेहतर था।

हालाँकि, Oracle डेटाबेस के विभिन्न संस्करणों में आँकड़ों को संभालने के तरीके में मामूली बदलाव होते हैं:

  • Oracle 10g ने आसान बहाली के लिए आँकड़ों को स्वचालित रूप से संरक्षित करना शुरू कर दिया।
  • 11.1 और बाद में, Oracle ने एक बेहतर तरीका पेश किया, जिससे आप सांख्यिकीय प्रकाशन को स्थगित कर सकते हैं।

खराब आंकड़ों के प्रदर्शन के संभावित कारण

आपको यह सुनिश्चित करने के लिए आंकड़े एकत्र करना आवश्यक हो सकता है कि अनुकूलक इष्टतम निष्पादन योजनाओं का चयन करता है, लेकिन आंकड़े एकत्र करना SQL कथन के पार्स किए गए प्रतिनिधित्व को अमान्य कर देता है। साथ ही, आँकड़ों को इकट्ठा करने के बाद कथन को दोबारा करने से ऑप्टिमाइज़र एक निष्पादन योजना चुन सकता है जो मूल योजना से अलग और कम अनुकूलित है।

Oracle 10g और बाद के संस्करणों में, आप dbms_stats . का उपयोग करके आंकड़े पुनर्स्थापित कर सकते हैं पैकेज, जो आपको आंकड़ों को पुनर्स्थापित करने और आंकड़ों को निर्यात करने का विकल्प देता है।

डिफ़ॉल्ट रूप से, Oracle 31 दिनों के लिए ऐतिहासिक आंकड़े रखता है, लेकिन आप उस अवधि को बदल सकते हैं।

निम्न छवि वर्तमान अवधारण अवधि दिखाने के लिए SQL कमांड दिखाती है:

Oracle डेटाबेस में आँकड़ों को पुनर्स्थापित करना

अवधारण अवधि बदलने के लिए, निम्न आदेश चलाएँ, जहाँ xx दिनों की संख्या है जिसका आप उपयोग करना चाहते हैं:

 SQL> execute DBMS_STATS.ALTER_STATS_HISTORY_RETENTION (xx)

निम्न क्वेरी आपको यह समझने में मदद करती है कि आप कौन से ऐतिहासिक डेटा आँकड़े पुनर्स्थापित कर सकते हैं:

Oracle डेटाबेस में आँकड़ों को पुनर्स्थापित करना

नोट: यह उदाहरण पहले बताई गई तारीख और बाद के आंकड़ों को दिखाता है।

टेबल आंकड़े बहाल करना

यह उदाहरण दर्शाता है कि किसी पूर्व तिथि से तालिका के आंकड़ों को कैसे पुनर्स्थापित किया जाए।

सबसे पहले, निम्न आदेश चलाकर पहचानें कि कौन से आँकड़े उपलब्ध हैं:

SQL> select TABLE_NAME, STATS_UPDATE_TIME from dba_tab_stats_history where table_name like 'MY_TABLE' and owner='MYSELF' order by 2;

TABLE_NAME      STATS_UPDATE_TIME
--------------- --------------------------------------
MY_TABLE        20-DEC-19 05.32.26.887184 AM -05:00
MY_TABLE        20-DEC-19 10.10.19.361091 PM -05:00
MY_TABLE        21-DEC-19 05.32.14.475934 AM -05:00
MY_TABLE        21-DEC-19 10.10.18.725917 PM -05:00
MY_TABLE        22-DEC-19 10.10.17.841143 PM -05:00
MY_TABLE        23-DEC-19 05.32.56.168779 AM -05:00
MY_TABLE        23-DEC-19 10.10.23.633939 PM -05:00
MY_TABLE        24-DEC-19 05.32.14.082730 AM -05:00
MY_TABLE        24-DEC-19 10.10.21.712948 PM -05:00
MY_TABLE        25-DEC-19 05.32.13.710159 AM -05:00
MY_TABLE        25-DEC-19 10.10.17.836929 PM -05:00
MY_TABLE        26-DEC-19 05.32.14.545533 AM -05:00
MY_TABLE        26-DEC-19 10.10.12.808687 PM -05:00
MY_TABLE        27-DEC-19 05.32.13.779967 AM -05:00

आप देख सकते हैं कि MY_TABLE पिछले कुछ दिनों में कई बार विश्लेषण किया गया था। तालिका के आंकड़ों को पुनर्स्थापित करने के लिए 21-DEC-19 10.10.18.725917 PM -05:00 को एकत्रित किया गया था। , निम्न आदेश चलाएँ:

SQL> execute dbms_stats.restore_table_stats('MYSELF','MY_TABLE','21-DEC-19 10.10.18.725917 PM -05:00');

PL/SQL procedure successfully completed.

स्कीमा आंकड़े बहाल करना

यह उदाहरण दर्शाता है कि किसी पूर्व तिथि से स्कीमा आँकड़ों को कैसे पुनर्स्थापित किया जाए।

तालिका के स्कीमा आँकड़ों को पुनर्स्थापित करने के लिए21-DEC-19 10.10.18.725917 PM -05:00 को एकत्रित किया गया , निम्न आदेश चलाएँ:

SQL> exec dbms_stats.restore_schema_stats(ownname=>'MYSELF', AS_OF_TIMESTAMP=>'21-DEC-19 10.10.18.725917 PM -05:00');

AS_OF_TIMESTAMP . के लिए उपलब्ध स्कीमा आंकड़े विकल्पों को खोजने के लिए , निम्न आदेश चलाएँ और बहाली के लिए उपयुक्त तिथि चुनें:

 select count(*), stats_update_time from dba_tab_stats_history where owner='MYSELF'group by stats_update_time;

अन्य आंकड़े पुनर्स्थापित करें

आपने देखा कि तालिका और स्कीमा आँकड़े कैसे पुनर्स्थापित करें। निम्न सूची उन सभी संस्थाओं को दिखाती है जिनके लिए आप पिछले आंकड़े पुनर्स्थापित कर सकते हैं:

  • TABLE_STATS
  • SCHEMA_STATS
  • DATABASE_STATS
  • DICTIONARY_STATS
  • FIXED_OBJECTS_STATS
  • SYSTEM_STATS

ऐसे आंकड़े निर्यात करें जिन्हें आप सहेजना चाहते हैं

आप निम्न चरणों का पालन करके उन आंकड़ों को निर्यात भी कर सकते हैं जिन्हें आप सहेजना चाहते हैं या परिवर्तन करने से पहले मौजूदा आंकड़ों को निर्यात करना चाहते हैं:

  1. निम्न उदाहरण के समान कमांड चलाकर सांख्यिकी तालिका बनाएं:

    Exec dbms_stats.create_stat_table(स्वयं का नाम => 'MYSELF', stattab => 'MYSELF_STATS_',tblspace => '

    ');

    स्वयं का नाम: स्वामी का नामस्टेटटैब: बनाने के लिए उपयोगकर्ता MYSELF के अंतर्गत tablenametblspace: टेबलस्पेस जिसके तहत इस टेबल को बनाना है

  2. निम्न उदाहरण के समान कमांड चलाकर पूर्ववर्ती तालिका में आँकड़ों को निर्यात करें:

    निष्पादन dbms_stats.export_table_stats('SCHEMA1','TAB1',NULL,'STATS','TAG1_TAB1',TRUE);

    उदाहरण के लिए:

    Exec dbms_stats.export_database_stats(statown => 'MYSELF', stattab => 'MYSELF_STATS');

  3. निष्कर्ष

    इस पोस्ट में दी गई जानकारी और प्रश्न आपको सभी प्रकार के डेटाबेस आँकड़ों (तालिका, डेटाबेस, स्कीमा, फिक्स्ड_ऑब्जेक्ट, सिस्टम और डिक्शनरी) को एक उचित पिछली तारीख तक पुनर्स्थापित करने में मदद करते हैं, जिससे डेटाबेस का सुचारू प्रदर्शन सुनिश्चित होता है।

    कोई भी टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें। बातचीत शुरू करने के लिए आप अभी चैट भी कर सकते हैं।

    हमारी डेटाबेस सेवाओं के बारे में अधिक जानें


    1. क्लाउड में Oracle डाटाबेस (DBaaS) बनाएं

      यह पोस्ट Oracle® क्लाउड में डेटाबेस-ए-ए-सर्विस (DBaaS) डेटाबेस बनाने के लिए सभी आवश्यक कदम प्रदान करती है। परिचय यह सेवा उपयोगकर्ताओं को किसी भी भौतिक हार्डवेयर को स्थापित किए बिना, एक ऑपरेटिंग सिस्टम स्थापित किए बिना, और Oracle डेटाबेस स्थापना पूर्वापेक्षाओं से निपटने के लिए डेटाबेस बनाने में सक्ष

    1. Oracle 19c में DBCA कमांड का उपयोग करके डेटाबेस क्लोन करना

      यह ब्लॉग डेटाबेस कॉन्फ़िगरेशन सहायक (DBCA) का उपयोग करने के तरीकों का परिचय देता है, Oracle 19c में एक नई सुविधा, स्रोत डेटाबेस का बैकअप लिए बिना एक दूरस्थ प्लग करने योग्य डेटाबेस (PDB) को एक कंटेनर डेटाबेस (CDB) में क्लोन करने के लिए। स्रोत से लक्ष्य तक क्लोन करने में कम से कम समय लगता है। स्रोत D

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

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

    © कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित