Unzureichende Privilegien Fehler beim ausführen der Prozedur aus dem package

Schritt 1 : ich habe ein Paket mit Verfahren, die zum erstellen von Kontext-und legen Wert auf den Kontext.

create or replace PACKAGE Context_check AS

    PROCEDURE set_context_vpd_proc (V_ISID in varchar2);
    procedure set_context  (v_isid_a  in varchar2);

END Context_check;

create or replace PACKAGE BODY Context_check AS
 PROCEDURE set_context_vpd_proc (V_ISID in varchar2)
    AS
    v_STAT VARCHAR2(200);
    v_chk varchar2(2000);
  BEGIN
         DBMS_SESSION.SET_CONTEXT('VPD_CTX', 'ISID', V_ISID );
    --v_STAT := '';
  EXCEPTION
   WHEN NO_DATA_FOUND THEN NULL;
  END;

procedure set_context  (v_isid_a  in varchar2)
as
begin

EXECUTE IMMEDIATE  'CREATE OR REPLACE CONTEXT VPD_CTX using set_context_vpd_proc';

set_context_vpd_proc (v_isid_a);

EXCEPTION
   WHEN NO_DATA_FOUND THEN NULL;
end set_context;

END Context_check;

Schritt 2: Wenn ich versuche, die Ausführung der Prozedur bekomme ich eine Fehlermeldung

EXECUTE Context_check.set_context('Ana');

Error starting at line 43 in command:
EXECUTE Context_check.set_context('Ana')
Error report:
ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_SESSION", line 114
ORA-06512: at "SEC_ADMIN.CONTEXT_CHECK", line 8
ORA-06512: at "SEC_ADMIN.CONTEXT_CHECK", line 20
ORA-06512: at line 1
01031. 00000 -  "insufficient privileges"
*Cause:    An attempt was made to change the current username or password
           without the appropriate privilege. This error also occurs if
           attempting to install a database without the necessary operating
           system privileges.
           When Trusted Oracle is configure in DBMS MAC, this error may occur
           if the user was granted the necessary privilege at a higher label
           than the current login.
*Action:   Ask the database administrator to perform the operation or grant
           the required privileges.
           For Trusted Oracle users getting this error although granted the
           the appropriate privilege at a higher label, ask the database
           administrator to regrant the privilege at the appropriate label.

Habe ich bereits gegeben, alle Zuschüsse auf das Paket.Noch bin ich nicht in der Lage, diese Prozedur ausführen.

Hinweis : Wenn ich erstellen Sie die gleichen Verfahren, wie Sie allein stehen ,seine Arbeitsmethoden in Ordnung und Einstellung der Kontext.

Haben Sie gewährte Privilegien, die direkt an den Paket-Besitzer, oder nur durch Rollen?
grant all on Context_check zu SEC_ADMIN mit grant option; SEC_ADMIN der Benutzer in die wir erschaffen haben, dieses Paket.
Es ist die DBMS_SESSION.SET_CONTEXT nennen, die den Fehler generiert, obwohl. Wie sind die Berechtigungen auf, die gewährt SEC_ADMIN? Es ist etwas, was unter der Haube, dass Sie keine Berechtigung haben, zu tun, und was auch immer das ist erteilt worden, um Sie über eine Rolle, da Sie können es verwenden, außerhalb einer gespeicherten Prozedur.

InformationsquelleAutor user3819801 | 2014-07-09

Schreibe einen Kommentar