وبلاگ مسعود حاجی حسن پور

راهکار های عملی اوراکل

راهکار های عملی اوراکل

این وبلاگ جهت به اشتراک گذاری تجربیات و راهکار های عملی در زمینه پایگاه داده اوراکل می باشد.

دستاوردها
طبقه بندی موضوعی

۱ مطلب با موضوع «VLDB» ثبت شده است

ORA-00959 and ORA-14511

ora-error

با سلام خدمت دوستان عزیز

امروز به یک مشکل برخوردم که بعد از رفع عیب دوست دارم تجربیات خود را با شما به اشتراک بذارم.

توی یک پایگاه داده یکی از job های ما با مشکل روبرو شده بود. دلیل مشکل پر شدن archivelog ها بود چون یک procedure اجرا شده بود که در آن پایگاه داده غیر رایج بود و تمام حجم fra به دلیل تغییرات بسیار زیاد بر روی block ها پر کرده بود. پس از رفع مشکل تصمیم گرفتیم کمی سرو سامان بدیم به پایگاه داده.

در حقیقت مقدار زیادی از فضای tablespace خالی بود و فقط فضا روی disk بی مورد اشغال شده بود. برای پیدا کردن مقدار حجم logical‌ و physical میتوانید از اسکریپت زیر که نوشته ام استفاده کنید.

SQL> col tname for a20;
SQL> col "Used space GB" for 99999;
SQL> col "Max space GB" for 99999;
SQL> col "Free space GB" for 99999;
SQL> col percent_free for a15;
SQL> select
  df.tname,
  round(us.used_space/1024/1024/1024) as "Used space GB",
  round(df.max_space/1024/1024/1024) as "Max space GB",
  round((df.max_space - us.used_space)/1024/1024/1024) as "Free space GB",
  round(((df.max_space - us.used_space) * 100) / df.max_space,2)||'%' as percent_free
from
  (
    select TABLESPACE_NAME  as tname,
    sum(case when autoextensible='YES' then maxbytes else bytes end) as max_space
    from DBA_DATA_FILES
    group by TABLESPACE_NAME
  ) df
inner join
  (
    select TABLESPACE_NAME  as tname,
    sum(BYTES) as used_space
    from DBA_segments
    group by  TABLESPACE_NAME
  ) us on (df.tname = us.tname)
--where df.tname in ('TXDATA','TXDATA_IX')
order by round(((df.max_space - us.used_space) * 100) / df.max_space,2);