begin for tbl in (select t.table_name from all_tables t where t.owner = :usr and t.tablespace_name = :oldtbs) loop dbms_output.put_line('ALTER TABLE ' || :usr || '.' || tbl.table_name || ' MOVE TABLESPACE ' || :newtbs || ';'); -- индексы for indx in (select i.owner || '.' || i.index_name as nm from all_indexes i where i.tablespace_name = :oldtbs and i.table_owner = :usr and i.table_name = tbl.table_name) loop dbms_output.put_line('ALTER INDEX ' || indx.nm || ' REBUILD TABLESPACE ' || :newtbs || ';'); end loop; end loop; end;где переменные означают следующее:
- :oldtbs - старое табличное пространство
- :usr - пользователь чьи таблицы вы собираетесь переносить
- :newtbs - новое табличное пространство
P.S. никогда не создавайте пользователя в табличном пространстве SYSTEM.
Комментариев нет:
Отправить комментарий