jueves, 12 de septiembre de 2013

El Fallo 445628

Probé este ejemplo en Oracle 11.2.0.2.7.

Si tienes una base de datos con dos usuarios que se llaman (por ejemplo) USUARIO1 y USUARIO2, y USUARIO1 tiene una tabla que se llama USUARIO2, USUARIO1 no puede emplear procedimientos que pertenecen a USUARIO2. Aquí está un ejemplo:

Empecé una sesión con el usuario SYSTEM

SQL> conn system/contrasena_secreta
Conectado.
SQL>

Luego empleé SYS.DBMS_LOCK.SLEEP sin problemas:

SQL> exec sys.dbms_lock.sleep(10);
 
Procedimiento PL/SQL terminado correctamente.
 
SQL>

Entonces creé una tabla llamada SYS:

SQL> create table sys(col1 number);
 
Tabla creada.

SQL>

... y cuando intenté a emplear SYS.DBMS_LOCK.SLEEP otra vez, tenía unos errores a causa del fallo 445628:

SQL> exec sys.dbms_lock.sleep(10);
BEGIN sys.dbms_lock.sleep(10); END;
 
          *
ERROR en linea 1:
ORA-06550: linea 1, columna 11:
PLS-00302: el componente 'DBMS_LOCK' se debe declarar
ORA-06550: linea 1, columna 7:
PL/SQL: Statement ignored
 
SQL>

No hay comentarios:

Publicar un comentario