Planner Oracle Ref
Planner Oracle Ref
Planner Oracle Ref
Tuning Methodology
1.Get feed back from users to determine the performance goals.
2.Get a full set of operating system, database and application statistics.
3.Look for top Oracle mistakes.
a) Bad connection management (is the app maintaining a persistent
connection)
b) Bad use of cursors and shared pool (use cursors and bind variables)
c) I/O distribution
d) Use undo tablespace or insure that there's adequate redo logs
e) Hot data blocks in buffer cache (data blocks w/ high concurrency
need additional freelists and higher INITRANS value)
f) Long table scans (missing indexes, poor SQL optimization)
g) Disk sorts (poor transaction design,missing indexes)
h) High volume of recursive SQL by sys (could indicate space
management issues)
i) Schema errors and optimizer problems (Migration to a new
environment could result in missing statement or indexes. Parameter
settings could also be different)
j) Non-standard initialization parameters (self explanatory)
Trace one of the slow sessions and examine the trace file to determine the
wait events.
1. Get the os process id (SPID column) for the session from v$session
SVRMGR> oradebug setospid <SPID>
SVRMGR> oradebug unlimit
SVRMGR> oradebug event 10046 trace name context forever, level 8
...wait for a few minutes of slow response time to allow oracle to collect
some data...
rm –f ${PIPE}
Reset Logs:
1. startup mount
2. recover database until cancel;
3. alter database open resetlogs;
SYS.LINK$
Name Null? Type
------------ -------- ---------------
OWNER# NOT NULL NUMBER
NAME NOT NULL VARCHAR2(128)
CTIME NOT NULL DATE
HOST VARCHAR2(2000)
USERID VARCHAR2(30)
PASSWORD VARCHAR2(30)
FLAG NUMBER
AUTHUSR VARCHAR2(30)
AUTHPWD VARCHAR2(30)