Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Параметр PCTFREE  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
Предположим есть таблица на 100Gb. PctFree = 10. DML: 99% INSERT + 1% UPDATE.

Что хочется сделать:
1. Создать новую таблицу с PctFree = 0.
2. Залить туда данные их исходной.
3. Сделать alter table ... pctfree 10;

Правильно ли я понимаю, что
1. Новые блоки будут создаваться с pctfree 10, а заполненные блоки останутся с pctfree 0.
2. Проблем с ITL не будет
16 окт 13, 11:02    [14978531]     Ответить | Цитировать Сообщить модератору
 Re: Параметр PCTFREE  [new]
svavka
Member

Откуда:
Сообщений: 26
1. Да, старые блоки пересоздаваться не будут после alter table
2. Если это таблица, c которой работа (update) будет идти только с новыми записями, то проблем не будет, если конечно к этим новым записям не будет ломиться и пытаться апдейтить 30 "длинных" транзакций.
16 окт 13, 11:18    [14978646]     Ответить | Цитировать Сообщить модератору
 Re: Параметр PCTFREE  [new]
svavka
Member

Откуда:
Сообщений: 26
число 30 я взал случайно большое число - лимит устанавливается индивидуально - в зависимости от заполненности блоков, размера обновляемых данных
16 окт 13, 11:20    [14978658]     Ответить | Цитировать Сообщить модератору
 Re: Параметр PCTFREE  [new]
Elic
Member

Откуда:
Сообщений: 29979
ORA__SQL
1. Новые блоки будут создаваться с pctfree 10, а заполненные блоки останутся с pctfree 0.
RTFM ALTER TABLE:
SQL Language Reference
If you alter the PCTFREE setting, then you must ... to implement the new setting on blocks already allocated to the segment.

ORA__SQL
2. Проблем с ITL не будет
Каких проблем?
16 окт 13, 11:27    [14978700]     Ответить | Цитировать Сообщить модератору
 Re: Параметр PCTFREE  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
Elic
SQL Language Reference
If you alter the PCTFREE setting, then you must ... to implement the new setting on blocks already allocated to the segment.
Почему must? Я не хочу устанавливать pctfree для уже занятых блоков.

Elic
Каких проблем?
Вестимо проблем с ITL ожиданиями, когда блок забит под завязку (pctfree=0)
16 окт 13, 11:41    [14978833]     Ответить | Цитировать Сообщить модератору
 Re: Параметр PCTFREE  [new]
-2-
Member

Откуда:
Сообщений: 15330
ORA__SQL
PctFree = 10.
а ты уверен, что игра стоит свеч?
svavka
1. Да, старые блоки пересоздаваться не будут после alter table.
альтер альтеру рознь.
16 окт 13, 11:45    [14978871]     Ответить | Цитировать Сообщить модератору
 Re: Параметр PCTFREE  [new]
svavka
Member

Откуда:
Сообщений: 26
автор
Вестимо проблем с ITL ожиданиями, когда блок забит под завязку (pctfree=0)

на самом деле, не специально, блок очень сложно забить под завязку, чтоб совсем места не осталось...
16 окт 13, 11:46    [14978880]     Ответить | Цитировать Сообщить модератору
 Re: Параметр PCTFREE  [new]
svavka
Member

Откуда:
Сообщений: 26
-2-
альтер альтеру рознь

я так понимаю идет речь о простом изменении
ALTER TABLE tbl1 PCTFREE 10;
16 окт 13, 11:49    [14978910]     Ответить | Цитировать Сообщить модератору
 Re: Параметр PCTFREE  [new]
ORA__SQL
Member

Откуда: Moscow
Сообщений: 1774
-2-
ORA__SQL
PctFree = 10.
а ты уверен, что игра стоит свеч?
Это как одна из активностей по экономии места.
Очевидно ради только одного изменения PctFree затевать переливку данных не стоит.
А если переливать все равно будут почему бы и не помудрить с параметрами хранения
16 окт 13, 11:56    [14978946]     Ответить | Цитировать Сообщить модератору
 Re: Параметр PCTFREE  [new]
Elic
Member

Откуда:
Сообщений: 29979
ORA__SQL
Elic
пропущено...
Почему must? Я не хочу устанавливать pctfree для уже занятых блоков.
А разве дока тебя заставляет?
16 окт 13, 12:08    [14979042]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить