programing

SQL 쿼리를 사용하여 Oracle 스키마 크기를 표시하는 방법은 무엇입니까?

subpage 2023. 6. 18. 16:02
반응형

SQL 쿼리를 사용하여 Oracle 스키마 크기를 표시하는 방법은 무엇입니까?

70개 이상의 테이블로 구성된 Oracle 스키마가 있습니다.테이블이 차지하는 HDD 공간을 표시할 수 있는 간단한 페이지를 만들고 싶습니다.SQL 쿼리로 이 값을 가져오려면 어떻게 해야 합니까?

P.S Oracle 아키텍처 버전을 입수하는 방법은 무엇입니까?

당신은 아마 원할 것입니다.

SELECT sum(bytes)
  FROM dba_segments
 WHERE owner = <<owner of schema>>

스키마 소유자로 로그인한 경우에도

SELECT SUM(bytes)
  FROM user_segments

그러면 사용자가 소유한 개체에 할당된 공간이 테이블스페이스에 상관없이 제공됩니다.이러한 쿼리에 의해 할당된 것으로 계산되는 테이블에 빈 공간이 할당될 수 있습니다.

테이블스페이스 사용 가능한 공간 및 인덱스 없이 스키마 크기만 계산하려는 경우:

select
   sum(bytes)/1024/1024 as size_in_mega,
   segment_type
from
   dba_segments
where
   owner='<schema's owner>'
group by
   segment_type;

모든 스키마에 대해

select
   sum(bytes)/1024/1024 as size_in_mega, owner
from
   dba_segments
group by
  owner;
select T.TABLE_NAME, T.TABLESPACE_NAME, t.avg_row_len*t.num_rows from dba_tables t
order by T.TABLE_NAME asc

자세한 옵션은 http://www.dba-oracle.com/t_script_oracle_table_size.htm 을 참조하십시오.

SELECT table_name as Table_Name, row_cnt as Row_Count, SUM(mb) as Size_MB
FROM
  (SELECT in_tbl.table_name,   to_number(extractvalue(xmltype(dbms_xmlgen.getxml('select count(*) c from ' ||ut.table_name)),'/ROWSET/ROW/C')) AS row_cnt , mb
FROM
(SELECT CASE WHEN lob_tables IS NULL THEN table_name WHEN lob_tables IS NOT NULL THEN lob_tables END AS table_name , mb
FROM (SELECT ul.table_name AS lob_tables, us.segment_name AS table_name , us.bytes/1024/1024 MB FROM user_segments us
LEFT JOIN user_lobs ul ON us.segment_name = ul.segment_name ) ) in_tbl INNER JOIN user_tables ut ON in_tbl.table_name = ut.table_name ) GROUP BY table_name, row_cnt ORDER BY 3 DESC;``

위의 쿼리는 특정 사용자의 Table_name, Row_count, Size_in_MB(lob 열 크기 포함)를 제공합니다.

SELECT DS.TABLESPACE_NAME, SEGMENT_NAME, ROUND(SUM(DS.BYTES) / (1024 * 1024)) AS MB
    FROM DBA_SEGMENTS DS
    WHERE SEGMENT_NAME IN (SELECT TABLE_NAME FROM DBA_TABLES) AND SEGMENT_NAME='YOUR_TABLE_NAME'
    GROUP BY DS.TABLESPACE_NAME, SEGMENT_NAME;

언급URL : https://stackoverflow.com/questions/9671219/how-to-display-oracle-schema-size-with-sql-query

반응형