1. Oracle is not in the DBA group.
[Root @ localhost ~] # Gpasswd-D Oracle DBA
Removing user oracle from group DBA
[Root @ localhost ~] # Su-Oracle
-Bash:/etc/profile: Line 61: syntax error: unexpected end of File
[Oracle @ localhost ~] $ Sqlplus/As sysdba
SQL * Plus: Release 10.2.0.1.0-production on ç ú?å 8 â 9 23:57:19 2013
Copyright (c) 1982,200 5, Oracle. All rights reserved.
Error:
ORA-01031: insufficient privileges
Enter user-Name:
2. Check whether sqlnet. (ORACLE_HOME % Network/Admin directory) contains this sentence.
If sqlnet. authentication_services = (CNT) has one, comment it out.
[Oracle @ localhost admin] $ more sqlnet. ora | grep CNT
Sqlnet. authentication_services = (CNT)
[Oracle @ localhost admin] $ sqlplus/As sysdba
SQL * Plus: Release 10.2.0.1.0-production on ç úáá limit 8 â 10 00:00:40 2013
Copyright (c) 1982,200 5, Oracle. All rights reserved.
Error:
ORA-01031: insufficient privileges
Enter user-Name:
[Oracle @ localhost admin] $ more sqlnet. ora | grep CNT
# Sqlnet. authentication_services = (CNT)
[Oracle @ localhost admin] $ sqlplus/As sysdba
SQL * Plus: Release 10.2.0.1.0-production on ç úáá limit 8 â 10 00:01:19 2013
Copyright (c) 1982,200 5, Oracle. All rights reserved.
Connected:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0-64bit Production
With the partitioning, OLAP and Data Mining options
SQL>
If sqlnet. authentication_services = (ETS) is used)
It means you can use OS authentication, as long as the Conn/As sysdba can log on.
However, if it is commented out or sqlnet. authentication_services = (none)
You must use conn sys/password @ Oracle AS sysdba to log on
1. In Windows, sqlnet. authentication_services must be set to ETS or all to use OS authentication. If it is not set or set to any other value, OS authentication cannot be used.
2. in Linux, if the value of sqlnet. authentication_services is set to all or is not set, OS authentication can be successful. If it is set to any other value, OS authentication cannot be used.