The other day, I was upgrading an Oracle 10.2.0.2 database to 10.2.0.5 using DBUA (it has it’s benefits and provides a nice consistent approach when under pressure, providing it’s used with care).
I constantly got the request to enter the password for a DB user with SYSDBA privileges.
I didn’t have the SYS or SYSTEM user passwords (really!), but the OS user I was using definitely was a member of the group that is compiled into the config.o library (see MYOS note “SYSDBA and SYSOPER Privileges in Oracle [ID 50507.1]”):
For reference, you check on UNIX by:
cd $ORACLE_HOME/rdbms/lib
cat config.[c|s]
Checking the values for SYS_DBA and SYS_OPER against the UNIX groups your user is a member of (use the “groups” command).
The solution: this was simple, the Oracle home had been manually added into the /etc/oratab file and had been misspelled. If only it didn’t take 45 minutes to find it!
Correcting /etc/oratab and restarting DBUA fixed the problem.
I guess DBUA was just plain lying and it didn’t have the heart to tell me that I was about to upgrade a database when it couldn’t find the Oracle home. Shame on you.