2010-04-23 10 views

Respuesta

3

Dado que los paquetes son editables, puede consultar edition-based redefintion. Esto le daría una forma de cambiar atómicamente entre las versiones de sus paquetes.

3

CREAR O REEMPLAZAR y ALTERAR PAQUETE son instrucciones DDL, y cada instrucción DDL es una transacción discreta. Se emite un COMMIT antes del y después de cada comando DDL; es por eso que no hay reversión para DDL.

Me parece que tiene un problema de gestión de la configuración. Y la administración de la configuración, más el control de origen, es la manera de solucionarlo. Mantenga todos sus scripts PL/SQL (diablos, solo todos sus scripts) bajo control de versión. Cuando despliega una nueva versión de algunos programas PL/SQL, consulte también las versiones anteriores (en un subdirectorio separado, o lo que sea que tenga sentido en su régimen deploymenet). Entonces, si hay algún problema con las nuevas versiones de sus paquetes, es muy fácil volver a implementar las versiones anteriores.

+0

De acuerdo, parece que un entorno de prueba sería una buena idea. –

+1

Es cierto, pero el problema es que los entornos son como los fondos de cobertura. Solo porque algo implementado prolijamente en Test no garantiza que lo haga en producción. – APC

2

Las otras respuestas aquí son buenas (por ejemplo, la redefinición basada en la edición, que está disponible en 11gR2).

Otra opción es proporcionada por PL/SQL Developer, que se puede configurar para realizar una compilación de prueba (compila un paquete con un nombre alternativo) antes de la compilación "real".

Cuestiones relacionadas