I have one problem. i have two diffrent database (7.3 and 8.7) i am try ing to compile my procedure that procedure call another procedure from second database using dblink but i am getting error lile PLS.00201 IDENTIFIER MUST BE DECLARE. i don't know why? i also create synonym for that procedure which i am calling from second database using dblink.
help me out.
It could be a rights issue. If it can't see the other procedure then it can't use it.
What do i have to do for that?
Thanks for you help.i do understand that i have to grant privilages to object privilage to user i.egrant execute on to or grant select on to but here my problem is i am call package using dblink from diffrent database to my development database so how i am going to grant priviliges to my development user because i create synonym in my schema and i am the owner of that synonym so i am not sure what to do?
You have to grant rights on the remote instance to the user that is establishing the connection to the remote db.
For example, if you create a db link:
create database link db1 connect to UserA identified by aPassword using 'db1.mydomain.com';
You then create a synonym that points to UserB.A_TABLE@db1.
On db1.mydomain.com, the owner of the object (UserB) must grant rights on A_TABLE to UserA.
the web site link that explain about roles and privelages is very good and informative.