|
|
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
привет, всем Кто знает как эффективно дропнуть(или отключить?) все индексы по табличке, а потом после заливки данных восстановить их? Как это можно сделать без особых усилий, спасибо Oracle 10g ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 17:35 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 17:38 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
Спос. Все равно скрипт писать придется для удаления всех индексов, жаль, что нет команды типа ALTER TABLE SET ALL INDEXES UNUSABLE.... Кстати, если так Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 17:48 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
IndexDropperСпос. Все равно скрипт писать придется для удаления всех индексов, жаль, что нет команды типа ALTER TABLE SET ALL INDEXES UNUSABLE.... Кстати, если так Код: plaintext Еще быстрее будет, если в параллельном режиме их создавать: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 17:51 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
До 10.2.0.4 лучше грохать индексы вместо ребилда. см. Note 6455161 Higher CPU / Higher "cache buffer chains" latch gets / Higher "consistent gets" after truncate/Rebuild. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2008, 18:29 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
Версия,как раз 10.2.0.4 Дело в другом, сделал индексы UNUSABLE, теперь при инсертах ругается Код: plaintext Что делать то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 11:39 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
IndexDropperВерсия,как раз 10.2.0.4 Дело в другом, сделал индексы UNUSABLE, теперь при инсертах ругается Код: plaintext Что делать то? Включить обратно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 11:41 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
IndexDropperВерсия,как раз 10.2.0.4 Дело в другом, сделал индексы UNUSABLE, теперь при инсертах ругается Код: plaintext Что делать то? Почитать про параметр базы skip_unusable_indexes ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 11:46 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
skip_unusable_indexes = true Дело в том, что это был уникальный индекс и на него это не действует, так что его анюзить не буду, пожалуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 11:51 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
стало интересно. а что будет, если все индексы изначально были организованны в отдельном tablespace и вот его и пересоздать. после этого дать комманду на пересоздание всех индексов. другой вариант того же вопроса: я хочу перенести все индексы на другой драйв. чем чревато? заранее спасибо. во ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 16:10 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
>см. Note 6455161 Оппа. Так вот какая букашка нам жисть портит. Thnx, Timm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2008, 17:45 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
IndexDropperskip_unusable_indexes = true Дело в том, что это был уникальный индекс и на него это не действует, так что его анюзить не буду, пожалуй. У меня схожая ситуация что и у автора. Но мой вопрос: почему ORA-01502 на удаление выскакивает? Я понимаю аргументацию орaкла на вставку, но удаление ведь уже никак уникалность не нарушит. Тогда почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2018, 23:27 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
mikron, ораклу для поддержки уникальности нужен валидный индекс, соответственно при отключении индекса, оракл будет ругаться при изменении ключа уникальности, независимо какая DML операция проходит и даже, если этот констрейнт deferred (естественно, кроме вставки/удаления NULL'ов и апдейта на то же значение). Так что просто дропните/отключите констрейнт, все равно вам потом индекс заново ребилдить/строить: 1. если отключите или дропнете констрейнт и грохните индекс, то при включении констрейнта оракл сам построит индекс 2. если же сначала отдельно восстановите уникальный индекс, то при включении/создании констрейнта его даже валидировать не надо будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 01:08 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
xtender, Индекс перевожу в unusable, constraint запрещаю, делаю delete и ошибка остаётся. Я не понимаю смысл проверки уникальности при удалении. Он есть и я его не вижу или баг? Удалять constraint не хочу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 09:12 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
mikronЯ не понимаю смысл проверки уникальности при удалении.Результат нарушения уникальности это ora-1. ora-1502 это запрет dml над unusable уникальным индексом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 10:12 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
mikronconstraint запрещаюне понял? что значит запрещаю? покажите ddl таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 10:51 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
mikronИндекс перевожу в unusable, constraint запрещаю, делаю delete и ошибка остаётся.что-то не так делаете: alter table ... disable constraint ... Код: plsql 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. deferred/delete/insert Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 11:04 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
xtendermikronconstraint запрещаюне понял? что значит запрещаю? Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 11:06 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
mikron, покажите полный текст ошибки и детали: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 11:21 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
xtender, Код: plsql 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. И вроде бы всё прибрано, но: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 12:23 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
mikron, какая версия оракла? выложите полный ддл таблицы. И попробуйте просто грохнуть индекс(не констрейнт). Вообще если индекс был создан автоматически при создании констрейнта, то при отключении констрейнта, у вас индекс сам должен был дропнуться, но тк у вас не удалился, значит создавали отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 13:56 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
xtender, Код: plaintext 1. 2. 3. 4. 5. У меня сейчас нет много времени ковырять ошибку. Вернусь позже к ней. Теоретический вопрос для понимания. mikronЯ не понимаю смысл проверки уникальности при удалении. Он есть и я его не вижу или баг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 15:36 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
mikronТеоретический вопрос для понимания. mikronЯ не понимаю смысл проверки уникальности при удалении. Он есть и я его не вижу или баг? ... есть ли смысл учить пулю различать где свой, а где чужой? Или единый механизм надёжнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 15:51 |
|
||
|
Удалить быстро индексы и построить заново
|
|||
|---|---|---|---|
|
#18+
mikronТеоретический вопрос для понимания. mikronЯ не понимаю смысл проверки уникальности при удалении. Он есть и я его не вижу или баг? Ты зашорился в своей ситуации. Oracle понятия не имеет "живой" ли unusable индекс или нет. Вот тебе пример "дохлого" индекса Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2018, 16:19 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39749605&tid=1883014]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 376ms |

| 0 / 0 |
