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

मैं Oracle में तालिकाओं के आकार की गणना कैसे करूं

आपको इस प्रश्न में रुचि हो सकती है। यह आपको बताता है कि प्रत्येक टेबल के लिए इंडेक्स और टेबल पर किसी भी एलओबी को ध्यान में रखते हुए कितनी जगह आवंटित की जाती है। अक्सर आप यह जानने में रुचि रखते हैं कि "खरीद आदेश तालिका कितनी जगह लेती है, किसी भी अनुक्रमणिका सहित" केवल तालिका के बजाय। आप हमेशा विवरण में तल्लीन कर सकते हैं। ध्यान दें कि इसके लिए DBA_* दृश्यों तक पहुंच की आवश्यकता है।

COLUMN TABLE_NAME FORMAT A32
COLUMN OBJECT_NAME FORMAT A32
COLUMN OWNER FORMAT A10

SELECT
   owner, 
   table_name, 
   TRUNC(sum(bytes)/1024/1024) Meg,
   ROUND( ratio_to_report( sum(bytes) ) over () * 100) Percent
FROM
(SELECT segment_name table_name, owner, bytes
 FROM dba_segments
 WHERE segment_type IN ('TABLE', 'TABLE PARTITION', 'TABLE SUBPARTITION')
 UNION ALL
 SELECT i.table_name, i.owner, s.bytes
 FROM dba_indexes i, dba_segments s
 WHERE s.segment_name = i.index_name
 AND   s.owner = i.owner
 AND   s.segment_type IN ('INDEX', 'INDEX PARTITION', 'INDEX SUBPARTITION')
 UNION ALL
 SELECT l.table_name, l.owner, s.bytes
 FROM dba_lobs l, dba_segments s
 WHERE s.segment_name = l.segment_name
 AND   s.owner = l.owner
 AND   s.segment_type IN ('LOBSEGMENT', 'LOB PARTITION')
 UNION ALL
 SELECT l.table_name, l.owner, s.bytes
 FROM dba_lobs l, dba_segments s
 WHERE s.segment_name = l.index_name
 AND   s.owner = l.owner
 AND   s.segment_type = 'LOBINDEX')
WHERE owner in UPPER('&owner')
GROUP BY table_name, owner
HAVING SUM(bytes)/1024/1024 > 10  /* Ignore really small tables */
ORDER BY SUM(bytes) desc
;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीएल-एसक्यूएल में () कैसे काम करता है?

  2. एसक्लप्लस कैसे कनेक्ट नहीं हो रहा है?

  3. Oracle का उपयोग करके PIVOT के साथ तीन तालिकाओं को एक में संयोजित करें

  4. पीएल/एसक्यूएल में फॉर्म-डेटा और पैरामीटर के साथ एक पोस्ट अनुरोध कैसे भेजा जाए

  5. साउंडेक्स, जारो विंकलर और एडिट डिस्टेंस (UTL_MATCH) का उपयोग करके Oracle डुप्लिकेट कॉलम मानों का मिलान करना