Páginas

sexta-feira, 26 de julho de 2013

[PL/SQL] - CURSOR PARA MOVER TABELAS E FAZER REBUILD DOS SEUS RESPECTIVOS INDICES

Bom pessoal, segue abaixo procedimento para mover tabelas para seus respectivos owners e tablespaces.

set linesize 300
set serveroutput on size 100000
set feedback off

spool rebuild.sql
begin
for rTabelas in (
SELECT owner, table_name, tablespace_name
FROM DBA_TABLES
) loop
dbms_output.put_line('alter table '|| rTabelas.owner ||'.'|| rTabelas.table_name ||' move tablespace '||rTabelas.tablespace_name||';');
for rIndex in (select index_name,tablespace_name,owner
from dba_indexes
where table_name = rTabelas.table_name) loop
dbms_output.put_line('alter index '|| rIndex.owner ||'.'|| rIndex.index_name ||' rebuild tablespace '||rIndex.tablespace_name||';');
end loop;
end loop;
end;
/
spool off

Fonte:
http://dicasoracledba.blogspot.com.br/2009/04/cursor-para-mover-tabelas-e-fazer.html

Nenhum comentário:

Postar um comentário