powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему растет табличное пространство?
36 сообщений из 36, показаны все 2 страниц
Почему растет табличное пространство?
    #39302538
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База на Oracle 10g. В последнее время в одном из табличных пространств стола заканчиваться место. До этого всегда файл dbf этого таблично пространства занимал на диске 5 Гб. Теперь же он вырос до 33 ГБ, я добавил второй, он тоже вырос за месяц до 33 Гб.
Запрос select * from dba_all_tables и просмотр таблиц из этого табличного пространства ничего криминального не показал - таблиц мало и строк в них не много.
Что может быть?
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302552
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossissonБаза на Oracle 10g. В последнее время в одном из табличных пространств стола заканчиваться место. До этого всегда файл dbf этого таблично пространства занимал на диске 5 Гб. Теперь же он вырос до 33 ГБ, я добавил второй, он тоже вырос за месяц до 33 Гб.
Запрос select * from dba_all_tables и просмотр таблиц из этого табличного пространства ничего криминального не показал - таблиц мало и строк в них не много.
Что может быть?
барабашка
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302558
sossisson,

для начала смотреть dba_segments на предмет того, какие сегменты расположены в этом ТП
Далее думать - что и зачем кладет в ТП столько сегментов.
Может кто-то банально делает create table as select <тут запрос, возвращающий дохулион. нет, дохулион мало. пусть будет охулиард строк>, а после делает drop этой table без PURGE, а у тебя корзина, допустим, включена...
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302562
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sossisson,

А каео табл.пространство растет? USERS,SYSTEM,TEMP?
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302567
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В корзине нет удаленных данных из этого ТП.
Табличное пространство растет не системное, а мной созданное.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302573
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossissonВ корзине нет удаленных данных из этого ТП.
Табличное пространство растет не системное, а мной созданное.
что занимает больше всего места в dba_segments?
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302575
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mefman,
похоже нашел. В одной из таблиц в этом ТП порядка 200 тыщ строк и занимает эта таблица 59 ГБ.
Полей в этой таблице мало и в основном текстовые.
Думаю надо сделать аналог таблицы, перенести туда данные, а старую дропнуть без корзины.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302578
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossisson,

alter table move сделай. Удаление таблицы удалит гранты, инвалидирует зависимое и .тп.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302579
sossissonmefman,
похоже нашел. В одной из таблиц в этом ТП порядка 200 тыщ строк и занимает эта таблица 59 ГБ.
Полей в этой таблице мало и в основном текстовые.
Думаю надо сделать аналог таблицы, перенести туда данные, а старую дропнуть без корзины.

не забудь рассказать об успехах.
есть подозрение, что твои телодвижения могут оказаться тщетными...
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302603
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
после пересоздания из dba_sigments ушла та большая таблица, заполненность ТП тоже снизалась до 5%.
Но уменьшить размер реальных файлов не могу
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302609
sossissonНо уменьшить размер реальных файлов не могу это нормально .
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302674
prento
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже правильно советовали сделать move для сегментов табличного пространства (или вообще переместить их в новый таблспейс), объекты ужмутся и можно будет уменьшить датафайлы.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302781
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
prento,
а можно сделать импорт всего tablespace в файл, пересоздать tablespace и накатить данные через export?
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302877
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наоборот, экcпорт в файл, импорт из файла.
Можно, но move проще.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302937
sossissonprento,
а можно сделать импорт всего tablespace в файл, пересоздать tablespace и накатить данные через export?"с тех пор, как появилась команда MOVE, утилиты imp/exp уже не являются инструментами реорганизации таблиц"(с) дядя Том, первый том Oracle для профессионалов.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39302991
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - Эх дядя Том, первый том
это 5
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303323
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mefman,
я пока не делал move. Но вот, что интересно. После пересоздания таблицы в этом же ТП и вставки в нее данных в dba_segments у таблицы нормальный размер в поле BYTES, но стоит вставить в таблицу пару записей, как размер сразу вырастает c 64Мб до 1,5 ГБ.
Почему так?
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303330
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossissonmefman,
я пока не делал move. Но вот, что интересно. После пересоздания таблицы в этом же ТП и вставки в нее данных в dba_segments у таблицы нормальный размер в поле BYTES, но стоит вставить в таблицу пару записей, как размер сразу вырастает c 64Мб до 1,5 ГБ.
Почему так?
вырастает размер чего?
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303333
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantino,
вырастает значение поля BYTES в таблице dba_segments для этой таблицы
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303335
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossissonQ.Tarantino,
вырастает значение поля BYTES в таблице dba_segments для этой таблицы
и какое значение у next extent для таблицы?
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303337
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantino,
PCTFREE 10 TABLESPACE MARS STORAGE ( INITIAL 32M NEXT 32M MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303392
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот пример из dba_segments для трех таблиц, схожих по структуре и кол-во записей в них.
Таблица CARDS явно выделяется по размеру от остальных двух.
После пересоздания таблицы и переноса данных она уменьшается, но стоит начать добавлять в неё строки, как начинается рост.

OWNERSEGMENT_NAMESEGMENT_TYPETABLESPACE_NAMEHEADER_FILEHEADER_BLOCKBYTESBLOCKSEXTENTSINITIAL_EXTENTNEXT_EXTENTMIN_EXTENTSMAX_EXTENTSADMINMAPSTABLETB_SECOND11324618134217728163842335544326710886412147483645ADMINLOCKEDSTABLETB_SECOND11082346710886481921335544326710886412147483645ADMINCARDSTABLETB_SECOND191638442112742891521376256168335544326710886412147483645
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303505
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эхsossissonprento,
а можно сделать импорт всего tablespace в файл, пересоздать tablespace и накатить данные через export?"с тех пор, как появилась команда MOVE, утилиты imp/exp уже не являются инструментами реорганизации таблиц"(с) дядя Том, первый том Oracle для профессионалов.ну все же иногда является (естественно, impdp/expdp в первую очередь). Например, распухло ТП до неприличия и заняло свободное пространство на быстрых дисках, где лежат датафайлы. В такой ситуации выгрузка на медленные диски дампа, удаление и пересоздание ТП и заливка дампа обратно спасет
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303519
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sossissonВот пример из dba_segments для трех таблиц, схожих по структуре и кол-во записей в них. Кол-ва записей как раз и нет.
Собери статистику по таблице и покажи
Код: plsql
1.
select num_rows, num_rows*avg_row_len/8192, blocks from dba_tables where owner='ADMIN' and table_name='CARDS'


Ну и до кучи
Код: plsql
1.
select spare1 from sys.tab$ where obj#=(select object_id from dba_objects where owner='ADMIN' and object_name='CARDS')
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303532
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
1)
NUM_ROWSNUM_ROWS*AVG_ROW_LEN/8192BLOCKS26701210821.32129920
2)
SPARE1736
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303537
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда очень похоже на то, что кто-то пытался вставить много-много строк (таблица разбухала), но что-то пошло не так и транзакция откатилась. Размер при этом обратно не уменьшается
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
tst> create table t1(a number);

Table created.

tst> exec dbms_stats.gather_table_stats(user, 'T1')

PL/SQL procedure successfully completed.

tst> select blocks from user_tables where table_name='T1';

    BLOCKS
----------
         0

tst> insert into t1 select 1 from dual connect by level <= 1e6;

1000000 rows created.

tst> rollback;

Rollback complete.

tst> exec dbms_stats.gather_table_stats(user, 'T1')

PL/SQL procedure successfully completed.

tst> select blocks from user_tables where table_name='T1';

    BLOCKS
----------
      1630

И, возможно, делает это в нескольких сессиях
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303542
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
Вставка в эту таблицу осуществляется только от одного пользователя. Единственное, я не указал что, данные вставляются через конструкцию insert into cards select distinct * from temp причем это вставка осуществляется в несколько потоков одновременно (8 потоков). Но, таким же образом данные вставляются и в две другие таблицы, но они не растут так стремительно.


P.S. а что указывает на ваше предположение ?
Тогда очень похоже на то, что кто-то пытался вставить много-много строк (таблица разбухала), но что-то пошло не так и транзакция откатилась. Размер при этом обратно не уменьшается
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303543
аппенд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудровкто-то пытался вставить много-много строккто-то сильно старается. За меньше суток прибавилось в три раза больше блоков, чем всего строк.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303546
sossisson insert into cards select distinct * from temp причем это вставка осуществляется в несколько потоков одновременно (8 потоков). Можно предположить, что 7 сессий из 8 обламываются на уникальности. Если temp у каждой сессии свой, то distinct намекает на вероятные пересечения между потоками.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303556
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аппендВячеслав Любомудровкто-то пытался вставить много-много строккто-то сильно старается. За меньше суток прибавилось в три раза больше блоков, чем всего строк.Тоже на append было первое подозрение, но append при откате не сохраняет новые блоки
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303557
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
я пробовал с хинтом append вставлять - тоже самое.
Загадка.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303561
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая загадка?
С append как раз будет все нормально (вот только в несколько сессий не получится)
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303562
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
а почему не получится?
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39303567
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что исключительная блокировка на сегмент вешается

Ты лучше ищи почему откатывается большая вставка
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39304138
sossisson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,
в том то и дело, что больших вставок в таблицу нет. За сутки вставляется порядка 100 записей. Может ли такой эффект давать вставка с 8 потоков с хинтом APPEND ?
Хотя по такой же схеме данные вставляются в другие таблицы и с ними все нормуль.
...
Рейтинг: 0 / 0
Почему растет табличное пространство?
    #39304146
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут вот подумался еще сценарий: использование APPEND PARALLEL вставки с использованием большого уровня параллелилизма (соизмеримым с количеством вставляемых строк). Если используется UNIFORM выделение места, то будет выделено не меньше именно такого экстента для каждого параллельного процесса (если у него есть данные для вставки). Т.е. минимум -- экстент размера UNIFORM SIZE даже на 1 строку. Т.е. вставили 100 строк с параллельностью 100 добавилось 100 экстентов размера UNIFORM SIZE. Для AUTOALLOCATE там поведение иначе -- оно подчищает последние недозаполненные экстенты. Т.е. для 100 при строк 100 параллельных процессов добавится 100 экстентов, но по 8 блоков.

Я уже несколько раз давал здесь ссылку на статью Кайта с описанием этой разницы

Все равно, вариант достаточно извращенный
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему растет табличное пространство?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]