Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

11g . में वृद्धिशील सांख्यिकी एकत्र करना

-11g डेटाबेस ने नई सुविधा एकत्रित करने वाले वृद्धिशील आंकड़े पेश किए हैं

-वृद्धिशील आँकड़े केवल विभाजित तालिकाओं के लिए काम करेंगे जहाँ वैश्विक आँकड़े केवल उन विभाजनों को स्कैन करके अद्यतन किए जाते हैं जो पिछले रन से बदल गए हैं। आम तौर पर नवीनतम विभाजन वे होते हैं जहाँ डेटा डाला जाता है और ज्यादातर पुराने विभाजन अछूते रहते हैं। तालिका पर वृद्धिशील आँकड़ों को सक्षम करने के साथ, केवल उन विभाजनों के आँकड़े एकत्र किए जाते हैं जहाँ उस पर कोई DML होते हैं, शेष स्कैन नहीं किए जाते हैं जो बहुत समय बचाते हैं।

-विभाजित तालिकाएं बड़ी होती हैं और यदि हमें नियमित रूप से इस पर आंकड़े एकत्र करने की आवश्यकता होती है, तो इसमें बहुत समय लगता है और  वृद्धिशील आंकड़े एकत्र करने से आंकड़े एकत्र करने के लिए आवश्यक समय कम हो जाता है

Oracle E-Business Suite में Oracle 11g वृद्धिशील सांख्यिकी संग्रह सुविधा का उदाहरण.

आइए xla_ae_lines का उदाहरण लेते हैं जो एक विभाजन तालिका है और इसमें भारी उपयोग किए गए ERP उदाहरण में कई रिकॉर्ड हैं

वृद्धिशील वरीयता निर्धारित किए बिना परीक्षण केस

-इस टेस्ट केस को करने के लिए पार्टीशन टेबल के रूप में xla_ae_lines_bkp टेबल बनाएं
- xla_ae_lines टेबल से डेटा डालें

xla.xla_Ae_lines_bkp में डालें xla.xla_ae_lines से * चुनें;

2119409 पंक्तियाँ बनाई गईं।

-समय पर समय निर्धारित करें

exec fnd_stats.gather_table_stats('XLA','XLA_AE_LINES_BKP');
PL/SQL प्रक्रिया सफलतापूर्वक पूरी हुई।
बीता हुआ:00:00:49.06
  • डेटा डालने के बाद पहली बार आंकड़े एकत्र करने में 49.06 सेकंड का समय लगा।
  • आंकड़े और वैश्विक और विभाजन स्तर की जांच करें
table_name,to_Char(last_analyzed,'DD-MON-YY HH24:MI:SS') "last_analyzed" को dba_Tables से चुनें जहाँ table_name जैसे 'XLA_AE_LINES_BKP';

TABLE_NAME            अंतिम_विश्लेषण किया गया

——————————————————

XLA_AE_LINES_BKP 09-SEP-16 10:04:34

dba_Tab_partitions जहां table_name जैसे 'XLA_AE_LINES_BKP';

PARTITION_NAME       अंतिम_विश्लेषण किया गया

——————————————————

एपी 09-सितंबर-16 10:04:15

एआर 09-सितंबर-16 10:04:16

सीई 09-सितंबर-16 10:04:16

सीएसटी 09-सितंबर-16 10:04:23

डीपीपी 09-सितंबर-16 10:04:23

मज़ा 09-सितंबर-16 10:04:23

एफवी 09-सितंबर-16 10:04:23

जीएमएफ 09-सितंबर-16 10:04:23

आईजीसी 09-सितंबर-16 10:04:23

आईजीआई 09-सितंबर-16 10:04:23

एलएनएस 09-सितंबर-16 10:04:23

ओएफए 09-सितंबर-16 10:04:23

ओकेएल 09-सितंबर-16 10:04:23

ओजेडएफ 09-सितंबर-16 10:04:23

पीए 09-सितंबर-16 10:04:24

  • आंकड़ों की गणना कैसे की जा रही है यह जांचने के लिए किसी एक विभाजन से डेटा हटाएं
xla.xla_ae_lines_bkp से हटाएं जहां application_id=222;
  • आंकड़े एकत्र करना fnd_Stats का उपयोग करता है
    exec fnd_stats.gather_table_stats('XLA','XLA_AE_LINES_BKP');
    PL/SQL प्रक्रिया सफलतापूर्वक पूरी हुई।
    बीता हुआ:00:00:25.06
  • डेटा हटाने के बाद वरीयता निर्धारित किए बिना आंकड़े इकट्ठा करें। इसमें 25.06 सेकंड का समय लगा
  • वैश्विक आँकड़े और विभाजन आँकड़े जाँच रहा है
table_name,to_Char(last_analyzed,'DD-MON-YY HH24:MI:SS') "last_analyzed" को dba_Tables से चुनें जहाँ table_name जैसे 'XLA_AE_LINES_BKP';

TABLE_NAME ने अंतिम_विश्लेषण किया

——————————————————

XLA_AE_LINES_BKP 09-SEP-16 10:20:26

dba_Tab_partitions जहां table_name जैसे 'XLA_AE_LINES_BKP';

PARTITION_NAME ने अंतिम_विश्लेषण किया

——————————————————

एपी 09-सितंबर-16  10:20:14

एआर 09-सितंबर-16  10:20:14

सीई 09-सितंबर-16  10:20:14

सीएसटी 09-सितंबर-16  10:20:15

डीपीपी 09-सितंबर-16  10:20:15

मज़ा 09-सितंबर-16  10:20:15

एफवी 09-सितंबर-16  10:20:15

जीएमएफ 09-सितंबर-16  10:20:15

आईजीसी 09-सितंबर-16  10:20:15

आईजीआई 09-सितंबर-16  10:20:15

एलएनएस 09-सितंबर-16  10:20:16

ओएफए 09-सितंबर-16  10:20:16

OKL 09-SEP-16  10:20:16

OZF 09-SEP-16  10:20:16

पीए 09-सितंबर-16  10:20:17

नोट:सभी विभाजनों पर आंकड़े एकत्र किए जाते हैं, भले ही केवल एआर पैरिशन डेटा हटा दिया गया हो, last_analyzed सभी विभाजनों के लिए अद्यतन किया जाता है

वृद्धिशील वरीयता सेट करने के साथ परीक्षण केस

  • इस टेस्ट केस को करने के लिए टेबल xla_ae_lines_bkp को पार्टीशन टेबल के रूप में ड्रॉप और रीक्रिएट करें

  • xla_ae_lines तालिका से डेटा सम्मिलित करें

xla.xla_Ae_lines_bkp में डालें xla.xla_ae_lines से * चुनें;

2119409 पंक्तियाँ बनाई गईं।

-समय पर समय निर्धारित करें

exec dbms_stats.set_table_prefs('XLA','XLA_AE_LINES_BKP','INCREMENTAL','TRUE');
  • जांचें कि वरीयता सेट है या नहीं
ड्यूल से dbms_stats.get_prefs('INCREMENTAL','XLA','XLA_AE_LINES_BKP') चुनें;

DBMS_STATS.GET_PREFS('INCREMENTAL','XLA','XLA_AE_LINES_BKP')

————————————————————

सच

  • वरीयता निर्धारित करने के बाद आंकड़े एकत्र करें।
निष्पादित fnd_stats.gather_table_stats('XLA','XLA_AE_LINES_BKP');

PL/SQL प्रक्रिया सफलतापूर्वक पूरी हुई।

बीता हुआ:00:00:25.91

  • वरीयता निर्धारित करने के बाद डेटा प्रविष्टि के बाद पहली बार आंकड़े एकत्र करने में 25.91 सेकंड का समय लगा
  • आंकड़ों के समय की जानकारी की जांच करना
table_name,to_Char(last_analyzed,'DD-MON-YY HH24:MI:SS') "last_analyzed" को dba_Tables से चुनें जहाँ table_name जैसे 'XLA_AE_LINES_BKP';

TABLE_NAME ने अंतिम_विश्लेषण किया

———————————————————

XLA_AE_LINES_BKP               09-सितंबर-16  10:35:32

dba_Tab_partitions जहां table_name जैसे 'XLA_AE_LINES_BKP';

18

PARTITION_NAME ने अंतिम_विश्लेषण किया

——————————————————

एपी 09-सितंबर-16  10:35:30

एआर 09-सितंबर-16  10:35:12

सीई 09-सितंबर-16  10:35:10

सीएसटी 09-सितंबर-16  10:35:21

डीपीपी 09-सितंबर-16  10:35:21

मज़ा 09-सितंबर-16  10:35:12

एफवी 09-सितंबर-16  10:35:10

जीएमएफ 09-सितंबर-16  10:35:10

आईजीसी 09-सितंबर-16  10:35:10

आईजीआई 09-सितंबर-16  10:35:12

एलएनएस 09-सितंबर-16  10:35:10

ओएफए 09-सितंबर-16  10:35:10

OKL 09-सितंबर-16  10:35:12

OZF 09-SEP-16  10:35:30

पीए 09-सितंबर-16  10:35:12

  • एक विभाजन से डेटा को हटाने से यह देखने के लिए कि वृद्धिशील आंकड़े कैसे एकत्र किए जाते हैं, अगली बार जब आंकड़े एकत्र किए जाते हैं तो कैसे मदद मिलेगी।
xla_ae_lines_bkp से हटाएं जहां application_id=222;

100233 पंक्तियां हटाई गईं

  • एप्लिकेशन_आईडी 222 पार्टीशन एआर से डेटा हटाने के बाद आंकड़े इकट्ठा करें
निष्पादित fnd_stats.gather_table_stats('XLA','XLA_AE_LINES_BKP');

PL/SQL प्रक्रिया सफलतापूर्वक पूरी हुई।

बीता हुआ:00:00:4.11

  • एक विभाजन के लिए डेटा को हटाने के बाद वृद्धिशील एकत्रित आंकड़ों में 4.11 सेकंड लगे
  • वैश्विक और विभाजन आंकड़ों की जांच करें
table_name,to_Char(last_analyzed,'DD-MON-YY HH24:MI:SS') "last_analyzed" को dba_Tables से चुनें जहाँ table_name जैसे 'XLA_AE_LINES_BKP';

TABLE_NAME ने अंतिम_विश्लेषण किया

——————————————————

XLA_AE_LINES_BKP 09-SEP-16  10:45:18

dba_Tab_partitions जहां टा

से पार्टीशन_नाम, to_Char(last_analyzed,'DD-MON-YY HH24:MI:SS') "last_analyzed" चुनें

ble_name जैसे 'XLA_AE_LINES_BKP';

PARTITION_NAME ने अंतिम_विश्लेषण किया

——————————————————

एपी 09-सितंबर-16  10:35:30

एआर 09-सितंबर-16  10:45:18

सीई 09-सितंबर-16  10:35:10

सीएसटी 09-सितंबर-16  10:35:21

डीपीपी 09-सितंबर-16  10:35:21

मज़ा 09-सितंबर-16  10:35:12

एफवी 09-सितंबर-16  10:35:10

जीएमएफ 09-सितंबर-16  10:35:10

आईजीसी 09-सितंबर-16  10:35:10

आईजीआई 09-सितंबर-16  10:35:12

एलएनएस 09-सितंबर-16  10:35:10

ओएफए 09-सितंबर-16  10:35:10

OKL 09-SEP-16  10:35:12

ओजेडएफ 09-सितंबर-16  10:35:30

पीए 09-सितंबर-16  10:35:12

ध्यान देने योग्य महत्वपूर्ण बातें, आंकड़े एकत्र किए जाते हैं, केवल AR विभाजन के लिए अंतिम_विश्लेषण की गई तिथि बदल दी जाती है और समय भी कम कर दिया जाता है।

इसलिए हम देखते हैं कि वृद्धिशील आंकड़े एकत्र करने से आंकड़े एकत्र करने का समय कम हो जाता है और यह बड़े विभाजन तालिकाओं के लिए काफी फायदेमंद हो सकता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. R12.2 पर्यावरण को कैसे क्लोन करें

  2. Oracle डाटाबेस में PL/SQL Ref Cursors का परिचय

  3. वास्तविक Oracle SQL स्टेटमेंट को कैसे देखें जिसे निष्पादित किया जा रहा है

  4. Oracle SQL डेवलपर का उपयोग करके CSV को तालिका कैसे निर्यात करें?

  5. Oracle में बूलियन फील्ड