veritas wrote:many things changed; like ACLS on network objects.
I have a procedure that bring some data from a mysql server over a HS service.
In 10G worked just fine, but after I migrated to 11g , some weird things happens.
If I ran the procedure (or the job that calls it) directly from sqlplus it goes just fine, but if I schedule a job to run that procedure it breaks with : ORA-12154: TNS:could not resolve the connect identifier specified.
It's like some environment settings or rights are missing when that job runs automatically.
So what's changed in 11g ???
Any help is appreciated,
veritas wrote:Interactive processes can have their environmental variables established by .bash_profile or similar
Nice post ! It gave me the right ideea !
What I didn't mention is that I'm in a RAC environment so, as you know from 11g the grid has his own listener. The same listener it's used for db too, so config files (listener.ora, tnsnames.ora, sqlnet.ora, etc ) are located in $GRID_HOME/network/admin. The second I move the tnsnames.ora in $ORACLE_HOME/network/admin my job worked just fine !
But now I have other questions :
1. How come that running from sqlplus/worksheet client the oracle "knows" the right location of TNS_ADMIN,
and then when running the job automatically it doesn't anymore ?batch jobs do NOT by default invoke .bash_profile when they start.
2. I read about setting env variable with srvctl setenv but I assume that involve the instance restart too ... which I can't afford. So, any way I can set TNS_ADMIN at my job or code level so I don't have to keep 2 tnsnames.ora ?a soflink can replace one of the two files; so that only a single copy of tnsnames.ora file exists