El comando para mover tablas de un tablespace a otro es el siguiente:
ALTER TABLE nombre_tabla MOVE TABLESPACE nombre_tablespace
Pero si lo queremos hacer de manera dinamica podemos crear el siguiente script:
DECLARE
CURSOR ctables
IS
(SELECT object_name AS table_name
FROM user_objects
WHERE object_type = 'TABLE');
registro ctables%ROWTYPE;
v_sql VARCHAR2 (255) := ' ';
BEGIN
OPEN ctables;
LOOP
FETCH ctables INTO registro;
EXIT WHEN ctables%NOTFOUND;
v_sql := 'Alter table ' || registro.table_name || ' MOVE TABLESPACE nombre_tablespace';
EXECUTE IMMEDIATE v_sql;
DBMS_OUTPUT.put_line (v_sql);
END LOOP;
CLOSE ctables;
END;
El anterior PL/SQL es una alternativa dinámica para migrar todas las tablas a un nuevo tablespace.
No hay comentarios:
Publicar un comentario