Skip to main content

what if one of DBWn fails

SQL> select bgp.name,p.spid,s.sid
2 from v$bgprocess bgp,v$process p,v$session s
3 where bgp.paddr=p.addr
4 and p.addr=s.paddr;

NAME SPID SID
----- ------------ ----------
PMON 29891 1
DBW0 29893 2
DBW1 29895 3
DBW2 29897 4
LGWR 29899 5
CKPT 29901 6
SMON 29903 7
RECO 29905 8
CJQ0 29907 9
QMN0 29909 10

10 rows selected.

SQL> !ps -ef|grep 29893
orclhcc 29893 1 0 13:49 ? 00:00:00 ora_dbw0_HCC
orclhcc 30347 14908 0 13:52 pts/5 00:00:00 /bin/bash -c ps -ef|grep 29893
orclhcc 30349 30347 0 13:52 pts/5 00:00:00 grep 29893

SQL> !kill -9 29893

SQL> !ps -ef|grep 29893
orclhcc 30378 14908 0 13:52 pts/5 00:00:00 /bin/bash -c ps -ef|grep 29893
orclhcc 30380 30378 0 13:52 pts/5 00:00:00 grep 29893

SQL> select 1 from dual;
select 1 from dual
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel

Conclusion:Instance crashes

Comments

Popular posts from this blog

ORA-01501: CREATE DATABASE failed

Problem: ======== During the creation of a new database the CREATE DATABASE command fails with the following errors: ORA-01501: CREATE DATABASE failed ORA-01519: error while processing file '?/rdbms/admin/sql.bsq' near line 406 ORA-00604: error occurred at recursive SQL level 1 ORA-04031: unable to allocate 2192 bytes of shared memory ("shared pool", "unknown object","KQLS heap","KQLS MEM BLOCK") Solution: ========= 1. Increase the shared_pool_size parameter in the init .ora file. 2. Shutdown abort your database. 3. Startup nomount your database. 4. Execute the CREATE DATABASE command again. Explanation: ============ If your shared_pool_size is too small, the CREATE DATABASE command cannot finish successfully. This happens typically on small test instances when you just want to test anything on an empty instance and do not want to waste too much memory on a server. In this case you often edit in...

Script to Collect Data Guard Physical Standby Diagnostic Information

Script to Collect Data Guard Physical Standby Diagnostic Information [ID 241438.1] -------------------------------------------------------------------------------- Modified 20-APR-2011 Type SCRIPT Status PUBLISHED Overview -------- This script is intended to provide an easy method to provide information necessary to troubleshoot Data Guard issues. Script Notes ------------- This script is intended to be run via sqlplus as the SYS or Internal user. Script ------- - - - - - - - - - - - - - - - - Script begins here - - - - - - - - - - - - - - - - -- NAME: DG_phy_stby_diag.sql -- ------------------------------------------------------------------------ -- AUTHOR: -- Michael Smith - Oracle Support Services - DataServer Group -- Copyright 2002, Oracle Corporation -- ------------------------------------------------------------------------ -- PURPOSE: -- This script is to be used to assist in collection information to help -...

Unix Tips for Oracle DBA

A script to kill all Oracle processes This is a common Unix script used by Oracle DBAs when a database is locked up, and Server Manager cannot be used to stop the database in more “gentle“ fashion. To begin, the Unix kill command is used to kill a process. The basic format of the kill command is as follows: Kill –9 PID1 PID2 PID3 …PIDn The trick is to be able to identify and kill only the Oracle processes. That’s done by stringing several commands together. The resulting one-line script looks like this: ps –ef|grep “ora_”|grep –v grep|grep $ORACLE_SID| awk ‘{print $2}’|xargs kill –9 We ‘ll walk through the process of building the command. To begin, we want to get a list of active processes on the server. We can do that using the following command: ps –ef If we execute ps –ef on our server, we’ ll see a long list of processes - both for Oracle and for many other things. However, we want to limit your output to only those processes that are related to the Oracle Data...