|
|
|
Clob to blob
|
|||
|---|---|---|---|
|
#18+
Всем привет! Подскажите как лучше конвертировать столбец из clob в blob Таблица партицированная, 140 млн записей, около 2 тб Я создал blob столбец и стал конвертировать пачками по 10000 Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Но джобы падают с snapshot too old: rollback segment number 37 with name "_SYSSMU37_1974413906$" too small Есть ли способ проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 11:53 |
|
||
|
Clob to blob
|
|||
|---|---|---|---|
|
#18+
Pir, это.. я бы предложил создать еще табличку big_table_2 без индексов на big_table дропаешь индексы и инсертишь в big_table_2 bulk insert select чтоб не генерился откат потом транкейтишь big_table и вставляешь обратно уже сконверченное из big_table_2 bulk insert select ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 12:01 |
|
||
|
Clob to blob
|
|||
|---|---|---|---|
|
#18+
Pir, У тебя таблица партиционирована, а ты ее фуллсканами да еще и с динамическим SQL лопатишь. 1) Самый простой вариант - бей транзакции по партициям. В апдейте явно указывай имя партиции - список их ты получишь из словаря. 2) Если размер партиций слишком велик - то заморачивайся и бей транзакции по группам экстентов. Dba_extents + dbms_rowid тебе в помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 12:18 |
|
||
|
Clob to blob
|
|||
|---|---|---|---|
|
#18+
Бродячий Айтист, Там есть нюансы.. На таблице foreign key, который не снять. Т.к. она связана с родительской таблицей через ссылочное партиционирование. И вообще это промышленная таблица с архивом документов за 5 лет. Я не готов ее потерять) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 12:20 |
|
||
|
Clob to blob
|
|||
|---|---|---|---|
|
#18+
Pir Код: plsql 1. Вот это условие согласно заявленной логике и наполнению переменных неправильно: могут возникать коллизии, когда на 1 поле попадает 2 джоба ( см. здесь ) - поэтому и падает со snapshot too old. Джобы лучше создавать в рамках 1 партиции (доп условие) и если берёшь счётчик по кол-ву строк, то хэш здесь ни к чему, используй rownum Для ускорения используй forall update Пример: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2017, 12:39 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39516375&tid=1885309]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
434ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 780ms |

| 0 / 0 |
