|
|
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Сабж выскакивает периодически это плохо или хорошо? В чем дел что то я не додумал при проектировании базы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 10:28:48 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
temp создовал так: CREATE TEMPORARY TABLESPACE temp TEMPFILE '/home/oracle/OraHome1/oradata/orainet/temp01.dbf' SIZE 20M REUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 10:30:01 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Какой у тебя размер параметра sort_area_size? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 10:39:45 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Интересно почему Оракл пытается расширить сегмент на 8192 если выставлено EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M??? Может создать то ты его создал, но либо не назначил его юзеру либо не назначил юзеру квоту на него, тогда Оракл использует обычные таблспейсы для временных сегментов. А вообще причина может быть 1. достигнут макс. размер таблспейса где создается этот сегмент 2. место на диске кончилось в трейсе наверняка найдешь больше информации, в частности, почему unable to extend temp segment by 8192 in tablespace. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 10:39:54 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
а где этот параметр посмотреть в init.ora смотрел нет его там ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 10:52:01 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 10:55:17 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
65536 и что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 10:56:13 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Значит команда создания темп-области у тебя должна быть такая: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 10:59:03 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
ок сделал посморим что буд а в кратце что это за параметр то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 11:22:19 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Размер экстента, должен быть кратным параметру sort_area_size. В твоём случае он должен быть: 64K, 128K, 196K итд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 11:28:29 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
спасибочки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2003, 11:40:11 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
До сих пор полагала, что unable to extend temp segment by ... in tablespace появляется если нет больше места на диске, либо достигнуто максимальное значение экстентов для табличногопространства либо максимальный размер. То что размер экстента должен быть кратным параметру sort_area_size про это я читала, но предполагала, что неследование этому правилу просто ухудшит производительность. Знающие ответ, не сочтите за труд ответить, очень хочется понять. Почему установка размера экстента, нектратного sort_area_size может повлечь unable to extend temp segment? Или все таки проблема в нехватки места? Изначально было temp создовал так: CREATE TEMPORARY TABLESPACE temp TEMPFILE '/home/oracle/OraHome1/oradata/orainet/temp01.dbf' SIZE 20M REUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M; Ораклу необходимо дополнительное место размером 8192, и он пытается добавить экстент, который согласно установке равен 16M и это у него не получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 11:35:42 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Проблема в данном случае в том, что у него очень большой обьём экстента. Временный сегмент может быть использован несколькими сессиями в один и тот-же момент времени, но именно сегмент, а не один и тот-же экстент. Допустим требуется память для операции сортировки одновременно в 3-ёх сессиях. Первая сессия получает экстент размером 16M. Для второй сессии для выделения экстента в файле уже недостаточно места(4M), поэтому и ругань(autoextent выставлен в off). Можно конечно создать табличную область размером 1Gb с экстентами в 16M или выставить autoextent on, но вот в чём вопрос, для чего такие большие экстенты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 11:45:26 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Спасибо, теперь появилась некоторая ясность. Парочка заключительных вопросов Временный сегмент может быть использован несколькими сессиями в один и тот-же момент времени, но именно сегмент, а не один и тот-же экстент. В каком то топике помню проскакивала, что в таком случае сессии выделяется экстент. Это означает что если одна сессия работает с экстентом 16 МБ и пусть даже использует его всего на 20%, для другой сессии будет выделен еще один экстент 16 МБ, если другие заняты. Для второй сессии для выделения экстента в файле уже недостаточно места(4M), поэтому и ругань(autoextent выставлен в off). Понятно теперь что первопричина неправильный выбор значений параметров, остался интересен такой вопрос. Допустим выставлено autoextent on next 4M. Будет ли ругань в этом случае при создании нового экстента размером 16М? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 12:09:52 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
"Допустим выставлено autoextent on next 4M. Будет ли ругань в этом случае при создании нового экстента размером 16М?" Проверь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 12:12:19 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
C имитациями ситуаций у меня пока не очень получается. Представляю примерно так 1) Создать temporary tablespace и присвоить его юзеру 2) В одной сессии выполнить запрос с сортировкой 3) В другой сессии выполнить запрос с сортировкой Надо выполянть сортировку одновремнно? Иначе ведь по окончании выпонения запроса экстент освободиться и эффекта не будет:-) Надо долгоиграющий запрос создавать. Мое предположение - в таком случае при создании экстента 16М датафайл будет расширяться на 4М пока не образуется достаточно места. Чтобы не утруждать отвечающих писаниной, просто напишите правильный вариант 1) будет ругань 2) будет имет место сценарий описнный мною ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 12:27:12 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
"Допустим выставлено autoextent on next 4M. Будет ли ругань в этом случае при создании нового экстента размером 16М?" Во-первых необходимо выставить sort_area_size достаточно малым, что-бы вынудить серверный процесс обратиться к temporary tablespace. Достаточно одним запросом проверить. Дерзайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 12:31:16 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Достаточно одним запросом проверить. То есть создать tablespace типа CREATE TEMPORARY TABLESPACE temp TEMPFILE '/home/oracle/OraHome1/oradata/orainet/temp01.dbf' SIZE 4M REUSE AUTOEXTEND ON NEXT 4M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M; чтобы эффект возникал при первом же запросе с сортировкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 12:42:15 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Как получить информацию о local managed tablespace После его создания Код: plaintext 1. 2. присвоения юзеру и выполнения запроса с сортировкой информация о нем есть только в dba_tablespaces. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. dba_extents; dba_segments; dba_free_space; информацию о нем не содержат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 15:26:15 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Ну так в этом и смысл типа EXTENT MANAGEMENT LOCAL. Используй пакет dbms_space ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 15:30:23 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
А вообще, на твоём месте я бы не отвлекался от подготовки к 1Z0-001. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 15:31:52 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Не могу же я только SQL и PL/SQL заниматься, если по ходу возникают вопросы я стараюсь их выяснить. Но ты прав, на dbms_space я уже отвлекаться не буду пока, отложу до более подходящего момента. А вообще, везде говориться что local managed tablespace это круто и хорошо. В каких случаях вообще тогда оправдано использование dictionary managed tablespaces? Может ли tablespace SYSTEM быть local managed? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 15:38:04 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Оправдано в версиях до 8i. :) А для SYSTEM нет смысла, если его по уму использовать. Не создавать в нём временных и иных сегментов, в том числе и aud$. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2003, 15:45:50 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
Если hash_multiblock_io_count*db_block_size превышает max_io_size, то размер экстентов в temporary должнен быть как минимум max_io_size. max_io_size для WinNT - 64 кб (по словам Oracle), для Linux - 512 кб (есть где-то глубоко в исходниках ядра), для HP-UX - 256 кб. Остальные - see platform-specific server documentation. Hash_multiblock_io_count по умолчанию выставлен в 0, что дает возможность серверу самому подбирать размер хэш-области индивидуально для каждой сессии. Самое интересное, что сервер может несколько недель делать выбор этого параметра так, что он не превышает размера экстента, а потом внезапно поменять свое мнение. Выбор делается исходя из hash_area_size, which defaults to twice the sort_area_size, и характеристик сортировок. Алгоритм простым смертным недоступен :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2003, 11:41:30 |
|
||
|
unable to extend temp segment by 8192 in tablespace
|
|||
|---|---|---|---|
|
#18+
to X-Max: если hash join не используется то данные утвержения не имеют смысла. А если используется, то как показала практика: если размер экстента недостаточный, то запрос не сможет быть выполнен вообще и будет возвращено сообщение об ошибке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2003, 11:55:28 |
|
||
|
|

start [/forum/topic.php?fid=52&startmsg=32171497&tid=1990106]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
181ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 181ms |
| total: | 430ms |

| 0 / 0 |
