Author |
Message
|
hsabl |
Posted: Thu Jul 16, 2020 12:58 am Post subject: broker does seach tnsname.ora in invalid $TNS_ADMIN |
|
|
Newbie
Joined: 08 Jul 2020 Posts: 5
|
Hello,
I do watch a strange behavior with iib 10.0.0.11 .
After changing the environment variables $TNS_ADMIN and $ORACLE_HOME to simple locations as "/orabase/network/admin" and "/orabase" , where the tnsnames.ora is located , the tnsnames.or file is still being searched in the paths which has formerly been defined in these variables.
I installed the "instant sqlplus" client, which works fine with the new env vars.
So it finds the tnsnames.ora as expected.
But broker flows using the drivers
/opt/ibm/iib-10.0.0.11/ie02/lib/libodbcinterface.so and
/opt/ibm/iib-10.0.0.11/ie02/lib/libodbc.so
and it still search in "/orabase/product/12.1.0.2/client_1" which has formerly been defined.
I proofed an checked this by creating only the symbolic link
/orabase/product/12.1.0.2/client_1/network/admin
to that "/orabase/network/admin" directory , which is the only location where tnsnames.ora is located.
So I ask, is there any property in the broker registry itself which defines the seach path, or is there some caching mechanism , which can be reset or cleaned up ?
Broker has been stopped and user mqm has been logged out, logged
command "env" showed the new variables and broker has been started.
I would be very happy, if I could find the reason and make the broker flows use the env vars to search for tnsnames.ora.
The variable "TNSNamesFile" is not set in any file and I already searched for a file containing the old TNS_ADMIN variable in any simple/normal file of the whole server.
Also I scanned any "ReportableEntityName" via "mqsireportproperties" and did not find any hint. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jul 16, 2020 5:08 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
What does your ODBC.ini say?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
hsabl |
Posted: Thu Jul 16, 2020 9:51 pm Post subject: |
|
|
Newbie
Joined: 08 Jul 2020 Posts: 5
|
It is set as ".odbc64.ini" on our systems:
[mqm@srv6011 ~]$ echo "$ODBCINI"
/var/mqsi/odbc/.odbc64.ini
For any entry/block the drivers in /opt/ibm/iib-10.0.0.9 are set, but
if I check with "lsof" I do see that drivers from /opt/ibm/iib-10.0.0.11 are used. So I ask myself, if this inid file is used or read at all.
;# Oracle stanza
[ORACLEDB]
Driver=/opt/ibm/iib-10.0.0.9/server/ODBC/drivers/lib/UKora95.so
Description=DataDirect ODBC Oracle Wire Protocol
HostName=<Your Oracle Server Machine Name>
PortNumber=<Port on which Oracle is listening on HostName>
ServiceName=<Your Oracle Service Name>
CatalogOptions=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
EnableDescribeParam=1
OptimizePrepare=1
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1
LoginTimeout=0
an example of a database:
[TOMIS]
Driver=/opt/ibm/iib-10.0.0.9/server/ODBC/drivers/lib/UKora95.so
Description=DataDirect 5.0 Oracle
EnableDescribeParam=1
OptimizePrepare=1
ServerName=TOMIS
WorkArounds=536870912
ProcedureRetResults=1
ColumnSizeAsCharacter=1 |
|
Back to top |
|
 |
abhi_thri |
Posted: Fri Jul 17, 2020 1:03 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
hi...have a look at node's user id profile file to see whether it is overridding the odbc ini path there, also you could try using 'mqsicvp' command to verify which DSNs are visible for the node. |
|
Back to top |
|
 |
hsabl |
Posted: Fri Jul 17, 2020 1:20 am Post subject: |
|
|
Newbie
Joined: 08 Jul 2020 Posts: 5
|
Yes that ODBCINI is set in user mqm's profile
mqsicvp is working fine with:
TNS_ADMIN=/opt/ibm/iib-10.0.0.11/server/webadmin
If I move the directory 12.1.0.2 away (rename) it fails as expected.
After export TNS_ADMIN=/orabase/network/admin in profile it is again working fine as expected, but flows do not use this even after a restart of the broker .
That is what I do not understand.
The broker does not recognized it at all.
Even if I unset the ORACLE env variables and restart the broker ,
the broker still uses "/opt/ibm/iib-10.0.0.11/server/webadmin" to search for tnsmaes.ora . |
|
Back to top |
|
 |
abhi_thri |
Posted: Fri Jul 17, 2020 2:16 am Post subject: |
|
|
 Knight
Joined: 17 Jul 2017 Posts: 516 Location: UK
|
hi...check whether 'TNSNamesFile' param is explicity set at the obdc.ini file either at the DSN stanza or at the default ODBC stanza.
Also why is the driver still pointing to 10.0.0.9 folder instead of 10.0.0.11 at the DSN stanza?
Quote: |
[TOMIS]
Driver=/opt/ibm/iib-10.0.0.9/server/ODBC/drivers/lib/UKora95.so |
|
|
Back to top |
|
 |
|