Home » RDBMS Server » Server Administration » crash
crash [message #51776] |
Wed, 12 June 2002 23:29 |
Janick CA
Messages: 1 Registered: June 2002
|
Junior Member |
|
|
when I query my database ( application dealing with payments), the application freezes and I have to reboot the system, moreover while I'm querying, some users ger blocked and can no longer use the application? Is this an issue of tablespace, of query not using index
|
|
|
|
Re: crash [message #51795 is a reply to message #51776] |
Thu, 13 June 2002 12:59 |
Sanjay Bajracharya
Messages: 279 Registered: October 2001 Location: Florida
|
Senior Member |
|
|
As you had mentioned, you may not be using the right index and end up doing a FULL TABLE scan. Tune the query, run an 'explain plan' on the SQL.
When you are running this monster query, login to DBA studio in another window and try to see what is going on.
I am pretty sure it has nothing to do with tablespaces.
|
|
|
Re: crash [message #51813 is a reply to message #51776] |
Fri, 14 June 2002 11:50 |
Grant
Messages: 578 Registered: January 2002
|
Senior Member |
|
|
You need to verify the problem is not locking. Oracle has known issues with foreign key references that do not have indexes. check to see if this is the problem with these two scripts. If you find this to be the problem create the indexes you need on the columns that are referenced. Run the show_locks.sql to see if there are table locks:
REM =====================================================================
REM Procedure : lockv7
REM Author : Herve Delbarre
REM Subject : List of locks by users(except MR)
REM Oracle db : V7.
REM =====================================================================
SET ECHO OFF
SET TERM ON
SET TIMING OFF
SET HEAD ON
SET VERI OFF
SET FEED OFF
SET PAUSE OFF
SET PAGES 66
SET RECSEP OFF
SET LINES 132
SET ARRAYSIZE 5
BTITLE OFF
TTITLE OFF
CLEAR BREAKS
CLEAR COMPUTE
CLEAR COLUMNS
CLEAR SCREEN
COL l FOR A78 TRUNC
ACCEPT us_ CHAR PROMPT "Username (LIKE format - default= all): "
TTITLE CENTER "Locks by users (except type MR) by &&us_" SKIP -
RIGHT ""
COL username FOR A08 HEAD "USER OS" TRUNC
COL pid FOR 999 HEAD "PID" TRUNC
COL spid FOR A06 HEAD "SID" TRUNC
COL ora FOR A08 HEAD "USER ORA" TRUNC
COL lock FOR A10 HEAD "LOCKS" TRUNC
COL type FOR A27 HEAD "TYPE" WRAPPED
COL lmode FOR A04 HEAD "MODE" TRUNC
COL wait FOR A01 HEAD "W" TRUNC
BREAK ON username -
ON pid -
ON spid -
ON ora -
ON lock
-- SPOOL lockv7
SELECT p.username ,
p.pid ,
p.spid ,
s.username ora ,
DECODE(l2.type,
'TX','TRANSACTION ROW-LEVEL' ,
'RT','REDO-LOG' ,
'TS','TEMPORARY SEGMENT ' ,
'TD','TABLE LOCK' ,
'TM','ROW LOCK' ,
l2.type ) vlock,
DECODE(l2.type,
'TX','DML LOCK' ,
'RT','REDO LOG' ,
'TS','TEMPORARY SEGMENT' ,
'TD',DECODE(l2.lmode+l2.request ,
4,'PARSE ' ||
u.name ||
'.' ||
o.name ,
6,'DDL' ,
l2.lmode+l2.request),
'TM','DML ' ||
u.name ||
'.' ||
o.name ,
l2.type ) type ,
DECODE(l2.lmode+l2.request ,
2 ,'RS' ,
3 ,'RX' ,
4 ,'S' ,
5 ,'SRX' ,
6 ,'X' ,
l2.lmode+l2.request ) lmode ,
DECODE(l2.request ,
0,NULL ,
'WAIT' ) wait
FROM v$process p ,
v$_lock l1,
v$lock l2,
v$resource r ,
sys.obj$ o ,
sys.user$ u ,
v$session s
WHERE s.paddr = p.addr
AND s.saddr = l1.saddr
AND l1.raddr = r.addr
AND l2.addr = l1.laddr
AND l2.type <> 'MR'
AND r.id1 = o.obj# (+)
AND o.owner# = u.user# (+)
AND p.username LIKE NVL('&&us_','%')
ORDER BY
1,
2,
3,
4,
5
/
-- SPOOL OFF
-- END of Script
column column_name format a30
column owner format a15
set linesize 132
select l.owner, l.table_name, l.constraint_name, l.column_name,
l.position, 'No Index' Problem
from sys.dba_cons_columns l, sys.dba_constraints c
where c.constraint_name = l.constraint_name
and c.owner = l.owner
and c.constraint_type = 'R'
and l.owner not in ('SYS','SYSTEM')
and not exists
(select 'x'
from dba_ind_columns b
where b.table_owner = l.owner
and b.table_name = l.table_name
and b.column_name = l.column_name
and b.column_position = l.position)
order by l.owner, l.constraint_name, l.position
/
|
|
|
Goto Forum:
Current Time: Wed Dec 25 19:51:43 CST 2024
|