This will allow remote users to connect to the Oracle database without supplying a password.
To enable it, follow the below procedure. The parameters involve are remote_os_authent and os_authent_prefix.
1. Enable remote_os_authent
SQL> alter system set remote_os_authent=true, scope=spfile;
-OR-
Add the following line to your initialization parameter:
remote_os_authent=true
2. Set remote_authent_prefix. In this case, we use ops$.
SQL> alter system set os_authent_prefix=ops$ scope=both;
-OR-
Add the following line to your initialization parameter:
os_authent_prefix='ops$'
3. Assuming that the Unix OS user is oracle, we have to create it if it's not yet created using the format: [remote_authent_prefix][OS_User]. E.g. ops$oracle. The password should be defined as IDENTIFIED EXTERNALLY
SQL> create user ops$oracle IDENTIFIED EXTERNALLY;
4. Grant dba role to the user.
SQL> grant dba to ops$oracle;
The new value should now be:
5. Test the connection remotely.SQL> show parameter remote_os_authent
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
remote_os_authent boolean TRUE
SQL> show parameter os_authent_prefix
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
os_authent_prefix string OPS$
caldev7 DB1 ~ > id
uid=268(oracle) gid=79(dba)
caldev7 DB1 ~ > sqlplus /@DB1
You should now be able to login remotely without specifying the password.
caldev7 DB1 ~ > sqlplus /@DB1
SQL*Plus: Release 9.2.0.8.0 - Production on Fri Apr 27 11:05:13 2012
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production