|
|
|
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 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32180528&tid=1990069]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 464ms |

| 0 / 0 |
