ORA-01092: Oracle instance terminated. Disconnection forced. error [message #52121] |
Wed, 03 July 2002 11:47 |
Moutts
Messages: 8 Registered: December 2001
|
Junior Member |
|
|
Hi,
Iam not a DBA, but due to requirements iam currently maitaining the oracle database in our organisation temporarily. I installed oracle8i, but iam having a problem everyday. I have been observing for the past 3 days, that everyday in the morning when i try to connect to the oracle server through client, iam getting ORA-01092: Oracle instance terminated. Disconnection forced. error. When i reboot the server, it is working. Initially i thought it is nothing. but now it worries me that everyday i had to restart the server. Can anyone tell me what the problem is and help me out in resolving this issue?? I will appreciate your time in explaining the solution to this problem to me....
happy 4th of july!!!!
|
|
|
|
|
|
Re: ORA-01092: Oracle instance terminated. Disconnection forced. error [message #52163 is a reply to message #52121] |
Fri, 05 July 2002 13:00 |
Grant
Messages: 578 Registered: January 2002
|
Senior Member |
|
|
You get this message if someone does a "shutdown abort" while your connected. To make sure that is or isn't the problem look in the alert log and the audit directory.
SQL> connect internal
SQL> show parameter background_dump_dest
This is where your alert log is. Your audit files are located in ORACLE_HOME/rdbms/audit. The logs here will show what type of shutdown happened.
Make sure you don't have a process running that shuts down the DB say for backups or another user is bouncing the DB while you are connected.
|
|
|
|
Re: ORA-01092: Oracle instance terminated. Disconnection forced. error [message #52189 is a reply to message #52121] |
Mon, 08 July 2002 05:11 |
Moutts
Messages: 8 Registered: December 2001
|
Junior Member |
|
|
hi..
------------------------------------------------------
# $Header: usradt.tcl 06-jun-00.10:55:57 jmansur Exp $
#
# copyright (c) 1999 by the Oracle Corporation
#
# NAME:
#
# usradt.tcl : Event tcl file that checks if a specified user(s)
# logs on to the database.
#
# ARGUMENTS:
# argv(0) == connect string
# argv(1) == filter of the user names to be monitored, or *
# for all users. Examples of filters are
# "= 'SYSTEM'"
#
# RETURN:
# $SCRIPT_FAIL or
# $NO_EVENT or
# $ALERT_EVENT
#
# OUTPUT:
# A list of username, count of sessions, workstation for
# all restricted users currently logged in.
#
# Event definition
oradefine event /oracle/rdbms/audit/usradt description=VOC-01344
report=VOC-01345 frequency=300
oraarguments connect_str user_name
oravardesc connect_str oracle_signon
oravardesc user_name string default=='SYS' message=VOC-01346
oraresults username session_count machine
oravardesc username string
oravardesc session_count string
oravardesc machine string
oradefine end
#
# Initialize global variables
set output ""
oraeventpersist last_users {}
oraeventpersist last_counts {}
oraeventpersist last_workstations {}
# The main event checking functions
proc EvalEvent {} {
# Declare globals we will use
global argv last_report output
global SCRIPT_FAIL NO_EVENT ALERT_EVENT CLEAR_EVENT
global oramsg
global last_users last_counts last_workstations
# initialize the return code and output
set ret_code $CLEAR_EVENT
set output ""
set err ""
set user {}
set count {}
set workstation {}
# connect to the database and open a cursor
set connect [[format "%s@%s" [[lindex $argv 0]] $oramsg(oraobject)]]
if {[[catch {oralogon $connect} lda]]} {
lappend output [[msgtxt [[RDBMS]] ora $oramsg(rc)]] ""
if {$last_report == $SCRIPT_FAIL} {
return $NO_EVENT
} else {
set last_report $SCRIPT_FAIL
return $SCRIPT_FAIL
}
}
if {[[catch {set cur [[oraopen $lda]]} err]]} {
lappend output $err
catch {oralogoff $lda} err
if {$last_report == $SCRIPT_FAIL} {
return $NO_EVENT
} else {
set last_report $SCRIPT_FAIL
return $SCRIPT_FAIL
}
}
#construct the SQL statement..
set sql {select username,count(username),machine
from v$session
where type <> 'BACKGROUND' and username is not null }
if {[[string compare [[lindex $argv 1]] *]] != 0} {
lappend sql and username
set tmp [[convertin $oramsg(db_characterset) [[lindex $argv 1]]]]
set sql [[concat $sql $tmp]]
}
lappend sql group by username,machine
if {[[catch {orasql $cur $sql}]] == 1} {
lappend output [[convertout $oramsg(db_characterset)
$oramsg(errortxt)]] $sql
catch {oraclose $cur} err
catch {oralogoff $lda} err
lappend output $err
if {$last_report == $SCRIPT_FAIL} {
return $NO_EVENT
} else {
set last_report $SCRIPT_FAIL
return $SCRIPT_FAIL
}
}
if {[[catch {set row [[orafetch $cur]]} err]]} {
lappend output $err
catch {oraclose $cur} err
catch {oralogoff $lda} err
if {$last_report == $SCRIPT_FAIL} {
return $NO_EVENT
} else {
set last_report $SCRIPT_FAIL
return $SCRIPT_FAIL
}
}
if {$oramsg(rows) != 0} {
# check for user sessions
while {$oramsg(rc) == 0} {
if {[[lindex $row 2]] > 0} {
set ret_code $ALERT_EVENT
set tmp [[convertout $oramsg(db_characterset) [[lindex $row 0]]]]
lappend user $tmp
lappend count [[lindex $row 1]]
lappend workstation [[lindex $row 2]]
}
if {[[catch {set row [[orafetch $cur]]} err]]} {
lappend output $err
catch {oraclose $cur} err
catch {oralogoff $lda} err
if {$last_report == $SCRIPT_FAIL} {
return $NO_EVENT
} else {
set last_report $SCRIPT_FAIL
return $SCRIPT_FAIL
}
}
}
lappend output $user $count $workstation
}
# log off
catch {oraclose $cur} err
catch {oralogoff $lda} err
if { $ret_code == $last_report &&
[[string compare $last_users $user]] == 0 &&
[[string compare $last_counts $count]] == 0 &&
[[string compare $last_workstations $workstation]] == 0 } {
return $NO_EVENT
} else {
ORATCL_DEBUG "usradt : $oramsg(oraobject) : [[oratime]] : MESSAGE - $ret_code, $output"
set last_report $ret_code
set last_users $user
set last_counts $count
set last_workstations $workstation
return $ret_code
}
}
-------------------------------------------------------
I have a 2* 72GB Hard disk, 4GB RAM PIII 1.4 ghz running on windows 2000.
Im still having the same problem...
|
|
|
Re: ORA-01092: MY ANSWER TO THE PROBLEM [message #53321 is a reply to message #52121] |
Thu, 12 September 2002 07:53 |
kwalther
Messages: 9 Registered: April 2002
|
Junior Member |
|
|
I also received the ORA-01092 error when
trying to start up a database via a script I
created. In my case
it was because I listed two system files, and
forgot to rename one differently from the
other (system01.dbf, system02.dbf). This
caused the error.
When I renamed one of the files the script
fired without errors.
I thought the error might be occuring because
I was using $ORACLE_BASE and $ORACLE_SID env
variables in the paths, but I dismissed that
idea after seeing the duplicate file names.
I like to roll my own and learn from my
mistakes, without having to depend on dbca.
|
|
|