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