|
|
|
Отключение прогресса выполнения многочисленных скриптов из ф@йла
|
|||
|---|---|---|---|
|
#18+
Ситуация: Oracle server 11.2.0.2 x86, windows xp. На машине вылезла ошибка в данных CRC. Ошибка вылезала повсеместно. База использовалась без архив логов, ближайший бекап нужной схемы двухмесячной давности, редо логи частично убиты. Возможности восстановить базу до рабочего состояния нет. При попытке сделать бекап или скомпилировать новый объект получаем instance terminated. Все что удалось сделать с базой, это подключится под sysdba и выполнить запросы типа select from. Поднял бекап, сделал экспорт структуры таблиц без 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. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. Файл получился более 1.5 Gb. Пришлось FAR-ом разбить его на мелкие файлики по 80-100 Мб. После загрузки всех файлов планирую накинуть constraint-ы и индексы. Суть в том что выполнение скриптов в этих файлах занимает очень много времени. Интересует есть ли возможность ускорить процесс выполнения таких скриптов? Параметры spool: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. При запуске @script; pl/sql developer моргает, сигнализирую прогресс добавления строк, "row inserted" я не наблюдаю, окно SQL-command чистое и лишь по окончанию выполнения каретка курсора останавливается и дает закомитить скрипт. Мне кажется, developer может быстрее выполнять скрипты за счет возможности отключения вывода информации о прогрессе добавления записи, но в spool нужно оставить вывод информации об ошибках (как оказалось в некоторых строках пользователи забивали одномерную кавычку '). Вот такое вот извращение =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 12:51 |
|
||
|
Отключение прогресса выполнения многочисленных скриптов из ф@йла
|
|||
|---|---|---|---|
|
#18+
Вместо insert надо было сделать плоский файл или csv с данными, который и загрузить лодырем. Быстро и надежно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 14:38 |
|
||
|
Отключение прогресса выполнения многочисленных скриптов из ф@йла
|
|||
|---|---|---|---|
|
#18+
KpaqpTuk, SQL*Plus? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 15:42 |
|
||
|
Отключение прогресса выполнения многочисленных скриптов из ф@йла
|
|||
|---|---|---|---|
|
#18+
Vadim LejninKpaqpTuk, SQL*Plus? Выгружал в SQL*Plus, загружал в developer. andrey_anonymousВместо insert надо было сделать плоский файл или csv с данными, который и загрузить лодырем. Быстро и надежно. Попробую, интересно, если я для каждой таблицы (их ~ 1200) создам свою CSV, смогу ли автоматизировать процесс загрузки SQL*Loader-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 15:49 |
|
||
|
Отключение прогресса выполнения многочисленных скриптов из ф@йла
|
|||
|---|---|---|---|
|
#18+
KpaqpTukVadim LejninKpaqpTuk, SQL*Plus? Выгружал в SQL*Plus, загружал в developer. andrey_anonymousВместо insert надо было сделать плоский файл или csv с данными, который и загрузить лодырем. Быстро и надежно. Попробую, интересно, если я для каждой таблицы (их ~ 1200) создам свою CSV, смогу ли автоматизировать процесс загрузки SQL*Loader-ом. Ос то какой? Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 16:02 |
|
||
|
Отключение прогресса выполнения многочисленных скриптов из ф@йла
|
|||
|---|---|---|---|
|
#18+
Vadim LejninKpaqpTukпропущено... Выгружал в SQL*Plus, загружал в developer. пропущено... Попробую, интересно, если я для каждой таблицы (их ~ 1200) создам свою CSV, смогу ли автоматизировать процесс загрузки SQL*Loader-ом. Ос то какой? Код: plsql 1. Здорово, похоже то что нужно. Попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 17:14 |
|
||
|
Отключение прогресса выполнения многочисленных скриптов из ф@йла
|
|||
|---|---|---|---|
|
#18+
Vadim Lejnin, andrey_anonymous Примного благодарен. Написал 2 скрипта, один для генерации контролов и второй для генерации плоских файлов, соотношение 1 контрол к 1 файлу. Затем через командную строку прогнал sql*loader-ом контролы, база загрузилась за пару часов. Ошибки были, но впредь можно будет подшаманить генерацию файлов и они уйдут сами собой. Спасибо. Новый механизм в копилку =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2018, 13:23 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=99&tid=1883381]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 379ms |

| 0 / 0 |
