Quantcast
Channel: dBforums – Everything on Databases, Design, Developers and Administrators
Viewing all articles
Browse latest Browse all 13329

Instant Client not (stopped) referencing TNS_ADMIN

$
0
0
Hello,



Hello,

Back in November we started deploying W7 x64 PC's in to our production environment. This required installing Oracle Instant Client 11.2.0.3. Our TNSNAMES.ORA file is on a Novell mapped drive (supposedly for ease of keeping the file up to date). TNS_ADMIN user variable is pointing to the mapped drive (Q:\oradev6\net80\admin). We have been using this method since at least Oracle 8. Reports started coming in the past couple of weeks that ODBC connectivity was failing on client PC's. We double checked all environment variables;

Variable name: ORACLE_HOME
Variable value: c:\oracleic64\instantclient_11_2

Variable name: TNS_ADMIN
Variable value: Q:\oradev6\net80\admin

APPEND to the existing path statement:
c:\oracleic64\instantclient_11_2;c:\oracleic32\ins tantclient_11_2

The novell drive was mapped and the local Windows user is a member of administrators.

Going into System DSN tab of the ODBC Data Source Administrator we click on one of the data sources and select test connection, enter credentials and get, "Unable to connect. SQLState=08004. ORA-12154: TNS:could not resolve the connect identifier specified." (this use to work)

Running a pcap in the background shows that the client PC is trying to us DNS and NBNS to resolve the TNS Service Name. Also, another clue that the TNSNAMES.ORA file is not being referenced is that when a connection is being created none of the Service Names are listed in the drop down list. (this use to work).

With all that said- logging in to windows as Administrator (and creating the user variables defined above) everything works. (Yes the local user is a member of Administrators). We are not in a domain.

The problem crept up when a new "version" of our desktop image was updated. There are a lot of chefs in this kitchen so it is hard to ascertain what changes were made, but I took the older image (where everything works) and patched the OS to the latest version, but couldn't get it to break. On the newer image I removed the Novell client and mapped Q: drive using a microsoft share that used the same directory structure, same problems (fails for user, works for administrator). We have even removed our antivirus program and the problem still persists.

Drilling down further we tried process monitor on the working and failing configs.

On the working config;

Process Name PID Operation Path Result Detail
odbcad32.exe 3416 CreateFile \\ADRVNFS1\BANNER\oradev6\NET80\ADMIN\tnsnames.ora SUCCESS Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a, OpenResult: Opened

odbcad32.exe 3416 QueryDeviceInformationVolume \\ADRVNFS1\BANNER\oradev6\NET80\ADMIN\tnsnames.ora SUCCESS DeviceType: Disk, Characteristics: Mounted, Remote

odbcad32.exe 3416 ReadFile \\ADRVNFS1\BANNER\oradev6\NET80\ADMIN\tnsnames.ora SUCCESS Offset: 0, Length: 4,096, Priority: Normal

odbcad32.exe 3416 ReadFile \\ADRVNFS1\BANNER\oradev6\NET80\ADMIN\tnsnames.ora SUCCESS Offset: 4,096, Length: 2,955, Priority: Normal

odbcad32.exe 3416 ReadFile \\ADRVNFS1\BANNER\oradev6\NET80\ADMIN\tnsnames.ora SUCCESS Offset: 7,051, Length: 4,096, Priority: Normal

odbcad32.exe 3416 CloseFile \\ADRVNFS1\BANNER\oradev6\NET80\ADMIN\tnsnames.ora SUCCESS



On the failed config;

Process Name PID Operation Path Result Detail
odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2 SUCCESS Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened

odbcad32.exe 1036 QueryDirectory C:\oracleic64\instantclient_11_2\oracle.key NO SUCH FILE Filter: oracle.key

odbcad32.exe 1036 CloseFile C:\oracleic64\instantclient_11_2 SUCCESS

odbcad32.exe 1036 CreateFile C:\oracleic64 SUCCESS Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened

odbcad32.exe 1036 QueryDirectory C:\oracleic64\instantclient_11_2 BUFFER OVERFLOW Filter: instantclient_11_2, 1: inst̻

odbcad32.exe 1036 CloseFile C:\oracleic64 SUCCESS

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2\oracle.key NAME NOT FOUND Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2\bin NAME NOT FOUND Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2 SUCCESS Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened

odbcad32.exe 1036 QueryDirectory C:\oracleic64\instantclient_11_2\bin NO SUCH FILE Filter: bin

odbcad32.exe 1036 CloseFile C:\oracleic64\instantclient_11_2 SUCCESS

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2\bin\oracle.key PATH NOT FOUND Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2\network\admin PATH NOT FOUND Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2\network NAME NOT FOUND Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2\network\admin\tns names.ora PATH NOT FOUND Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2\net80\admin PATH NOT FOUND Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2\net80 NAME NOT FOUND Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

odbcad32.exe 1036 CreateFile C:\oracleic64\instantclient_11_2\net80\admin\tnsna mes.ora PATH NOT FOUND Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a

odbcad32.exe 1036 CreateFile C:\Windows\System32 SUCCESS Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened

odbcad32.exe 1036 QueryDirectory C:\Windows\System32\tnsnames.ora NO SUCH FILE Filter: tnsnames.ora

odbcad32.exe 1036 CloseFile C:\Windows\System32 SUCCESS

odbcad32.exe 1036 CreateFile C:\Windows SUCCESS Desired Access: None, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened

odbcad32.exe 1036 QueryDirectory C:\Windows\system32 BUFFER OVERFLOW Filter: system32, 1: Syst̻

odbcad32.exe 1036 CloseFile C:\Windows SUCCESS

odbcad32.exe 1036 CreateFile C:\Windows\System32\tnsnames.ora NAME NOT FOUND Desired Access: Generic Read, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: n/a


To reiterate, this works when user is logged into novell and windows as user on an older "version" of our W7x64 image.
User is member of administrators.

This stopped working on our newer "version" of our W7 x64 image which I am told has OS and driver updates. But does work when logged in as administrator.

When it doesn't work, process monitor shows attempts to locate TNSNAMES.ORA in the C:\oracleic64\instantclient_11_2\network\admin\ instead of referencing the Q: drive as defined by the user variable TNS_ADMIN = Q:\oradev6\net80\admin. Pcaps shows attempts to resolve service names using DNS and NBNS.


Help?

Thank you!
Giles

Viewing all articles
Browse latest Browse all 13329

Trending Articles