Mover tabla con campo LONG

Estoy intentando mover una tabla en 9i con el comando:
ALTER TABLE tabla1 MOVE TABLESPACE tablespace1;
y esto me mueve la mayoria de las tablas del tablespcace, unas 800 aproximadamente, pero en algunas me devuelve el error 'ORA-00997 illegal use of LONG datatype'
He buscado información y por lo visto Oracle no permite ejecutar consultas que contengan objetos BLOB dentro de subconsultas. Esto me hace pensar que el comando ALTER TABLE MOVE TABLESPACE... Funciona con subconsultas. He podido ver que hay algunas soluciones concretas para esto, pero me han parecido muy aparatosas y creo que no he llegado a entenderlas demasiado bien, además es tendré que repetir esta operación bastante a menudo, de modo que me gustaría conocer una forma más práctica de hacerlo.
Estaría muy agradecido si alguien pudiese aconsejarme...

1 Respuesta

Respuesta
1
Lo que suelo hacer yo y que sé que funciona es hacer un export, borrado de la tabla, creación de la tabla otra vez pero sobre el otro tablespace y realizas el import con la opción ignore = yes para que no se corte el import al intentar crear la tabla.
Por otro lado, te recomiendo que migres de los campos LONG a CLOB o BLOB porque con estos si tienes la posibilidad de realizar MOVE incluso particionarlos.
Si necesitas alguna aclaración no dudes en decírmelo
¿Te sirvió mi respuesta?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas