|
|
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
При запуске процедуры, в которой 8 запросов, после выполнения каждого увеличивается temp, раньше он равномерно распухал и вся процедура выполнялась. А вот в этот раз уже после первого запроса сильно распух, да так, что Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Размер temp02.dbf 500M, распухает до 1000M Temp -permanent Но было создано еще пространство temp2 размером 1000M, но на другом диске M и temporary EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M Не могу понять почему он пухнет и почему после создания temp2 распух так быстро и с таким эффектом. Подскажите, пожалуйста... (8.1.5.0.0 под NT 4.0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 10:47:03 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Оптимально - чтобы совсем не было сортировок. Желательно - чтобы сортировки производились в памяти. Допустимо - чтобы не возникало подобных ситуаций. Очевидно, проблема в SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 10:58:32 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Вроде бы уже эта проблема уже обсуждалась, что для каждой операции создавались слишком большие экстенты, котоые однако использовались лишь незначительно. Интересно было бы посмотреть на полный текст команд создания этих temp. tablespaces. Их в студию?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 11:07:17 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
> Очевидно, проблема в SQL Скорее всего. Нужно бы посмотреть планы выполнения запросов и понять, почему столько данных летит в темп. Возможно там sort-merge join для больших таблиц, что можно попробовать вылечить. Вот если там order by с таким критерием, что по нему нельзя создать индекс - тогда тяжелее. Ну и еще туда могут данные global temporary таблиц попадать, но это как раз всегда явно видно из SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 11:22:06 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
CREATE TEMPORARY TABLESPACE TEMP2 TEMPFILE 'M:\ORACLE\ORADATA\DATA\TEMP2.DBF' SIZE 1000M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M; а вот для temp сказать не могу, создавалось задолго до меня, но он permanent extents managed in the dictionary (не надо только за это меня сейчас ругать :-() initial size 10 Kb next size 10 Kb minimum size 0 Increment Size by 50% (наверное это неправильно?, но ранее работало) minimum Number 1 Maximum number value 121 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 11:26:21 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
А пухнуть он начал не после того как SORT_AREA_SIZE уменьшили. Был такая рекомендация где-то ниже. В общем действительно, надо что то подравить в "кулинарном техникуме" - приложении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 11:31:01 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Как я поняла, пухнет temp а не temp2 А у temp initial size 10 Kb next size 10 Kb Increment Size by 50% (наверное это неправильно?, но ранее работало) Может в этом причина, next size 10 Kb маленький, так что необходимость добавлять экстенты возникает часто. А поскольку каждый слеюущий экстент больше на 50% предыдущего, то понятно, почему пухнет. to Eter А пухнуть он начал не после того как SORT_AREA_SIZE уменьшили. Это ведь потому, что из за маленького размера, Оракл стал вынужден использовать диск для осуществления сортировки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 11:41:12 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
да, была такая рекомендация но я устала от экспериментов с этим параметром и просто вернула все на свои места, как это было раньше(заменила init.ora старым) (тогда медленнее, но работало), только temp2 не стала удалять но вот появилась такая неприятность с распухшим temp-ом ... полгода эта несчастная процедура выполнялась, а сейчас temp вдруг распух сразу, с такими печальными последствиями :-( вообще мне моя работа на оракл напоминают одну хорошую фразу - не трогай технику и она тебя не подведет :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 11:44:27 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Kate_new А создать клон и поэкспериментировать не получиться? не трогай технику и она тебя не подведет Для Оракл это не так, поэтому и существует ярко выраженная профессия DBA:-) полгода эта несчастная процедура выполнялась, а сейчас temp вдруг распух сразу, с такими печальными последствиями база же живет, постоянно меняется. возможно объем данных достиг критического уровня, при котором и начали возникать такие негативные эффекты. Вот здесь то и нужен DBA. Вообще те кто решают серьезно завязываться на Оракл но отказываются от профессиональных DBA, идут на очень большой риск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 11:59:34 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Народ, а я думаю дело не в бобине.... Посмотри скорее всего просто увеличились объемы выборок и соотвественно сортировок, а Sort_Area как ты говоришь маленький....а может быть у таблспейса чудесным образом пропала галочка online temporary и при отрыве юзера не происходит очистка....а еще может быть что какой то из ваших программистов наструячил туда индексов.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:06:32 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Kate_new: "Но было создано еще пространство temp2 размером 1000M, но на другом диске M и temporary EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M Не могу понять почему он пухнет и почему после создания temp2 распух так быстро и с таким эффектом. Подскажите, пожалуйста... " Можно еще бесконечное множество создавать таких временных областей, как Код: plaintext 1. 2. 3. Но пользователь будет использовать только то которое ему назначено как TEMPORARY DEFAULT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:06:58 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Все это печально, потому что 1) А создать клон и поэкспериментировать не получиться? нет возможности, не на чем 2) Вообще те кто решают серьезно завязываться на Оракл но отказываются от профессиональных DBA, идут на очень большой риск. не по своей воле :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:07:43 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
а softbuilder - то прав.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:09:52 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 softbuilder@inbox.ru ну вот, но я же написала alter user person temporary tablespace TEMP2 или это не влияет? а нельзя заставить его использовать еще один temp? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:11:43 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Kate_new А может в приложении в запросах есть явное указание что надо использовать пространство temp для сортировки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:13:28 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 Violina нет такого, я бы до такого не додумалась :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:15:04 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Согласен с Violina next size 1 Mb Increment Size by 0% А какой нынче sort_area_size? и был такой параметр optimizer_mode, какое у него значение. Есть быль поменять его на RULE может быть будет хорошо. Но это не рекомендация это тема для обсуждения. У вас явно криво написаное приложение. Оно рассчитано на небольшие объемы базы и (см рекомендованные объем sort_area_size) мощные сервера. И опять таки как сказала Violina, вызовите НАСТОЯЩЕГО DBA, чтобы вам систему хотя бы заставил крутится оптимально. У него на это уйдет время зато потом вы сможете (если ничего не произойдет)жить некоторое время (ну полгода) долго и счастливо. У вас же нет сверх высоких требований к системе, если вы можете позволить системе выполнять какие-то операции по 8 часов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:15:16 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
нет такого, я бы до такого не додумалась :-) Так что приложение ты пишешь/поддерживаешь? Явное указание что надо использовать пространство temp для сортировки задается в тексте запроса. Если не это, Тогда я не понимаю почему несмотря на alter user person temporary tablespace TEMP2 оракл использует temp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:20:05 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 Eter Panji Rule не катит , проверено временем(причем довольно большим временем) Вы так насели на меня из-за DBA, ну а если нет возможности, это ведь не от меня зависит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:21:00 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Процедура может выполняться под аккаунтом создателя. И здесь можно получить что пользователь указал один temp а используется другой. Хотя здесь по-моему это не в тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:27:46 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 Violina Так что приложение ты пишешь/поддерживаешь? получается так, только в результате ни одного зайца хотя бы за лапы поймать не могу :-) Явное указание что надо использовать пространство temp для сортировки задается в тексте запроса А как? Что-то я в хинтах поискала и не нашла, может я не там смотрю? у меня 8.1.5.0.0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:31:44 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
меня вот всегда занимал вопрос зачем явно закрывать курсоры если они по завершении сессии всё равно очищаются. Может быть это является причиной того что пухнет temp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:31:55 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Violina: "А может в приложении в запросах есть явное указание что надо использовать пространство temp для сортировки?" Можно узнать, как это делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:32:12 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 Eter Panji нет никакого приложения - 8 запросов и все insert ... select commit; insert ... select commit; и т.д. 2 softbuilder@inbox.ru я же написала alter user person temporary tablespace TEMP2 или это не влияет? а нельзя заставить его использовать еще один temp? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:35:15 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Kate_new: Согласно вашему повествованию: Код: plaintext 1. 2. 3. 4. temp02.dbf распух у вас до 1000M еще до создания temp2. Потом, что означает фразы "Temp -permanent ". Что у вас область temp перманентная? Для чего вы используете перманентную область для временных сегментов? Уже не первый топик ваш вижу в форуме и все они отличаются запутаннностью излагаемой проблемы, тем что вы сам и не понимаете что делаете, делаете почти механически не вникая в суть. Мне кажется при таком подходе вам ни форум никто еще не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:45:41 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Во первых можно подумать о BULK пусть меня поправят товарищи. Во вторых INSERT INTO SELECT я представляю так что считывается выборка из первой таблицы потом она формируется в памяти и ставится в соответствие полям новой таблицы, а затем делается инсерт. В своей практике я сталкивался с вещами когда явное разбиение одного запроса на несколько более мелких давало выигрыш в производительности. Может быть из 8 можно сделать 80 с коммитом после каждого тогда и нагрузка на редологи будет меньше и памяти будет затребовано меньше. И подумать чтобы в select в join не было HASH & MERGE Есть еще INSERT APPEND тоже должен помочь если диска не жалко и операций удаления почти нет. Да хотелось бы STORAGE параметры входящей таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 12:47:15 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to softbuilder Можно узнать, как это делается? Уже из вопроса понятно, что я по видимому прогнала:-) так и оказалось:-) Жутко извиняюсь, я была уверена что это возможно по принципу как с явным указанием RBS для транзакции. Спасибо за поправку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:14:43 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Violina: Нет, ну почему-же? :) А может можно. Просто я не помню такого. Может быть ты обладаешь тайным знанием, а я нет. Может в 9i такое появилось, ты же у нас спец по 9i, как я понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:19:44 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to softbuilder Не подкалывай, а:-) Я же только учусь, пока что добросовестно прочитала Concepts и Administrator's guide по 9i, что мне теперь очень помогает при чтении продвинутых книг. Я когда не уверена, стараюсь не выдвигать предложения, но вот когда абсолютно уверена в чем то, что однако не правильно, тогда увы - со спокойной душой пишу чушь. Благо есть softbuilder, который ее на корню пресекает:-) Одно утешает, не я одна грешу этим:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:28:47 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Violina: Я не подкалываю, честное слово. А знать об Oracle всё - это невозможно. Если где-нибудь, когда-нибудь увидишь человека, который скажет что он знает об Oracle всё - можешь, гнать его в шею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:38:16 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 softbuilder@inbox.ru а Вы просто не можете ответить, как заставить использовать еще один темп? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:38:24 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to all Как можно узнать есть ли у базы DEFAULT TEMPORARY TABLESPACE, назначенный командой ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp_ts; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:45:42 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Добавить еще файл (1,2,3, ...) к ТП temp02 (сколько найдете места на разных дисках) и задать им сразу необходимый и окончательный (максимальный) размер. Если не хватит, прикупить еще дисков - они сейчас достаточно дешевы, и рано или поздно эти 8 запросов выполнятся! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:46:36 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
У Kate_new 8.1.5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:54:24 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Kate_new: Как можно вам помочь, если вы толком не можете обьяснить что вам нужно? Попытаюсь понять: у вас есть временная табличная область и вам не хватает её, вы хотите увеличть её размер? Если это так, тогда так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:57:23 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 Violina Или это был вопрос ? SELECT * FROM DATABASE_PROPERTIES WHERE property_name = 'DEFAULT_TEMP_TABLESPACE' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 13:59:36 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Жаль конечно, что решения не нашли, тема была бы очень информативна и поучительна. Может temp стал сильно фрагментирован и поэтому стал распухать вместо использования имеющегося пространства? to Experts Как вы смотрите на вариант пересоздания табл. пространства temp? Там ведь нет критических объектов? to Kate_new А файл E:\ORACLE\ORADATA\DATA\TEMP02.DBF принадлежит temp или temp2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 14:00:14 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 Violina temp02 файл temp (у него два файла: temp01,temp02) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 14:03:05 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Violina: "Как можно узнать есть ли у базы DEFAULT TEMPORARY TABLESPACE, назначенный командой" Вообще когда когда при создании юзера не указывается ни DEFAULT TABLESPACE ни TEMPORARY TABLESPACE, то по умолчанию используется SYSTEM. Узнать же как назначаны области юзерам можно из dba_users: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 14:07:22 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
И все-таки, удалось ли выяснить чем заняты темп-сегменты или нет? Если в базе в этот момент работают только insert ... select , то там по идее не должно быть order by (зачем бы они там сдались?) и очень возможно появление sort-merge в плане запроса. Это есть или нет? Выборка из sort_usage что показывает??? Если бы temp2 не было temporary, можно было бы фантазировать на тему того, что там тоже находятся данные таблиц. В "нашем" случае - отпадает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 14:18:32 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
все что есть Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: plaintext 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 14:41:43 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Angel DATABASE_PROPERTIES Это я и хотела узнать. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 14:54:24 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Уже информативнее. Попробуйте (если есть возможность... Хотя бы план исполнения) с хинтом /*+ use_hash (<тут перечислить таблицы>) */ - снизится ли стоимость запроса (т.е. уйдет ли sort-merge, что для нас важнее :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 15:01:20 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
USER TABLESPACE BLOCKS ------------------------------ ------------------------------- --------- SYSTEM TEMP 122918 SYSTEM TEMP 184363 Это sort_usage, верно? Вот оно - место в темп :-) Больше 300000 блоков (какой там у Вас размер блока?) Сортировка потребовалась для - - Join операций - group by - distinct Вы можете как-то влиять на логику приложения? К примеру, distinct делать не при инсерте, а при последующей выборке из результирующей таблицы? Или при последующих выборках очень важна скорость и это недопустимо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 15:08:31 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Kate_new Все таки интересно, почему вдруг стало не хватать. Опубликуй результаты следующих запросов: column tablespace_name format a15 column file_name format a20 Код: plaintext Код: plaintext Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 15:18:14 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
вообщем, попорядку 1) стоимость черт знает какая, потому что нет статистики по трем таблицам из четырех, это сделано намеренно, т.к. со статистикой выполняется очень хорошо и быстро и без хинтов, но уже 3-тий запрос напрочь отказывается работать, почему уже пыталась выяснить, но ....вообщем плохо все закончилось - вернула все назад, теперь темп пухнет похоже, когда нет статистики она формирует cost отбалды 2) ранее (когда все работало) пробовала с хинтом /*+ use_hash - работает медленнее раза в 2-3 3) когда RULE, вообще одни NESTED LOOP, но это никак не помогает :-( заметила, что темп пухнет именно от этого запроса такой же , но немного измененный выполняется person.for_find_new_2 FF - это вьюшка, в которой select id as cl_id from smo_report1 minus select cl_id from find_results которая выполняется моментом Код: plaintext 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 15:23:39 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
> ранее (когда все работало) пробовала с хинтом /*+ use_hash - работает медленнее раза в 2-3 Наверное, мне везло, но всегда hash-join работал шустрее sort-merge-join. Это, опять же, только проверять... Имеется ли индекс на эти поля (которые определяют join двух таблиц)?? R.birthday=H.birthday and R.lastname=H.lastname and R.firstname=H.firstname and replace(R.paper_sernum,' ')=replace(H.paper_sernum,' ') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 15:40:42 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 Roman_M Наверное, мне везло, но всегда hash-join работал шустрее sort-merge-join. Это, опять же, только проверять... Это печально, но факт... Имеется ли индекс на эти поля (которые определяют join двух таблиц)?? R.birthday=H.birthday and R.lastname=H.lastname and R.firstname=H.firstname and replace(R.paper_sernum,' ')=replace(H.paper_sernum,' ') да, для smo_report1 - B_L_M_F_smo1 (birthday,lastname,midname,firstname) как я понимаю, захватится ведущая часть индекса по функции у меня как-то индекс не подхватывается, не могу понять почему и не только в этом случае 2 Violina Код: plaintext 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. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. Очень стыдно признаться, но еще раз сделала alter user person temporary tablespace temp2 и сразу в первом селекте вместо темп нарисовался темп2, может перестаралась с откатом назад :-(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 15:54:09 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Очень стыдно признаться, но еще раз сделала alter user person temporary tablespace temp2 и сразу в первом селекте вместо темп нарисовался темп2, может перестаралась с откатом назад :-(( Откатиться операция alter user ... не могла. Давай определимся, 1) Процедура выполняется под юзером person? Insert into person.find_results ... об этом ничего не говорит, может ты из под sys это выполняешь? 2) удалось сделать чтобы temporary tablespace для юзера person был temp2? Если да то надо проверить, продолжает ли появляеться эта проблема в этом случае. 3) Если хотим дальше использовать пространство temp. Попробуй вызвать ALTER TABLESPACE TEMP coaleasce; Проверь, продолжает ли появляеться эта проблема в этом случае. Не совсе понятно где же объявленные Increment Size by 50%? Покажи результат select * from dba_data_files where tablespace_name='TEMP'; select * from dba_tablespaces where tablespace_name='TEMP'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 16:24:48 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
1) Процедура выполняется под юзером person? Insert into person.find_results ... об этом ничего не говорит, может ты из под sys это выполняешь? захожу под system 2) удалось сделать чтобы temporary tablespace для юзера person был temp2? Если да то надо проверить, продолжает ли появляеться эта проблема в этом случае. Проверю 3) Если хотим дальше использовать пространство temp. Попробуй вызвать ALTER TABLESPACE TEMP coaleasce; А как может помочь сливание экстентов в этом случае? Не совсе понятно где же объявленные Increment Size by 50%? Почему непонятно, в третьем запросе размер каждого нового экстента увеличивается на 50 % Покажи результат select * from dba_data_files where tablespace_name='TEMP'; Код: plaintext 1. 2. 3. 4. select * from dba_tablespaces where tablespace_name='TEMP'; Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 16:57:02 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
захожу под system ну так тогда и используется default temporary tablespace юзера system. Ты можешь сколь угодно менять default temporary tablespace для юзера person, если ты заходишь под system то естественно и испольузется его temporary tablespace, то есть temp. Итак, одну причину выяснили! А как может помочь сливание экстентов в этом случае? Оракл не будет расширять табличное пространство, если сможет найти достаточно места в имеющейся свободной области. Пусть эксперты меня поправят если что не так. PS Смотри мой постинг в тему по init.ora как правильно создать temporary tablespace ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 17:07:42 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
> по функции у меня как-то индекс не подхватывается, не могу понять почему и не только в этом случае Для использования function-based индекса необходимо QUERY_REWRITE_ENABLED = TRUE иметь привилегию QUERY_REWRITE иметь собранную статистику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 17:21:01 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Результаты запроса select * from dba_tablespaces where tablespace_name='TEMP'; очень интересны. CONTENTS - permanent То есть табличное прастранство temp у тебя не является временным а постоянным, которое используется для временных операций. Делать такое крайне не желательно. В этом и была ошибка. Поскольку оно у тебя постоянное, то экстенты выделенные для временных операций не освобождаются и не сливаются - в результате Оракл когда не может найти достаточного свободного пространства в существующих экстентах создает новые, вот и распухает файл. И так 1) Сделать temp временным табличным пространством 2) Для dictionary managed temporary tablespaces есть рекомендация по размеру initial и next N*sort_area_size + db_block_size. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 17:24:11 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Violina: "В этом и была ошибка. Поскольку оно у тебя постоянное, то экстенты выделенные для временных операций не освобождаются и не сливаются" Можно спросить, где это написано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 17:29:33 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to Violina: "То есть табличное прастранство temp у тебя не является временным а постоянным, которое используется для временных операций" Кстати по этому поводу, я сказал еще на первой странице. Но как и следовало ожидать от Kat_new - она это пропустила мимо ушей. Я не удивлюсь, если она и твоё сообщение пропустит.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 17:33:11 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
> в результате Оракл когда не может найти достаточного свободного пространства в существующих экстентах создает новые, вот и распухает файл Чуть ранее проскакивала выборка из sort_usage. Порядка 300000 блоков занято под сортировку. Так что боюсь рецепт не поможет - нужно устранять причины, а они в SQL и джойне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 17:38:29 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Господа, я повторюсь.... Код: plaintext Create.....online temporary!!!!!....и пухнуть не будет. to softbuiler - реальный чувак.....надо познакомиться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 17:43:00 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to sofbuilder Забыла написать что это лишь предположение а не утверждение. Все никак не привыкну вписывать ИМХО. Скажи сразу какое истолкование правильное? Что это за экстенты тогда в этом случае Код: plaintext 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. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 17:55:04 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
2 softbuilder@inbox.ru товарищи,дорогие, вы что , издеваетесь??? Код: plaintext 1. 2. 3. 4. 5. я же в самом начале, в своем запросе написала TEMP-PERMANENT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SOFT - если ты невнимателен, то хоть не оскорбляй людей!!!(даже если они только новички) 2 Violina Спасибо, поняла, что делала для person, а заходила под system Сделала для system Это печально, но даже не подумала об этом :-( 2 Roman_m беспокоит то, что все работало, хоть и пухло, но не настолько не пойму, почему пухлость увеличилась хотя полностью согласна, надо менять настройку запросов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 18:00:10 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
to softbuilder Temp -permanent Я этого просто не поняла. Для этого мне понадобилось увидеть результат select * from dba_tablespaces where tablespace_name='TEMP'; to Vladimirgs а может быть у таблспейса чудесным образом пропала галочка online temporary и при отрыве юзера не происходит очистка.... Можете объяснить почему в таком случае не будет происходить очистка. У меня нет 100% ясности, а объяснения с меня требуют:-) to Kate_new Подводим итоги. И так у тебя 2 фатальных ошибки 1) temp не является temporary tablespace 2) раз ты заходишь под system то используется его default temporary tablespace, а не default temporary tablespace пользователя person. /to softbuilder - это мой домысел, надеюсь здесь то хоть я права?-)/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 18:06:03 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
> не пойму, почему пухлость увеличилась Возможно, увеличился обьем данных (это Вам виднее), кроме того, раньше sort-merge оптимизатор мог и не выбирать. Попробуйте для начала построить индексы (с функциями), добейтесь, чтобы они использвались в джойне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 21:02:28 |
|
||
|
Temp пухнет - > нет места на диске
|
|||
|---|---|---|---|
|
#18+
Это, конечно, косяк, что TEMP - permanent, но как раз в этом случае после завершения операции временные сегменты возвращаются обратно в свободную область ТП. temporary используется для ускорения работы - временные сегменты не освобождаются немедленно и могут быть доступны для использования в других операциях. Соответственно, в temporary ТП можно создавать только временные сегменты (в отличие от permanent). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2003, 05:51:46 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1990069]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
19ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
107ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 373ms |

| 0 / 0 |
