Oracle - Bloqueo registros a sólo lectura

 
Vista:

Bloqueo registros a sólo lectura

Publicado por Raúl (3 intervenciones) el 15/10/2012 16:25:42
Buenas tardes a tod@s,

apenas tengo conocimientos de Administración de Oracle, estoy trabajando con Oracle 11 y se nos plantea la siguiente situación:

Nos sería muy útil que, bajo determinadas condiciones, se puedan marcar ciertos registros de una tabla como de "SOLO LECTURA" (los más antiguos) y que nunca o sólo intencionadamente, se pueda modificar algún registro de estos marcados.

Necesitamos que todos los registros estén disponibles para cualquier usuario que se conecte a la base de datos y que sólo los más antiguos sean de sólo lectura y sólo los más recientes, se puedan leer o modificar, según se desee.

¿Existe alguna forma de poder bloquear uno a uno los registros de una tabla para todos los usuarios que se conecten en cualquier momento a la base de datos.

Muchas gracias y perdón si la explicación no ha quedado muy clara.

Saludos,

Raúl
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
sin imagen de perfil

Bloqueo registros a sólo lectura

Publicado por EmersonPalacios (2 intervenciones) el 15/10/2012 16:51:43
Lo unico que se me ocurre es que programes un trigger que verifique la fecha de creacion del registro versus la fecha actual y segun lo que tu consideres antiguo o nuevo haga o no haga el update.
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

Bloqueo registros a sólo lectura

Publicado por Raúl (3 intervenciones) el 15/10/2012 17:06:11
Muchas gracias Emerson por tu idea,

la cuestión es que se supone que es una aplicación para estar funcionando continuamente y mantener el histórico de una serie de cambios y evitar que nuevos cambios actúen sobre lo antiguo, ya que se han dado casos en que la gente ha modificado los registros antiguos por accidente en lugar de los nuevos.

De ahí la intención de bloquear cada registro que corresponda cuando se quiera "hacer una foto" del estado de la base de datos, como si se tratase de un dump, que también se hace, pero sin recurrir a usos externos de la base de datos.

Sospecho que lo que busco es algo muy enrevesado y que no es viable, pero, al menos quería intentarlo y recabar sugerencias.

Muchas gracias por tu ayuda.

Saludos,
Raúl
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
sin imagen de perfil

Bloqueo registros a sólo lectura

Publicado por EmersonPalacios (2 intervenciones) el 15/10/2012 17:26:07
No soy un gran experto en Base de Datos menos Oracle pero no he escuchado de bloqueos del tipo que mencionas los unicos bloqueos que he leido es sobre bloqueos a tablas ,(DeadLock's) pero esto se da por el uso de Transacciones. Volviendo a tu problema si deseas tener un historial de ocurrencias de esa tabla en el mismo trigger evento update puedes programar el seguimiento es mas hasta puedes grabar los intentos fallidos de modificacion (Po antiguedad del registro ) obviamente para eso tendrias que crear una tabla nueva donde grabarias todos esos datos y asi ya podrias tener tu historial.
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

Bloqueo registros a sólo lectura

Publicado por Raúl (3 intervenciones) el 16/10/2012 08:31:54
Buenos días,

entendido, pues lo tendré en cuenta por si es viable.

Muchas gracias por tu esfuerzo y ayuda.

Raúl
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