Mostrando entradas con la etiqueta PLS-00302. Mostrar todas las entradas
Mostrando entradas con la etiqueta PLS-00302. Mostrar todas las entradas

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>