2016-07-22 3 views
0

У меня возникла проблема с уменьшением свободного пространства табличного пространства. Свободное пространство уменьшилось и продолжает уменьшаться. Но я не знаю, как найти причину этой проблемы. Вы знаете, как найти причину?Oracle: Как найти причину уменьшения freespace в табличном пространстве?

+2

Это, скорее всего, причина, вставив новые данные в таблицы. –

ответ

1

Я бы идентифицировать такие проблемы со следующими шагами:

1) Узнайте, какие таблицы являются самым большим в вашем табличном пространстве. Обычно эти таблицы вызывают проблему, которую вы ищете. Вы можете найти эти таблицы со следующими данными:

select owner, 
    segment_name, 
    segment_type, 
    tablespace_name, 
    sum(bytes)/1024/1024 "SIZE (MB)" 
    from dba_segments 
where tablespace_name = "Your Tablespace" 
group by owner, segment_name, segment_type, tablespace_name 
order by 5 desc; 

2) Теперь у вас есть информация о ваших самых больших столиках. Теперь вы можете проверить, как быстро они растут в последний раз. Например, вы можете использовать историю Optimizer для проверки таблицы РОСТА со следующим утверждением:

select u.name, o.name, savtime, h.rowcnt 
    from sys.user$ u, sys.obj$ o, sys.wri$_optstat_tab_history h 
where h.obj# = o.obj# 
    and o.owner# = u.user# 
    and u.name = "Your Table/Index Owner" 
    and o.name = "Your Table/Index Name" 
order by savtime; 

Теперь ваша очередь, чтобы проверить, если это нормально, что эти таблицы растут так много. Если вы не можете найти свои проблемы с этими шагами, также возможно иметь другие проблемы в вашем табличном пространстве. Проверьте документацию Oracle для таблицы Fragemtation. Возможно, эта ссылка также может вам помочь: https://docs.oracle.com/cd/B28359_01/server.111/b28310/schema003.htm