You are on page 1of 3

opiino: Attach failed!

error=-1 ifvp=0

We had been getting this error quite a few systems.


I some how just wanted to find the reason for the same.

Here are my findings :

sqlnet.authentication_services(ALL) could be one of the reason

metalink 399727.1

Metalink Note:399727.1 "Opiino: Attach Failed! Error=-1 Ifvp=0" Written


Many Times Per Minute In Udump File And ORA-12500 In Listener.log"
doesn't apply to our situation, because there is only one database running
on the server. Also, we do not observe ORA-12500 in the listener.log - this is
weird.

opiino: Attach failed! error=-1


ifvp=0000000000000000
By default, Oracle services are created and run under the local system
account. I'm not entirely sure the reason for that, but one reason I can think
of is so that processes from within the database can only write to the local
system and not anywhere else.

For that reason, you may have a process in your database where you would
like to write information to a fileshare. For example, you have scheduled
jobs which run overnight and write files out to an Oracle Directory, and you
want this directory to reside on a fileshare so that the files can be picked up
by another process. If this is your scenario, you will not be able to do so
while you have the Oracle service running as under a local system account.

So you go away and create a new user who has privileges as an


administrator on the local machine and you grant read/write access to that
user over the fileshare. You change the Oracle service to run as that user
and start the database – you are running a 9i database by the way.
Everything all works fine….Until you upgrade the database to 10g!

So, what now happens is that you get the error message above. The strange
thing is that you can log in as the SYS user but you cannot log in as any
other user. After much time spent around the system admins desk telling
him that he hadn’t set up the user correctly, it turns out that he had!

The symptoms gave it away really. I could log in as the SYS user using a
bequeath connection to the database, but not as any other user who was
connecting via the listener. So, I changed the account running the listener to
the newly created one instead of the local system account and it all worked.

http://download.oracle.com/docs/cd/B14117_01/network.101/b10772/asoa
uth.htm

SQLNET.AUTHENTICATION_SERVICES allows Windows


users to be authenticated using Windows NT native
security. What this means is that by setting
SQLNET.AUTHENTICATION_SERVICES to NTS:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

Creating a role called ORA_DBA, with your user in that


group, you should be able to log in to oracle without
supplying a password. (connect / as sysdba)
The Oracle documentation has the following to say
about SQLNET.AUTHENTICATION_SERVICES:

Use the parameter SQLNET.AUTHENTICATION_SERVICES


to enable one or more authentication services. If
authentication has been installed, it is recommended that
this parameter be set to either none or to one of the
authentication methods.

DefaultNoneValuesAuthentication Methods Available with


Oracle Net Services:* none for no authentication
methods. A valid username and password can be used to
access the database.* all for all authentication methods*
nts for Windows NT native authenticationAuthentication
Methods Available with Oracle Advanced Security:*
kerberos5 for Kerberos authentication* cybersafe for
Cybersafe authentication* radius for RADIUS
authentication* dcegssapi for DCE GSSAPI authentication"

You might also like