ďťż
 
Uprawnienia do wykonywania procedury [ORACLE 9i] ďťż
 
Uprawnienia do wykonywania procedury [ORACLE 9i]
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Uprawnienia do wykonywania procedury [ORACLE 9i]



colin - 25-10-2005 10:58
Uprawnienia do wykonywania procedury [ORACLE 9i]
  Witam

Natrafiłem na dość nietypowy problem:

W schemacie "BAZOWY" zakładam tablicę "PARAMS" z 4 kolumnami typu VARCHAR2.
W tym samym schemacie tworzę prostą procedurę "test_privs1":

CREATE OR REPLACE PROCEDURE test_privs1
(iii varchar2) IS
BEGIN
INSERT INTO PARAMS VALUES ('test'||iii,'test','test','test');
END;

Nadaję uprawnienia do wykonywania na powyższą procedurę do roli:

GRANT EXECUTE ON test_privs1 TO BAZOWY_USER_ROLE;

a następnie przydzielam rolę użytkownikowi końcowemu:

GRANT BAZOWY_USER_ROLE TO "TESTOWY";

Użytkownik "TESTOWY" wykonuje procedurę, wykonuje się wstawienie wiersza do
tablicy "BAZOWY"."PARAMS". Wszystko wykonuje się bez problemów dzięki
domyślnemu parametrowi dla procedury AUTHID DEFINER (czyli uruchamianie
procedury z prawami dostępu definiującego schematu - w tym przypadku dostęp
do tablicy "BAZOWY"."PARAMS" jest niczym nie ograniczony, nie musi być także
definiowane dodatkowe uprawnienie do tablicy przez rolę).

Zaistniał jednak przypadek (przy o wiele bardziej złożonej procedurze w
paczce), kiedy operując na BLOB'ach i BFILE'ach uprawnienie AUTHID DEFINER
nie zdaje rezultatu i ORACLE zgłasza błąd przy próbie modyfikacji wiersza z
kolumną BLOB / BFILE. Być może jednak są jeszcze inne okoliczności i jest to
tylko zbieg okoliczności a istnieją inne specjalne warunki, w których AUTHID
DEFINER nie działa w ten sam sposób jak przy prezentowanej prostej operacji
wstawiania wiersza.

Przeszukując dokumentację nie znalazłem niczego zaskakującego a opcja AUTHID
DEFINER powinna właściwie załatwiać sprawę - tymbardziej nie rozumiem
problemu. Z góry dziękuję za wszelkie komentarze, nawet dodatkowe pytania
mile widziane.

I jeszcze błąd ORACLE, który występuje przy próbie modyfikacji danych w
kolumnie BLOB:

ORA-01031: niewystarczające uprawnienia
ORA-06512: przy "SYS.DBMS_LOB", linia 660

pozdrawiam
colin





Lucyna Witkowska - 25-10-2005 10:58

  colin <sscolinss@poczta.onet.pl> napisał:
> Zaistniał jednak przypadek (przy o wiele bardziej złożonej procedurze w
> paczce), kiedy operując na BLOB'ach i BFILE'ach uprawnienie AUTHID DEFINER
> nie zdaje rezultatu i ORACLE zgłasza błąd przy próbie modyfikacji wiersza z
> kolumną BLOB / BFILE. Być może jednak są jeszcze inne okoliczności i jest to
> tylko zbieg okoliczności a istnieją inne specjalne warunki, w których AUTHID
> DEFINER nie działa w ten sam sposób jak przy prezentowanej prostej operacji
> wstawiania wiersza.

> Przeszukując dokumentację nie znalazłem niczego zaskakującego a opcja AUTHID
> DEFINER powinna właściwie załatwiać sprawę - tymbardziej nie rozumiem
> problemu. Z góry dziękuję za wszelkie komentarze, nawet dodatkowe pytania
> mile widziane.

> I jeszcze błąd ORACLE, który występuje przy próbie modyfikacji danych w
> kolumnie BLOB:

> ORA-01031: niewystarczające uprawnienia
> ORA-06512: przy "SYS.DBMS_LOB", linia 660

Pytanie dodatkowe, czy ta procedura dziala poprawnie dla uzytkownika
BAZOWY?

Pozdrowienia,
LW




colin - 25-10-2005 10:58

 
Użytkownik "Lucyna Witkowska" <ypwitkow@nospamcyf-kr.edu.pl> napisał w
wiadomości news:djkk3c$iqo$1@srv.cyf-kr.edu.pl...
> colin <sscolinss@poczta.onet.pl> napisał:
> > Zaistniał jednak przypadek (przy o wiele bardziej złożonej procedurze w
> > paczce), kiedy operując na BLOB'ach i BFILE'ach uprawnienie AUTHID
DEFINER
> > nie zdaje rezultatu i ORACLE zgłasza błąd przy próbie modyfikacji
wiersza z
> > kolumną BLOB / BFILE. Być może jednak są jeszcze inne okoliczności i
jest to
> > tylko zbieg okoliczności a istnieją inne specjalne warunki, w których
AUTHID
> > DEFINER nie działa w ten sam sposób jak przy prezentowanej prostej
operacji
> > wstawiania wiersza.
>
> > Przeszukując dokumentację nie znalazłem niczego zaskakującego a opcja
AUTHID
> > DEFINER powinna właściwie załatwiać sprawę - tymbardziej nie rozumiem
> > problemu. Z góry dziękuję za wszelkie komentarze, nawet dodatkowe
pytania
> > mile widziane.
>
> > I jeszcze błąd ORACLE, który występuje przy próbie modyfikacji danych w
> > kolumnie BLOB:
>
> > ORA-01031: niewystarczające uprawnienia
> > ORA-06512: przy "SYS.DBMS_LOB", linia 660
>
> Pytanie dodatkowe, czy ta procedura dziala poprawnie dla uzytkownika
> BAZOWY?
>
> Pozdrowienia,
> LW
>

Oczywiście :-) (i dla przykładu i dla drugiego przypadku z BLOB'ami)




Lucyna Witkowska - 25-10-2005 10:58

  colin <sscolinss@poczta.onet.pl> napisał:
> > Pytanie dodatkowe, czy ta procedura dziala poprawnie dla uzytkownika
> > BAZOWY?

> Oczywiście :-) (i dla przykładu i dla drugiego przypadku z BLOB'ami)

A jesli nadasz uprawnienia do wykonywania tej procedury bezposrednio - nie
przez rolę?

Pozdrowienia,
LW
PS. To jest troche szukanie po omacku - niestety nie mozna podejrzec co
znajduje sie w pakiecie dbms_lob ;-)





colin - 25-10-2005 10:58

  >
> A jesli nadasz uprawnienia do wykonywania tej procedury bezposrednio - nie
> przez rolę?
>
> Pozdrowienia,
> LW
> PS. To jest troche szukanie po omacku - niestety nie mozna podejrzec co
> znajduje sie w pakiecie dbms_lob ;-)

Sprawdziłem także i to już na samym początku... oczywiście, także nie
pomaga. Tylko wówczas gdy nadaję uprawnienia także i na tablicę zaczyna
działać, jednakże tym samym otwieram użytkownikowi drogę do modyfikacji
tablicy a tego chciałbym uniknąć.

PS: Przyznam szczerze, że szukanie po omacku daje czasem wiele frajdy, a
najwięcej wówczas, gdy daje satysfakcjonujące efekty ;-).




colin - 27-10-2005 23:56

  Witam raz jeszcze.

Widzę, że jednak nie znajdzie się nikt, kto wiedziałby jak rozwiązać tę
małą niedogodność w dostępie przez procedury do tablicy z BLOB'ami.

pozdrawiam
colin
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= Oracle 19g +Insert +Insert +Insert... [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?= =?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?= [oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?= MSSQL Express czy Oracle Express =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?= [Oracle] =?ISO-8859-2?Q?=A3=B1czenie_wierszy_z_zapytania_?==?ISO-8859-2?Q?w_jeden_string?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • fantazia.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com