|
|
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Есть схема со множеством таблиц. Схема эта закрывается 2 раза в сутки на апдейт - в обед и на ночь. Мне нужно выяснить имя таблиц по искомому значению (например по номеру договора), но в каких таблицах фигурирует данные по этому договору я не знаю. Есть скрипт, который выводит имя столбца и имя таблицы, но работает долго (много таблиц). На ночь оставить не получится см. 1-я строка выше, а в период с обеда до вечера жалобы от коллеги, что его скрипты начинают долго работать. Скопировать эти таблицы в "свою" схему, а потом спокойно обрабатывать, не получится, т.к. не хватит дискового пространства. Вот думаю может как-то кусками схему сканировать? Сначала первые 100 таблиц, потом 101-200 и т.д, но не знаю как это реализовать, чтобы не с первой скан начинался. Что еще можете подсказать друзья? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 22:07 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Для поиска использую метод с функцией описанный здесь http://www.cyberforum.ru/post1824587.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 22:46 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Banks AnalyticsЧто еще можете подсказатьНе нужно одну и ту же таблицу сканировать -ннадцать раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 09:08 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Banks AnalyticsЕсть скрипт, который выводит имя столбца и имя таблицы, но работает долго (много таблиц).Скрипт показывай. Как именно там организован поиск? Возможно, дело в его совершенной неоптимальности.... Но в целом - да, тупо просканировать все поля всех таблиц - это не самое быстрое мероприятие для сервера... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 09:28 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Функция: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Запрос: Код: plsql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 09:43 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Banks Analytics, тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 09:52 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Banks Analytics, первое, что напрашивается на оптимизацию: чтобы понять содержит ли таблица некое значение - достаточно найти хотя бы ОДНО его вхождение. нет надобности искать ВСЕ вхождения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 10:01 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх достаточно найти хотя бы ОДНО его вхождение. нет надобности искать ВСЕ вхождения. Так чтоли? Код: plsql 1. Ну я запустил на тестовой схеме из 2-х таблиц. В итоге нашел, но получилось по времени даже в 2 раза дольше, чем вариант ">0" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 10:36 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Banks Analytics, И что ты этим хотел сказать? Посчитал-то всё равно все вхождения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 10:55 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Banks Analytics, расчет функции надо заканчивать сразу, как только нашлось хотя бы одно вхождение искомого значения.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 11:34 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
1) проверяем наличие, а не подсчитываем: Код: plsql 1. 2. 3. 2) если в таблице несколько полей, отвечающих критериям поиска, то следует объединить это дело в один запрос вида Код: plsql 1. 2. 3. 4. 5. 3) Если вы работаете с определенной схемой, то не следует заниматься ерундой - составьте уже карту где-что-лежит и проверяйте статиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 13:29 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Ну вот этот ваш код более менее шустрый вроде. попробую им поискать Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 15:04 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
123ййBanks Analytics, тынц Не рабочие скрипты. На тестовой схеме (где десяток таблиц) все отлично работает. Как только на боевой схеме запускаю, то сыпятся различные ошибки. Собственно про них в той теме и пишут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 17:11 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Banks Analytics, Тексты ошибок предлагается угадать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 17:47 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
авторError report - ORA-04063: view "APPS.TMP_CD_HISTORY" has errors ORA-06512: at line 32 04063. 00000 - "%s has errors" *Cause: Attempt to execute a stored procedure or use a view that has errors. For stored procedures, the problem could be syntax errors or references to other, non-existent procedures. For views, the problem could be a reference in the view's defining query to a non-existent table. Can also be a table which has references to non-existent or inaccessible types. *Action: Fix the errors and/or create referenced objects as necessary. TMP_CD_HISTORY это старая вьюха в которой не выполняется SQL (таких много и они чужие). То есть скрипт "спотыкается" на них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 09:47 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Banks Analytics, Чужие скрипты, в которых ты не стал разбираться, а бездумно запустил, теперь виноваты в ошибках твоей вьюхи, это ужасно. И блок begin... exception написать самостоятельно конечно же невероятно трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 09:52 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
авторError report - ORA-00904: "ACCOUNTI1": недопустимый идентификатор ORA-06512: на line 32 00904. 00000 - "%s: invalid identifier" А вот это еще более распространенная ошибка. Тут вообще непонятно в чем дело. Возможно затык на тех столбцах, в которых тип UNIKOWN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 09:52 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
И какой делается вывод? Конечно же! Banks AnalyticsНе рабочие скрипты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 09:53 |
|
||
|
Как "просканировать" таблицы в схеме?
|
|||
|---|---|---|---|
|
#18+
Banks AnalyticsА вот это еще более распространенная ошибка. Правда? Где распространённая и кем? Ты хотя бы осознал, что вообще конкретно этот скрипт делает и о чём тебе Э-эх говорил про первое вхождение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2017, 09:56 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39548772&tid=1884959]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 484ms |

| 0 / 0 |
