زمانی که user1 مجوز اجرای پروسیجرش را به user2 اهدا می کند، user2 علاوه بر امکان اجرای این پروسیجر، می تواند محتویات پروسیجر را هم مشاهده کند:
SQL> show user
User is “user1”
SQL> create user user2 identified by u;
User created
SQL> grant create session to user2;
Grant succeeded
SQL> grant execute on user1.myproc1 to user2;
Grant succeeded
SQL> conn user2/u
Connected.
SQL> exec user1.myproc1;
PL/SQL procedure successfully completed.
SQL> select line,text from all_source p where p.NAME=’MYPROC1′;
البته این دسترسی صرفا به مشاهده و اجرا محدود می شود و کاربر user2 امکان تغییر و یا کامپایل کردن این پروسیجر را ندارد:
SQL> alter PROCEDURE USER1.MYPROC1 compile;
ERROR at line 1:
ORA-01031: insufficient privileges
حال اگر کاربر user1 مجوز اجرای یکی از پکیجها را به user2 اهدا کند، این کاربر(user2) می تواند تمامی فانکشنها و پروسیجرهای این پکیج را هم اجرا کند ولی امکان مشاهده محتویات این پکیجها را نخواهد داشت و صرفا می تواند قسمت spec پکیج را ببیند:
SQL> show user;
User is “user1”
SQL>
SQL> create or replace package pkg1 is
2 procedure proc1;
3 end pkg1;
4 /
Package created
SQL> create or replace package body pkg1 is
2 procedure proc1 is
3 begin
4 dbms_output.put_line(‘my name usef!’) ;
5 end proc1;
6 end pkg1;
7 /
Package body created
SQL> grant execute on pkg1 to user2;
Grant succeeded
SQL> conn user2/u
Connected.
SQL> exec USER1.PKG1.PROC1;
PL/SQL procedure successfully completed.
SQL> select p.OWNER,line,text from all_source p where p.OWNER=’USER1′
برای مشاهده Package Body توسط کاربر user2، می توان دستور زیر را اجرا کرد:
SQL> conn user1/u
Connected.
SQL> grant debug on PKG1 to user2;
Grant succeeded.
SQL> conn user2/u
Connected.
SQL> select p.OWNER,line,text from all_source p where p.OWNER=’USER1′;
البته با اهدای این مجوز، کاربر user2 امکان تغییر و یا کامپایل این پکیج را نخواهد داشت:
SQL> conn user2/u
Connected.
SQL> alter PACKAGE USER1.PKG1 compile;
ERROR at line 1:
ORA-01031: insufficient privileges
SQL> alter PACKAGE USER1.PKG1 compile BODY
ERROR at line 1:
ORA-01031: insufficient privileges
سون لرن • آموزش...برچسب : نویسنده : استخدام کار 7learn بازدید : 343