Hyperlink - privilige

fukmichal

Member
Hello,
is it possibile to view package body (using hyperlink) when i dont have execute privileges?

at the beginning i open new sql window

first example:
i type 'grant execute on pkg_test to mfuk',
then i use hyperlink(ctrl + mouse_click1) on pkg_test and i get new program window - Edit source of pakcage

second example:
i type 'revoke execute on pkg_test from mfuk',
use hyperlink(ctrl + mouse_click1) on pkg_test and nothing happens.

i debug plsql developer...
debug.txt => when i use hyperlink plsql developer execute dbms_utility.name_resolve.

then i tried to execute dbms_utility.name_resolve by myself
dbms_utility.name_resolve(name => 'PKG_TEST',
context => 1,
schema => vv_out_object_owner,
part1 => vv_out_p1,
part2 => vv_out_p2,
dblink => vv_out_dblink,
part1_type => vi_out_part1_type,
object_number => vi_out_object_number);

Conclusions:
When i have priv to execute pkg_test, dbms_utility.resolve_name works.
When i dont have priv to execute pkg_test, dbms_utility.resolve_name dont works and i get ORA-01031: insufficient privileges.

I changed one option in preferences: [V] Hyperlink navigation to read-only window (preferences/editor).
plsql developer still use dbms_utility.name_resolve while open pakcage with hyperlink.

i think this is not good behavior, why is not only select on all_source? When i view Spec & body package from object browser it works even when i dont have priv for execute.

so is it possibile to view package body (using hyperlink) when i dont have execute privileges?
 
To view packages for which you don't have execute privileges you need select privileges on the sys.dba_source and sys.dba_objects views. The "Use DBA views if available" preference needs to be enabled as well (Tools > Preferences > Oracle / Options).
 
Even with grants and enabled "Use DBA views if available" it still doesn't works.

select *
from dba_source
where name = 'PKG_TEST'; --i see my package
select *
from dba_objects
where object_name = 'PKG_TEST' --i see my package


PS. PKG_TEST is owned by another user
 
Last edited:
Back
Top