powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему растет табличное пространство?
11 сообщений из 36, страница 2 из 2
Почему растет табличное пространство?
    #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
11 сообщений из 36, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Почему растет табличное пространство?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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