Solved

8i - service up, cannot start database, error 1031?

Posted on 2003-11-19
3
1,791 Views
Last Modified: 2007-12-19
Oracle 8i on a machine that has recently changed domains.
Services start ok.  Database not started.
Using DBA Studio, I connect as a sysdba and try to open the instance (or start, mount, etc) using same config files as before.  This fails almost immediately.
In the system event viewer we get the following message (verbatim)...
"Audit trail: ACTION : 'connect INTERNAL' OSPRIV : OPER CLIENT USER: TRIBALDATA\TDS^Admin CLIENT TERMINAL: DEV2K  STATUS: FAILED ( 1031 )  . "
Have tried this with several user accounts.  Get paired messages in the event log, one with the above message and status "SUCCEEDED ( 0 ) " and this one that fails, same timestamp.

We have inherited this database and the account info may be wrong.

As far as I know the only thing that has changed is that the OS domain has changed.  Operating System is Windows 2000 Server.

Any ideas anyone please, about where to look or what the cause may be?
0
Comment
Question by:keithfearnley
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 6

Expert Comment

by:chedgey
ID: 9777655
Try:

Run up a commad window;
Run Server Manager by typing "svrmgrl"
Connect as SYS using "Connect SYS/<Password>@<Instance> As SysDBA
Try to startup the instance using "Startup PFile=<your parameter file including path>

If that does not work then please paste the command line errors into this thread.

Regards

Chedgey
0
 
LVL 1

Author Comment

by:keithfearnley
ID: 9778229
OK,  thanks for the comment, but it wasn't greatly helpful - the message was ORA-01017, "insufficient priviliges", despite correct user/password.

I have found the problem (I think), and it could be of note for others...

The OS administrator account has also changed - name and password - and the new administrator was not in user group ORA_DBA.
I put the new admin user into this group and I was then able to log into oracle dba studio as a sys_dba and start the database successfully.
So, I was logged into the OS as the admin user, who was not in the ORA_DBA group, and was not able to log in as a SYS_DBA under oracle.  This seems strange to me, but there may be a link-up to do with services (which are running as local account rather than explicit admin account), OS user and oracle user.

Any ideas - this is a low priority now, since it is sorted.  
The Coriolis book "Oracle 8 and Windows NT Black Book" was helpful to me by giving a hint on setting up nt-authenticated users as oracle DBAs.
0
 
LVL 8

Accepted Solution

by:
Rindbaek earned 250 total points
ID: 9779601
Well congratulations, you beat me on the ora_dba group issue... ,-)

Connecting as internal or sysdba/sysoper can be setup in 2 different ways:  
  - to connect without the necessity to provide a password  
  - to connect with the necessity to provide a password


 Os authentication for administrators  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Caution is the word as when you implement this, you're security is as good   as the operating system's security.

LOCAL User Groups need to be created on the Windows NT Server/Workstation.  T
his is best done through Start->Programs->Administrative Tools->User Manager/User Manager for Domains.  

For the use of User Manager/User Manager for Domains, please refer to the O/S related manual  

The 'OSDBA' and 'OSOPER' groups on NT are simply groups with the   name "ORA_DBA", "ORA_OPER", "ORA_sid_DBA" or "ORA_sid_OPER", where  'sid' is the instance name.

Verify that your MS Windows NT Local or Domain User Account that you use to  administer the Oracle Instance/Database belongs to one of the following four  
MS Windows NT Local Groups on the MS Windows NT Server/Workstation:  
Local Group              Explanation  
 -----------                -----------  
ORA_OPER              SYSOPER database privileges, for all instances  
ORA_DBA                SYSDBA  database privileges, for all instances  
ORA_<SID>_OPER   SYSOPER database privileges, for the specified instance only  
ORA_<SID>_DBA     SYSDBA  database privileges, for the specified instance only




Connecting With a Password    
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When the "init.ora file" parameter remote_login_passwordfile is set to     EXCLUSIVE or SHARED, Oracle can have a password file to maintain      
  - the password of internal    
  - the list of users and their passwords that have been granted administrator privileges    

The name of the password file has the format: "pwd<SID>.ora" and is situated by default in the <ORACLE_HOME>\Database-directory.    
The password is automatically created in the <ORACLE_HOME>\Database directory when an instance is created with the instance manager ORADIMxx.

Regarding the servirce oracleservice<sid>
If your service wont start check that the account used for starting it is a member of the ORA_DBA, sometimes there is a problem with "LocalSystem" since you cannot put it into the ORA_DBA group, but its just sometimes....

Does it answer your questions?
Henning
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Working with Network Access Control Lists in Oracle 11g (part 1) Part 2: http://www.e-e.com/A_9074.html So, you upgraded to a shiny new 11g database and all of a sudden every program that used UTL_MAIL, UTL_SMTP, UTL_TCP, UTL_HTTP or any oth…
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This video shows how to recover a database from a user managed backup

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question