میخوایم نحوه چک کردن سایز فعلی دیتابیس اوراکل رو برای Non-CDB و CDBها ببینیم. اکثرا این اطلاعات در نرمافزارهایی مثل Toad For Oracle به سادگی قابل روئیت هستند اما اگر شما در سایت عملیاتی باشید و دسترسی به ابزار نداشته باشید بهترین راهکار اجرای کوئری در sqlplus هستش.
محیط Non-CDB
چک کردن سایز اشغال شده دیتافایلها در دیسک:
select sum(bytes)/1024/1024 size_in_mb from dba_data_files;
چک کردن تمام فضای استفاده شده توسط سگمنتها:
select sum(bytes)/1024/1024 size_in_mb from dba_segments;
چک کردن سایز اسکیماها در اوراکل:
select owner, sum(bytes)/1024/1024 Size_MB from dba_segments group by owner;
چک کردن فضای آزاد و فضای اشغال شده در دیتابیس:
select
"Reserved_Space(MB)", "Reserved_Space(MB)" - "Free_Space(MB)" "Used_Space(MB)","Free_Space(MB)"
from(
select
(select sum(bytes/(1014*1024)) from dba_data_files) "Reserved_Space(MB)",
(select sum(bytes/(1024*1024)) from dba_free_space) "Free_Space(MB)"
from dual );
چک کردن سایز تمام فایلهای دیتابیس بعلاوه tempها و redoها:
select
( select sum(bytes)/1024/1024/1024 data_size from dba_data_files ) +
( select nvl(sum(bytes),0)/1024/1024/1024 temp_size from dba_temp_files ) +
( select sum(bytes)/1024/1024/1024 redo_size from sys.v_$log ) +
( select sum(BLOCK_SIZE*FILE_SIZE_BLKS)/1024/1024/1024 controlfile_size from v$controlfile) "Size in GB"
from
dual;
محیط CDB و دیتابیسهای PDB
چک کردن سایز PDB:
select con_id, name, open_mode, total_size from v$pdbs;
چک کردن سایز CDB:
select sum(size)/1024/1024/1024 from cdb_data_files;
منبع
https://smarttechways.com/2018/04/23/check-the-size-of-oracle-database-and-pdbs-database/