I have set up an Oracle 9.2 database on a HP-UX system and I plan to use external user authentication.
In the init.ora file I have set the following parameters:
os_authent_prefix = ''
remote_os_authent = 'TRUE'
I have created a user with the following statement
CREATE USER HPSIC IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE HPSIC_DATA
TEMPORARY TABLESPACE TEMPTBS
QUOTA UNLIMITED ON HPSIC_IDX
QUOTA UNLIMITED ON HPSIC_DATA;
GRANT DBA TO HPSIC
When I log on the Unix system using HPSIC and I issue SQLPLUS /, everything works. When I connect from Windows XP, using ODBC or Enterprise Manager Console, I get the following message ORA-01017:
invalid username/password; logon denied.
Everything works using a local Oracle account, for example SYSTEM.
In the tnsnames.ora I have the following configuration
(ADDRESS = (PROTOCOL = TCP)(HOST = hpsicmi05.italy.hp.com)(PORT = 1521))
(SID = testsic)
(SERVER = DEDICATED)
In sqlnet.ora there are the following data
NAMES.DEFAULT_DOMAIN = emea.cpqcorp.net
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
If you are connecting from a Windows domain, then the domain name is probably being prepended to the userid. For example, if your domain name is ACME.COM and your Windows userid is COYOTE, then your Oracle userid should be "acme.com\coyote". Look at the Oracle Listener log file on the database server to see which userid is being sent from the Windows box.
It's been a few years, but I seem to recall the name becomes case sensitive. To see your "real" Windows userid, go to the Control Panel > System > User Profiles. Your real name may have a prefix that you don't use on login because Windows "automatically" prepends it to your name as long as you are on the domain. When going across domains the value is passed as part of your name.