Me gustaría tener una compilación de CI (por ejemplo, Hudson) configurada y derribar un esquema de Oracle 11g como parte de un ciclo de compilación/prueba nocturno para una versión bastante vainilla Aplicación JSF/JPA.Configurar/desmontar el esquema de Oracle para construir CI sin fragmentar el catálogo
La forma más obvia de hacerlo es soltar y volver a crear todas las tablas. Si bien esto se siente bastante estándar (al menos, eso es lo que las herramientas de Hibernate/JPA harían automáticamente), he tenido que los DBA de Oracle me advierten que el catálogo de Oracle se fragmentará después de repetidos ciclos de creación/caída de objetos. Eventualmente, esto causará problemas de rendimiento porque el espacio de tabla SYSTEM no se puede desfragmentar/fusionar.
Mis preguntas son:
- es la fragmentación de una preocupación genuina, o no es algo que tiene que preocuparse de en un entorno típico de desarrollo de aplicación web?
- si la fragmentación realmente es una preocupación, ¿hay alguna manera mejor de derribar y recrear un esquema en Oracle que DROP TABLE/CREATE TABLE?
Gracias!
Los LMT por sí solos deben eliminar cualquier preocupación que alguien tenga con la fragmentación, suponiendo que el espacio de tabla 'SYSTEM' se gestiona localmente. No es obvio para mí que ASM agrega algo. Y ASM tiende a ser una tecnología políticamente mucho más polémica ya que se trata de dejar que los DBA manejen más tareas de administración de almacenamiento, lo que significa quitar esa responsabilidad de los grupos que lo hacen hoy. Los LMT, por otro lado, son un sustituto cerebralmente obvio, obviamente superior a los espacios de tabla administrados por el diccionario (DMT). –
@JustinCave: gracias por la pista. Eliminé el comentario sobre ASM (de todos modos, no estaba tan seguro) –