# Errores Raros En Una Migración – Ora-04062

Vamos a ver un error que ocurrió en una migración al subir de una versión 10g a 11g, el error es el siguiente “Error ORA-04062: timestamp of procedure has been change” Este error se produce al ejecutar cualquier procedimiento o función en nuestra base de datos. ¿Cuál es el motivo de este error?

Es el parámetro REMOTE\_DEPENDENCIES\_MODE que al subir de versión no se dejo con el valor correcto.

La causa reside en cómo se manejan las dependencias entre objetos mediante el parámetro REMOTE\_DEPENDENCIES\_MODE.

Este parámetro tiene dos únicos valores posibles, TIMESTAMP o SIGNATURE. Ésta es la definición del parámetro según Oracle

![](https://dbaenlasombra.files.wordpress.com/2023/04/captura-de-pantalla-2023-04-03-093942.png?w=737 align="left")

Aquí el enlace a la página de Oracle

[REMOTE\_DEPENCIES\_MODE](https://docs.oracle.com/database/121/REFRN/GUID-CBCF6FDD-BC6F-46A3-807E-89AB167AE96E.htm#REFRN10182)

Es decir, cuando el valor es TIMESTAMP Oracle compara los instantes de compilación del procedimiento local y el remoto, y únicamente los ejecuta si ambos coinciden.

El valor SIGNATURE permite que el procedimiento se ejecute al considerarlo seguro, y evita la necesidad de recompilación.

Anuncio publicitario

Ajustes de privacidad

Por lo tanto, modificamos el valor del parámetro remote\_dependencies\_mode a SIGNATURE y podemos hacerlo en caliente ya que no requiere reinicio de la BBDD, atendiendo a su definición:

![](https://dbaenlasombra.files.wordpress.com/2023/04/imagen1.png?w=567 align="left")

Sentencia para cambiar el parámetro es la siguiente

```plaintext
alter system set remote_dependencies_mode=signature Scope=Both;
```
