همانطور که می دانید، استفاده از دستور alter table …move برای جابجایی یک جدول، سبب می شود تا وضیعت ایندکسهای مربوط به جدول، به صورت unusable دراید. در نسخه 12.2، استفاده از کلمه کلیدی online در این دستور، مانع از نامعتبر شدن ایندکسها خواهد شد و کماکان ایندکسها در وضیعت valid باقی خواهند ماند.
مثال زیر را ببینید:
create index ind on tbl(name);
———
alter table tbl move online;
——-
select index_name,status from dba_indexes where index_name=’IND’;
INDEX_NAME STATUS
IND VALID
همانطور که در مثال قابل مشاهده است، وضیعت ایندکس ind، بعد از جابجایی جدول tbl در وضیعت valid باقی مانده است. در ادامه زمان اجرای شکل جدید و قدیمی این دستور را با هم مقایسه می کنیم:
SQL> alter table tbl move online;
Table altered.
Elapsed: 00:16:01.52
———-
SQL> alter table tbl move;
Table altered.
Elapsed: 00:01:03.70
همانطور که می بینید، انتقال انلاین جدول، زمان قابل توجهی را صرف خواهد کرد.