惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
NISL@THU
NISL@THU
E
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
K
Kaspersky official blog
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
爱范儿
爱范儿
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
S
Securelist
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
美团技术团队
F
Fortinet All Blogs
小众软件
小众软件
Recorded Future
Recorded Future
V
Visual Studio Blog
B
Blog RSS Feed
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
Latest news
Latest news
Spread Privacy
Spread Privacy
H
Heimdal Security Blog

博客园 - liuqun

oracle优化7(如何干预执行计划 - hints) oracle优化5(用索引提高效率) oracle优化4(sql语句性能诊断,sql执行计划) oracle优化3(访问Table的方式) oracle优化2(选用适合的ORACLE优化器) oracle优化1(数据库、数据表、数据表I/O优化原则) Oracle常用命令14(.net / java代码调用(sql代码、程序包过程)) Oracle常用命令13(数据库的启动、关闭) Oracle常用命令12(导入:imp、导出:exp) Oracle常用命令11(触发器) Oracle常用命令10(程序包) Oracle常用命令9(函数) Oracle常用命令8(过程) Oracle常用命令7(游标) Oracle常用命令6(PL/SQL) Oracle常用命令5(同义词、视图、索引) Oracle常用命令4(表分区) Oracle常用命令3(DDL、DML、TCL、DCL、序列) Oracle常用命令2(用户、角色管理)
oracle优化6(使用sql_trace/10046事件进行数据库诊断)
liuqun · 2011-04-03 · via 博客园 - liuqun

对该会话进行跟踪,产生trace文件,然后对该文件用tkprof程序格式化一下

使用SQL Trace            

Alter session set sql_trace=true;           //启用跟踪

生成的跟踪文件路径:@oracle_home\ diag\rdbms\orcl\orcl\trace(版本:11g

Alter session set sql_trace=false;          //禁用跟踪

使用sql_trace,常用初始化参数设置

Timed_statistics=true;

不设置的话,一些重要信息不会被收集到

Max_dump_file_size( alter session set Max_dump_file_size=unlimited; )

设置跟踪文件的大小

Tkprof按照格出输出

得到执行计划的方式很有用,因为它包含其它额外信息,如SQL语句执行的每个阶段(ParseExecuteFetch)分别耗费的各个资源情况(CPUDISKelapsed)

Tkprof 跟踪文件.trc 输出文件.txt

跟踪其他用户进程

Dbms_system.set_sql_trace_in_session

说明:三个参数,sid/serial#/sql_trace

得到当前系统的会话:

Select sid,serial#,username from v$session where username is not null;

       SID    SERIAL# USERNAME

---------- ---------- -------------

       134         34 USER_EB

       192        344 USER_EB

       199       6280 USER_EB

设置跟踪,用户角色要为sys

Exec Dbms_system.set_sql_trace_in_session(134,34,true);

停止跟踪:

Exec Dbms_system.set_sql_trace_in_session(134,34,false);

10046事件说明

10046事件是oracle提供的内部事件,是对sql_trace的增强,可以设置以下4个级别:

Level 1:启用标准的sql_trace功能,等价于sql_trace

Level 4:等价于Level 1+绑定值

Level 8: 等价于Level 4+等待事件跟踪

Level 12: 等价于Level 1+level 4 + level 8

当前session设置

当前session设置

Alter session set events '10046 trace name context forever';

或者:

Alter session set events ‘10046 trace name context forever,level 8’;

禁用:

Alter session set events ‘10046 trace name context off;

对其他用户session设置

Dbms_system.set_ev

说明:5个参数 sid/serial#/ev/level/username

Select sid,serial#,username from v$session where username is not null;

       SID    SERIAL# USERNAME

---------- ---------- -------------

       70         127 USER_EB

       192        344 USER_EB

       199       6280 USER_EB

执行跟踪:

Exec Dbms_system.set_ev(70,127,10046,8,'user_eb');

结束跟踪:

Exec Dbms_system.set_ev(70,127,10046,0,'user_eb');