Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
Здравствуйте!

А почему у меня растут количество использованного пространства в SYSTEM и SYSAUX? БД используется так: есть отдельный tablespace фиксированного размера, в одну из его таблиц ежедневно добавляется несколько partitions, в них заливаются данные, затем старые partitions удаляются, чтобы свободное место на в этом tablespace было не менее 1G.

Полгода назад в SYSTEM и SYSAUX было занято вдвое меньше, а сейчас уже близко к 100% (для SYSTEM отведено 500M, для SYSAUX - 300M). Что будет когда они переполнятся, можно ли их почистить и чем они заполняются?

Отдельный вопрос про TEMP tablespace. Плохо ли то, что оно заполнено почти на 100% (остался вообще 1M), можно ли и нужно ли его чистить, а если да, то как?
18 апр 06, 17:01    [2575944]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
Амаразм
Member

Откуда:
Сообщений: 299
Индексы в system валятся? :)
18 апр 06, 17:05    [2575979]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
fortnet
Member

Откуда:
Сообщений: 526
Sysaux может заполняться, например, системной статистикой (AWR) - это видно в dba_scheduler_jobs. Работает по умолчанию, можно поправить параметры ее хранения, отключить и т.д. Могут быть запущены задания по журнализированию выполнения jobs ...
По поводу temp лучше использовать представления v$sort_segment , v$sort_usage.
AskTom
18 апр 06, 17:37    [2576208]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
посмотреть через DBA_SEGMENTS кто таскает место из этих ПТ, по крайней мере SYSTEM, SYSAUX
18 апр 06, 19:15    [2576773]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
Амаразм
Индексы в system валятся? :)


Ни в коем случае
18 апр 06, 20:47    [2577032]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
gelort
Member

Откуда:
Сообщений: 38
Встречал такое, что могут переполнится tablespace SYSTEM аудит данными и тогда произойдет блакировка базы, благо есть спасение юзер сис так как его адит данные не кидаются в aud$ а генерятся файлы. А насколько помнится в 10g под эти вещи отказались от system'a и сделали SYSAUX! могу и ошибаться.
18 апр 06, 21:09    [2577087]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
Sysaux может заполняться, например, системной статистикой (AWR) - это видно в dba_scheduler_jobs. Работает по умолчанию, можно поправить параметры ее хранения, отключить и т.д.


Как поправить параметры хранения?


Могут быть запущены задания по журнализированию выполнения jobs ...


Куда смотреть на их наличие, как выключать?


По поводу temp лучше использовать представления v$sort_segment , v$sort_usage.
AskTom


Судя по ответу, "переполнение" TEMP - вполне нормальное явление
18 апр 06, 22:05    [2577199]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
denix1
посмотреть через DBA_SEGMENTS кто таскает место из этих ПТ, по крайней мере SYSTEM, SYSAUX


SQL> select segment_name, sum(bytes)
  2  from dba_segments where tablespace_name = 'SYSTEM'
  3  group by segment_name
  4  order by 2 desc
  5  /

SEGMENT_NAME                                                                      SUM(BYTES)
--------------------------------------------------------------------------------- ----------
C_OBJ#_INTCOL#                                                                     167772160
I_H_OBJ#_COL#                                                                       61865984
SOURCE$                                                                             28311552
IDL_UB1$                                                                            20971520
C_TOID_VERSION#                                                                     12582912
IDL_UB2$                                                                            10485760
PK_C0                                                                               10485760
PK_CS                                                                               10485760
PK_O                                                                                10485760
PK_CT                                                                               10485760
C_FILE#_BLOCK#                                                                       8388608
INDPART$                                                                             6291456
C_OBJ#                                                                               5242880
OBJ$                                                                                 5242880
ARGUMENT$                                                                            4194304
HIST_HEAD$                                                                           4194304
I_SOURCE1                                                                            4194304
I_OBJ2                                                                               4194304
CACHE_STATS_1$                                                                       3145728
I_HH_OBJ#_COL#                                                                       3145728
SYS_LOB0000000483C00003$$                                                            3145728
VIEW$                                                                                3145728

SQL> select segment_name, sum(bytes)
  2  from dba_segments where tablespace_name = 'SYSAUX'
  3  group by segment_name
  4  order by 2 desc
  5  /

SEGMENT_NAME                                                                      SUM(BYTES)
--------------------------------------------------------------------------------- ----------
WRH$_ACTIVE_SESSION_HISTORY                                                         17891328
I_WRI$_OPTSTAT_H_OBJ#_ICOL#_ST                                                      11534336
MGMT_SEVERITY                                                                       10485760
WRI$_OPTSTAT_HISTGRM_HISTORY                                                         8388608
I_WRI$_OPTSTAT_H_ST                                                                  6291456
SYS_LOB0000008026C00004$$                                                            6291456
MGMT_METRICS_1HOUR_PK                                                                6291456
WRH$_SQLBIND                                                                         5898240
MGMT_METRICS_RAW_PK                                                                  5242880
WRI$_OPTSTAT_HISTHEAD_HISTORY                                                        5242880
WRH$_LATCH                                                                           4653056
WRH$_SQLBIND_PK                                                                      4390912
WRH$_SQLSTAT                                                                         4390912
I_WRI$_OPTSTAT_HH_OBJ_ICOL_ST                                                        4194304
SEVERITY_PRIMARY_KEY                                                                 4194304
WRH$_SEG_STAT                                                                        3997696
WRH$_ACTIVE_SESSION_HISTORY_PK                                                       3538944
WRH$_SQL_PLAN                                                                        3145728
WRI$_ADV_PARAMETERS_PK                                                               3145728
WRH$_LATCH_PK                                                                        2949120
WRH$_PARAMETER                                                                       2949120
WRH$_SYSSTAT_PK                                                                      2949120
WRH$_SYSSTAT                                                                         2949120
WRH$_LATCH_MISSES_SUMMARY                                                            2359296
WRH$_LATCH_MISSES_SUMMARY_PK                                                         2359296

И какие выводы можно сделать?
18 апр 06, 22:06    [2577200]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
Sysaux может заполняться, например, системной статистикой (AWR) - это видно в dba_scheduler_jobs. Работает по умолчанию, можно поправить параметры ее хранения, отключить и т.д.


Как поправить параметры хранения?


Выключил через EM - в SYSAUX стало 30% свободно - уже спокойнее

Могут быть запущены задания по журнализированию выполнения jobs ...


Куда смотреть на их наличие, как выключать?


этот вопрос пока открыт ...
18 апр 06, 22:37    [2577284]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
fortnet
Member

Откуда:
Сообщений: 526
Параметр RETENTION ( DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS) - задает время хранения snapshots для системной статистики в AWR (в мин). Это вероятно поможет уменьшить кол-во записей в ASH - таблице и других WRH.
Можно удалить пачку snapshots. (DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE).
В таблицу dba_scheduler_job_log записывается журнал прохождения задания - возможно она слишком выросла. Можно изменить параметры для задач из scheduler класса - закрыть log (DBMS_SCHEDULER.LOGGING_OFF). Длина доступности журнала определяется параметром задания LOG_HISTORY (default -30 дней).

По поводу temp tablespace поняли правильно, но не исключена возможность bug. (хотя встречается очень не часто).
19 апр 06, 10:50    [2578430]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
Параметр RETENTION ( DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS) - задает время хранения snapshots для системной статистики в AWR (в мин). Это вероятно поможет уменьшить кол-во записей в ASH - таблице и других WRH.
Можно удалить пачку snapshots. (DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE).


Именно так и сделал - удалил все snapshots и выключил AWR (пока не так уж он мне необходим). Имею SYSAUX размером 300M, из них 70% занято. Есть еще что-нибудь, что можно удалить?


В таблицу dba_scheduler_job_log записывается журнал прохождения задания - возможно она слишком выросла. Можно изменить параметры для задач из scheduler класса - закрыть log (DBMS_SCHEDULER.LOGGING_OFF). Длина доступности журнала определяется параметром задания LOG_HISTORY (default -30 дней).


В dba_scheduler_job_log только 2 записи (GATHER_STATS_JOB и PURGE_LOG).

В SYSTEM по прежнему свободно 3,5M. Что еще там есть не жизненно необходимого?

Еще вопрос: можно ли отрезать от TEMP пару гигабайт, чтоб поделиться с SYSTEM и SYSAUX (это, конечно, не отменяет необходимости их очистки).
19 апр 06, 11:55    [2578878]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
fortnet
Member

Откуда:
Сообщений: 526
TBS SYSTEM если аккуратно использовать БД, расти не должно , по крайней мере, интенсивно. Зависит от кол-ва application stored procedure в том числе.
Оно обычно так и создается в притык с возможностью роста.
AWR так и занимает примерно от 200М. Можно еще почистить логи от jobs DBMS_SCHEDULER.PURGE_LOG(), если остались.
Темр можно пересоздать , а освободившееся место отдать под файлы для системных TBS. Не переусердствуйте, от системных TBS уже не сможете отдать обратно, если TEMP(а) будет не хватать. ;)
19 апр 06, 12:33    [2579184]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
TBS SYSTEM если аккуратно использовать БД, расти не должно , по крайней мере, интенсивно. Зависит от кол-ва application stored procedure в том числе.


application stored procedure - это что? Прикладные stored procedures? Их очень мало, несколько десятков


Оно обычно так и создается в притык с возможностью роста.
AWR так и занимает примерно от 200М. Можно еще почистить логи от jobs DBMS_SCHEDULER.PURGE_LOG(), если остались.


выполнил, размер свободного пространства в SYSTEM не изменился


Темр можно пересоздать , а освободившееся место отдать под файлы для системных TBS. Не переусердствуйте, от системных TBS уже не сможете отдать обратно, если TEMP(а) будет не хватать. ;)


Да не хотелось бы вообще этого делать. Может еще кто мусорит в SYSTEM?
19 апр 06, 14:00    [2579849]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
fortnet
Member

Откуда:
Сообщений: 526
Размер свободного пространства не изменится, пока почищенные таблицы не освободят его, т.е понизят свои границы (High Water Mark). Deallocate unused или truncate в случае, если таблица пуста. Найти эти таблицы - в которых произошло удаление данных - и сжать таким образом.
19 апр 06, 15:38    [2580623]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
fortnet
Member

Откуда:
Сообщений: 526
А в system по-моему все только системное и лежит у вас.
19 апр 06, 15:40    [2580630]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
fortnet
Размер свободного пространства не изменится, пока почищенные таблицы не освободят его, т.е понизят свои границы (High Water Mark). Deallocate unused или truncate в случае, если таблица пуста. Найти эти таблицы - в которых произошло удаление данных - и сжать таким образом.


DBMS_SCHEDULER.PURGE_LOG() в отличие от DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE() этого не делает?

Как узнать, что и откуда удалял DBMS_SCHEDULER.PURGE_LOG()?

Но мне кажется, что ничего существенного и не удалялось
19 апр 06, 19:39    [2581740]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
fortnet
А в system по-моему все только системное и лежит у вас.


Проблема лишь в том, что за последние пологода БД практически не изменилась: в одной из таблиц удалилась большая часть partitions, столько же было создано и заполнено данными - объем остался таким же. Но вот в SYSTEM и SYSAUX объем свободного места катастрофически уменьшился, а объем заполненного места в SYSTEM вырос не менее чем вдвое.
19 апр 06, 19:42    [2581748]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
fortnet
Member

Откуда:
Сообщений: 526
EP
Как узнать, что и откуда удалял DBMS_SCHEDULER.PURGE_LOG()?

Можно, например, узнать по собранной статистике для таблиц WRH. Выделено несколько экстентов - строк нет - можно уменьшить таблицу truncat (ом). или через DBMS_SPACE. Сколько у вас SYSTEM занимает - думаю не более 400М - разве это много для SYSTEM 10g ?
20 апр 06, 12:13    [2583701]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
поддерживаю,
размеры SYSTEM и SYSAUX вообщем можно назвать скромными...
особено для 10-ки....

разве что если пользовательских данных лежит всего несколько (десятков) мегабайт, то тогда понятно почему размер SYSTEM и SYSAUX вызывает интерес
21 апр 06, 16:00    [2590260]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
EP
Member

Откуда:
Сообщений: 207
fortnet
EP
Как узнать, что и откуда удалял DBMS_SCHEDULER.PURGE_LOG()?

Можно, например, узнать по собранной статистике для таблиц WRH. Выделено несколько экстентов - строк нет - можно уменьшить таблицу truncat (ом). или через DBMS_SPACE. Сколько у вас SYSTEM занимает - думаю не более 400М - разве это много для SYSTEM 10g ?


WHR лежит в SYSAUX, который меня уже не волнует ;)

А вот в SYSTEM уже 498.44 из 500. Прирост - примерно 1М в 10 дней. Т.е. до катастрофы осталось совсем недолго ;)

Может 500 - это и немного, но, с другой стороны, разве такая утечка - это нормально? Или рекомендуете прикинуть время жизни сервера (вряд ли больше 20 лет, т.е. 7000 дней ;) и добавить к SYSTEM еще 700М?
12 май 06, 09:33    [2655704]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
DimaR
Member

Откуда:
Сообщений: 1570
EP

А вот в SYSTEM уже 498.44 из 500. Прирост - примерно 1М в 10 дней. Т.е. до катастрофы осталось совсем недолго ;)

Может 500 - это и немного, но, с другой стороны, разве такая утечка - это нормально? Или рекомендуете прикинуть время жизни сервера (вряд ли больше 20 лет, т.е. 7000 дней ;) и добавить к SYSTEM еще 700М?


365MB за 10 лет?
Может поставить автоекстенд и забить?
12 май 06, 10:43    [2656039]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
fortnet
Member

Откуда:
Сообщений: 526
2 EP
DimaR

Может поставить автоекстенд и забить?

C maxsize 700 M .

Бог его знает, что он туда у Вас еще пишет.
Соорудите ежедневный отчет по tbs SYSTEM в деталях,
и все узнаете.
12 май 06, 11:51    [2656439]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
В. Татьяна
Member

Откуда:
Сообщений: 183
Проблема такая: автоэкстентом SYSAUX заполнил всю выделенную под него файловую систему.
Сейчас (возможно после чистки AWR) он использует где-то 2 процента от общего размера файла.
Нужно его как то сжать... Пыталась через file resize, выдается ошибка ORA-03297: file contains blocks of data beyond requested RESIZE value
Пробовала для всех таблиц SYSAUX сделать DEALLOCATE UNUSED - не помогло. Вот такой селект, который выдает верхнюю границу, до которой можно уменьшить tablespace все равно выдает полный размер.

select a.tablespace_name,a.file_name,(b.maximum+c.blocks-1)*d.db_block_size/1024/1024 highwater from dba_data_files a ,(select file_id,max(block_id) maximum from dba_extents group by file_id) b ,dba_extents c ,(select value db_block_size from v$parameter where name='db_block_size') d
where a.file_id = b.file_id
and c.file_id = b.file_id
and c.block_id = b.maximum
order by a.tablespace_name,a.file_name;

Как с этим бороться?... Можно ли какими то путями сжать SYSAUX?...
Можно ли как-то его пересоздать?...
9 июн 10, 15:52    [8916859]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
Охрименко
Member

Откуда: Украина, Киев
Сообщений: 1440
В. Татьяна,

Можно, нужно перестроить объекты находящиеся в конце файла, перенести в другое табличное пространство и обратно, тогда объект расположится в свободном месте ближе к началу файла.
9 июн 10, 16:01    [8916926]     Ответить | Цитировать Сообщить модератору
 Re: Почему увеличиваются SYSTEM SYSAUX и TEMP tablespaces  [new]
Takurava
Member

Откуда:
Сообщений: 1776
Охрименко
Можно, нужно перестроить объекты находящиеся в конце файла, перенести в другое табличное пространство и обратно, тогда объект расположится в свободном месте ближе к началу файла.

Абсолютно не гарантировано. Только перенос в другое ТП, сжатие файлов и перенос обратно.
9 июн 10, 16:26    [8917159]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить