Я хочу знать простой подход к разделению существующей таблицы. Я думаю, что по диапазонам и с использованием поля даты будет работать.
Однако я вижу два варианта на сайте Oracle (см. Ссылку ниже)
https://docs.oracle.com/database/122/VLDBG/evolve-nopartition-table.htm#VLDBG00302
Преобразование несекционированной таблицы в секционированную кажется проще, чем использование онлайн-переопределения для разбиения таблиц коллекции, просто за счет соответствующих шагов.
Однако я вижу здесь (см. Ссылку ниже)
https://asktom.oracle.com/pls/apex/f?p=100:11:::NO:RP:P11_QUESTION_ID:9533887100346178338
мы видим
SQL> ALTER TABLE a MODIFY
2 PARTITION BY RANGE(x) INTERVAL (10)
3 ( PARTITION P1 VALUES LESS THAN (10),
4 PARTITION P2 VALUES LESS THAN (20),
5 PARTITION P3 VALUES LESS THAN (30)
6 )
7 update indexes
8 (xpa local,
9 xiea global partition by range(y)
10 (partition ip1 values less than (MAXVALUE))
11 ) ;
Table altered.
И все это работает только в 12.2. Если вы используете версию 12.1, вам необходимо использовать DBMS_REDEFINITION. См. Здесь пример
https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:869096700346654484
Так как я использую ..
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 0
PL/SQL Release 12.1.0.2.0 - Production 0
"CORE 12.1.0.2.0 Production" 0
TNS for Linux: Version 12.1.0.2.0 - Production 0
NLSRTL Version 12.1.0.2.0 - Production 0
Могу ли я использовать (ограниченное) переопределение в режиме онлайн только для таблиц разделов?
Какой чистый способ создавать перегородки по годам?