|
Изменить секционирование
|
|||
---|---|---|---|
#18+
хело есть заполненная данньіми секцинированная таблица. Хочу изменить секционирование с ручного на авто. Для етого как я понял нужно поле в таблице, в етом случае(месяц числом), т.е. нужно будет менять таблицу. Есть два вопроса 1) обойтись без изменения таблицьі не получиться ? поле month(created) 2) table space указаньі в текуцей таблице одинаковьіе для каждой секции. Если указать table space в новой табцице 1-н раз при создании(см. ниже) ето что-то меняет ? План таков, создать новую таблицу с авто секциями, перекинуть старьіе секции в новую. Удалить текущюю и затем переименовать новую. 3) не станет проблемой ли вьічисляемое поле month_int в новой таблице при перемещении секций(другая структура) ? Возможно есть идеи лучше ? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2021, 14:53 |
|
Изменить секционирование
|
|||
---|---|---|---|
#18+
в целом +- получилось, но не совсем авто секции. - сначала добавляем вьічисляемое поле month_int в текущую таблицу. - секционируем новую таблицу - создаем пустую секцию detach каждой секции(уже в новьім полем) attach к новой таблице с явньім указанием границ секции много кода получилось. не уверен можно ли как-то циклом/курсором - зачитать мета данньіе с SYSCAT.DATAPARTITIONS не знаю "скушает"-ли ALTER TABLE значение в переменной или курсор. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2021, 21:27 |
|
|
start [/forum/topic.php?fid=43&tid=1600096]: |
0ms |
get settings: |
4ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
40ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
others: | 6ms |
total: | 146ms |
0 / 0 |