Oracle - liberar espacio en una base de datos

 
Vista:

liberar espacio en una base de datos

Publicado por john jairo (10 intervenciones) el 31/08/2007 18:18:01
Buenas ,

Quisiera saber si exste alguna form,a o instruccion para poder liberar espacio en una base de datos , por ejemplo en una base de datos de visual fox pro yo puedo hacerlepak a una tabla y asi borarr por comleto los archivo que en un momento borre liberando espcaio en la tabla, en cuestion.

Por eso quiero saber si en oracle existe una forma de hacer esto o de hacerle mantenimiento a las tablas.

muchas gracias de antemano po su ayuda prestada.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:liberar espacio en una base de datos

Publicado por Rodolfo Reyes (445 intervenciones) el 31/08/2007 19:17:29
Lo que puedes hacer es:

1) crear un nuevo Table Space.
2) Mover todos los objetos del Table Space Antiguo al nuevo
3) Eliminar el Table Space antiguo
4) Vaciar los Table Space Temporales

/*Este select te genera los alter Table para mover tablas del table Space System hacia el Table Space nuevo_tablespace
*/

select 'alter table '||table_name||' move tablespace nuevo_tablespace;'
from dba_tables
where tablespace_name = 'SYSTEM';

/*Este query te mueve los indices*/
select 'alter index '||index_name||' rebuild tablespace nuevo_tablespace;'
from dba_indexes
where tablespace_name = 'SYSTEM';

A la informacion no le pasa nada, inclusive lo puedes hacer mientras los usuarios estan trabajando.

Tendrias que hacer mas o menos lo mismo con el resto de objetos(vistas, procedimientos, funciones, etc.)

Este comando sirve para eliminar información del los table space temporales.

ALTER TABLESPACE TEMP SHRINK
/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar