8.
6)获得操作该段的sql语句:
1.select sid, getsqltxt(sql_hash_value,sql_address)
2.
3.from v$session
4.
5.where sid = &sid_in;
6.
7)getsqltxt函数
8)至此已经找到影响性能的对象和sql语句
,可以有针对性地
优化 4.把等待事件记入跟踪文件
重点:如果在跟踪系统上的等待事件时
,由于某种原因遇到了麻烦,则可以将这些等待事件记入一个跟踪文件
。方法如下:
1)对于当前会话:
1.alter session set timed_statistics=true;
2.
3.alter session set max_dump_file_size=unlimited;
4.
5.alter session set events '10046 trace name context forever, level 12';
6.
2)执行应用程序,然后在USER_DUMP_DEST指出的目录中找到跟踪文件
。 3)查看文件中以词WAIT开始的所有行。
4)对于其它的会话
5)确定会话的进程ID(SPID)。下面的查询识别出名称以A开始的所有用户的会话进程ID:
1.select S.Username, P.Spid from V$SESSION S, V$PROCESS P
2.
3.where S.PADDR = P.ADDR and S.Username like 'A%';
4.
6)以sysdba进入sqlplus执行
1.alter session set timed_statistics=true;
2.
3.alter session set max_dump_file_size=unlimited;
4.
5.oradebug setospid
6.
7.oradebug unlimit
8.
9.oradebug event 10046 trace name context forever, level X /* Where X = (1,4,8,12) */
10.
7)跟踪某个时间间隔得会话应用程序。
8)在USER_DUMP_DEST 的值指出的目录中利用SPID查看跟踪文件
9)查看文件中以词WAIT开始的所有行。
5.确定当前OS瓶颈1)Windows NT上的监控
使用控制面板-〉管理工具-〉性能即可
2)UNIX上的监控
使用通用性的工具,包括sar、iostat、cpustat、mpstat、netstat、top、osview等。
6.
Oracle性能
优化所需的成分(应用程序、数据库、I/O、争用、OS等)。
7.跟踪并实施更改控制过程。
8.测量并记录当前
Oracle性能
9.重复步骤3到7,直到满足优化目标