Wednesday, January 04, 2012

os_authent_prefix

In Oracle 10, the default value for os_authent_prefix was ops$:
 
SQL> l
  1  select value, isdefault
  2  from v$parameter
  3* where name = 'os_authent_prefix'
SQL> /
 
VALUE      ISDEFAULT
---------- ---------
ops$       TRUE
 
SQL>
 
So, if you created an ops$oracle user with a password:
 
SQL> grant dba to ops$oracle
  2  identified by andrew
  3  /
 
Grant succeeded.
 
SQL>
 
And you were logged onto the server hosting your database as UNIX user oracle:
 
TEST10 > whoami
oracle
TEST10 >
 
... you could logon to the database externally:
 
TEST10 > sqlplus /
 
SQL*Plus: Release 10.2.0.3.0 - Production on Tue Jan 3 14:41:28 2012
 
Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
 
SQL>
 
... or by using the password, which may not have been what you intended:
 
SQL> conn ops$oracle/andrew
Connected.
SQL>
 
To stop this happening, you could add the following line to your database’s parameter file:
 
os_authent_prefix = ""

No comments: