error de privilegio INSUFICIENTE DE HERENCIA en Oracle
Estaba intentando obtener información de un video almacenado en Oracle DBA,
mientras ejecutaba este script:
DECLARE
vid_data BFILE := BFILENAME('EXTDIR','video.mp4');
mimeType VARCHAR2(80);
format VARCHAR2(32) := NULL;
width NUMBER;
height NUMBER;
frameResolution NUMBER;
frameRate NUMBER;
videoDuration NUMBER;
numberOfFrames NUMBER;
compressionType VARCHAR2(160);
numberOfColors NUMBER;
bitRate NUMBER;
BEGIN
-- obtener propiedades del bfile
ORDSYS.ORDVIDEO.getProperties(vid_data, mimeType, format,
width, height, frameResolution, frameRate,
videoDuration, numberOfFrames, compressionType,
numberOfColors, bitRate);
-- imprimir propiedades
DBMS_OUTPUT.PUT_LINE('mimeType: ' || mimeType );
DBMS_OUTPUT.PUT_LINE('format: ' || format );
DBMS_OUTPUT.PUT_LINE('width: ' || width );
DBMS_OUTPUT.PUT_LINE('height: ' || height );
DBMS_OUTPUT.PUT_LINE('frameResolution: ' || frameResolution );
DBMS_OUTPUT.PUT_LINE('frameRate: ' || frameRate );
DBMS_OUTPUT.PUT_LINE('videoDuration: ' || videoDuration );
DBMS_OUTPUT.PUT_LINE('numberOfFrames: ' || numberOfFrames );
DBMS_OUTPUT.PUT_LINE('compressionType: ' || compressionType );
DBMS_OUTPUT.PUT_LINE('numberOfColors: ' || numberOfColors );
DBMS_OUTPUT.PUT_LINE('bitRate: ' || bitRate );
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
/
aquí está el informe de error completo:
Informe de error –
ORA-06598: privilegio de INHERIT PRIVILEGES insuficiente
ORA-06512: en la línea 37
ORA-06512: en “ORDSYS.ORDVIDEO”, línea 50
ORA-06512: en la línea 17
06598. 00000 – “privilegio de INHERIT PRIVILEGES insuficiente”
*Causa: Se intentó ejecutar una función o procedimiento AUTHID CURRENT USER,
o hacer referencia a una vista BEQUEATH CURRENT_USER, y el
propietario de esa función, procedimiento o vista carece del privilegio
INHERIT PRIVILEGES en el usuario que realiza la llamada.
*Acción: No llame a la función o procedimiento ni haga referencia a la vista,
o conceda al propietario de la función, procedimiento o vista
el privilegio INHERIT PRIVILEGES en el usuario que realiza la llamada.
davy.ai
El mensaje de error sugiere que el usuario que ejecuta el script no tiene los privilegios necesarios para llamar a la función o procedimiento del paquete ORDSYS. Específicamente, el propietario de la función o procedimiento no tiene el privilegio INHERIT PRIVILEGES en el usuario que realiza la llamada.
Para resolver este problema, se debe otorgar al usuario que ejecuta el script el privilegio INHERIT PRIVILEGES en el propietario del paquete ORDSYS. Se pueden seguir los siguientes pasos:
Tenga en cuenta que otorgar el privilegio INHERIT PRIVILEGES puede permitir al usuario que ejecuta el script realizar acciones como el propietario del paquete ORDSYS, por lo que esto debe hacerse con precaución y solo si es necesario.