Solved

grante execute on package  to remote user oracle

Posted on 2012-03-20
2
1,468 Views
Last Modified: 2012-04-10
I am trying to grant execute to packages in the WMIS database for users executing the package from the FMDR database.

They connect to the WMIS database via a link.

I have tried to grant execute to public from WMIS , but this does not solve my underlying problem, which is that oracle cant see my packages from teh package boday when they are being called from a remote user via a database link.

IN WMIS Database

EXECUTE  ON  TEG.PACKAGE_A TO PUBLIC
EXECUTE  ON  TEG.PACKAGE_B TO PUBLIC

Package A calls procdures from PAckage B. Code works fine from the WMIS database,


IN FMDR database we connect to wmis via DB_WMIS_LINK, but when we execute package_A from FMDR oracle gives the following error

ORA-06508: PL/SQL: could not find program unit being called

So to resolve this I am trying to grant any user that connects to teh WMIS database via the
database link execute privildges....

any help please ....
0
Comment
Question by:jhacharya
  • 2
2 Comments
 
LVL 16

Accepted Solution

by:
Wasim Akram Shaik earned 500 total points
ID: 37745671
"ORA-06508: PL/SQL: could not find program unit being called"


EXECUTE  ON  TEG.PACKAGE_A TO PUBLIC
EXECUTE  ON  TEG.PACKAGE_B TO PUBLIC

instead of giving the access to public, you could have given to the user to who owns the db link.. anyways this should not be a problem..

i think the problem is something different inside these packages there may be some function/procedure/package calls on which the fmdr dblink user doesnot have privilege to execute which is causing the problem indeed..

but try giving like this

grant all on TEG.PACKAGE_A to <db_link_user>/public

grant all on TEG.PACKAGE_B to <db_link_user>/public



how are you executing the script, it will give you more generic message rather than what you have mentioned here.. it will give you something like this

at line 280:
ORA-06508: PL/SQL: could not find program unit being called
ORA-0

paste the total error message... if you get the line number then you can go that particular line number and see what object is there and grant execute on that particular object to the dblinkuser again and try once more..
0
 
LVL 16

Expert Comment

by:Wasim Akram Shaik
ID: 37829481
jhacharya.. can i know the reason for the penalty grade..??

the question has been well answered.. if you had needed further clarifications, you could have asked more.. can you let me know what has been missed out here..

if you think nothing has been missed out.. then you should have closed this question with proper grading..!!
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
VB.Net - CSV to Oracle table 4 67
dates - loop 12 65
Retreiving column names in Windows but not in Unix 11 44
make null the repeated levels 2 18
This article started out as an Experts-Exchange question, which then grew into a quick tip to go along with an IOUG presentation for the Collaborate confernce and then later grew again into a full blown article with expanded functionality and legacy…
Working with Network Access Control Lists in Oracle 11g (part 1) Part 2: http://www.e-e.com/A_9074.html So, you upgraded to a shiny new 11g database and all of a sudden every program that used UTL_MAIL, UTL_SMTP, UTL_TCP, UTL_HTTP or any oth…
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question