Actualizar tablas en tiempo real

Irene
17 de Noviembre del 2005
Hola,
Estoy desarrollando una aplicación y tengo un problema, ya q está aplicación permanecerá en ejecución durante las 24 horas no se como hacer cuando tenga alguna modificación en las tablas o paquetes para q no deje el sistema inhabilitado.
Gracias

Rodolfo Reyes
17 de Noviembre del 2005
Pues, Oracle si dectecta que alguien esta utilizando algun objeto, no deja que lo puedas modificar hasta que este libre de utilización.

En mi trabajo, cuando se hace alguna modificación en la base de datos de producción, al ejecutar el script este se tarda minutos o el tiempo que sea necesario hasta que el DBMS detecte que el objeto no se esta utilizando. Y en los segundos que realmente se tarda en hacer el cambio, los querys o sentencias DML que se ejecuten sobre estos objetos, se quedan esperando a que se termine el cambio. Esto hace que para el usuario este cambio pase desapercibido.

xanton
17 de Noviembre del 2005
A parte de lo que te han comentado hay otras posibilidades:

1. SQL dináminco
2. Usar pipes

Es evidente que puedes tener problemas para implementar todo el PL de esta forma.

Jor-El
17 de Noviembre del 2005
Si te refieres a hacer alters de tablas y demas lo llevas claro, puedes mirar si en ese momento se está utilizando alguna tabla / paquete e intentarlo, pero es dificil

Irene
17 de Noviembre del 2005
Pues si me refiero a eso y yo ya me lo veia un poco negro. Gracias de todas formas

Leonardo
17 de Noviembre del 2005
Se me ocurre tener un parametro el cual indicara si se esta realizando modificaciones o no y obviamente leer de las tablas, procedimientos, packages etc que no estan siendo modificadas. Debera existir replicacion de la informacion para no perder datos durante el tiempo que tarden las modificaciones

Irene
17 de Noviembre del 2005
Gracias, creo q esto si q me puede servir