|
Изменение типа данных поля с Timestamp with local time zone на timestamp
|
|||
---|---|---|---|
#18+
Всем привет! Столкнулся со следующей проблемой.. есть несколько крупных таблиц в базе, имеющих поля типа timestamp with local time zone, но возникла необходимость избавиться от «local time zone». Первый план действий, который пришёл на ум: временно переименовать старую колонку, создать новую с нужным типом, заапдейтить всю таблицу, удалить старую колонку и восстановить все ограничения и индексы. В таком подходе не радует, как минимум, скорость - необходимо будет обновить на горячую(время допустимого простоя не более 3-х часов в сутки в специально отведённое время) по несколько десятков миллиардов записей в нескольких из таблиц.. всвязи с этим, ищем советов, какими ещё способами можно перевести тип колонки из TSwLTZ в простой timestamp с максимальной скоростью, минимальной потерей доступности и минимальным ущербом для индексов и ключей? И ещё один вопрос, почему нельзя изменить тип колонки через modify сразу из TSwLTZ в простой timestamp, но можно TSwLTZ -> Date -> timestamp ? Будем очень признательны и благодарны за любые дельные советы и пинки в нужную сторону! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2020, 17:28 |
|
Изменение типа данных поля с Timestamp with local time zone на timestamp
|
|||
---|---|---|---|
#18+
Danian, Возможно будет проще пересоздать структуры таблиц уже с нужным типом, в рабочее время в фоне залить все записи, в окно залочить основные таблицы, долить дельту и переименовать таблицы/ключи/индексы ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2020, 17:57 |
|
Изменение типа данных поля с Timestamp with local time zone на timestamp
|
|||
---|---|---|---|
#18+
dbms_redefinition ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2020, 08:30 |
|
Изменение типа данных поля с Timestamp with local time zone на timestamp
|
|||
---|---|---|---|
#18+
Danian ...избавиться от «local time zone». ... удалить старую колонку ... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2020, 08:41 |
|
Изменение типа данных поля с Timestamp with local time zone на timestamp
|
|||
---|---|---|---|
#18+
KoTTT dbms_redefinition На миллиардных-то таблицах... Но если вдруг - то не следует выполнять redefinition без PK, потому как by rowid добавляет в целевую таблицу скрытое поле (c rowid источника), которое, с одной стороны, не так просто вытравить, с другой - оно мешает выполнять exchange partition ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2020, 15:15 |
|
Изменение типа данных поля с Timestamp with local time zone на timestamp
|
|||
---|---|---|---|
#18+
-2- Danian ...избавиться от «local time zone». ... удалить старую колонку ... Но не избавиться, к сожалению. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2020, 15:16 |
|
|
start [/forum/topic.php?desktop=1&fid=52&tid=1881522]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 271ms |
total: | 417ms |
0 / 0 |