ORACLE数据库会话跟踪

合集下载

oracle数据库监控指标

oracle数据库监控指标

oracle数据库监控指标Oracle数据库监控是确保数据库正常运行和性能优化的重要任务之一。

下面是一些常见的Oracle数据库监控指标:1. CPU利用率,监控数据库服务器的CPU利用率,以确保系统资源足够支持数据库的正常运行。

高CPU利用率可能表示系统负载过重或者存在性能问题。

2. 内存利用率,监控数据库服务器的内存利用率,包括SGA (System Global Area)和PGA(Program Global Area)的利用情况。

内存不足可能导致数据库性能下降或者出现内存溢出错误。

3. 磁盘空间利用率,监控数据库服务器上的磁盘空间利用率,包括数据文件、日志文件和临时文件等。

磁盘空间不足可能导致数据库无法正常写入数据或者执行其他操作。

4. 数据库连接数,监控数据库的并发连接数,以确保数据库能够处理足够的请求。

高连接数可能导致性能下降或者资源竞争。

5. 数据库会话,监控活动会话和等待事件的情况,以及锁定和死锁等问题。

会话的长时间等待可能表示性能问题或者资源争用。

6. 数据库响应时间,监控数据库的响应时间,包括查询响应时间、事务处理时间等。

高响应时间可能表示数据库性能问题或者缓慢的查询语句。

7. 数据库日志,监控数据库的日志文件,包括错误日志、警告日志和审计日志等。

日志中的错误和警告信息可以帮助识别和解决潜在的问题。

8. 数据库备份和恢复,监控数据库的备份和恢复情况,包括备份的完成时间、备份文件的完整性等。

及时的备份和恢复可以保护数据库的数据安全。

9. 数据库性能指标,监控数据库的性能指标,如平均响应时间、平均等待时间、IO吞吐量等。

这些指标可以帮助评估数据库的性能,并进行性能调优。

10. 数据库版本和补丁,监控数据库的版本和已安装的补丁情况,以确保数据库的安全性和稳定性。

及时应用数据库的补丁可以修复已知的安全漏洞和错误。

以上是一些常见的Oracle数据库监控指标,通过监控这些指标可以及时发现和解决数据库的性能问题,确保数据库的正常运行和高效性能。

oracle sql 跟踪方法

oracle sql 跟踪方法

oracle sql 跟踪方法Oracle SQL是一种强大的关系型数据库管理系统,它提供了一套丰富的工具和功能来跟踪和分析SQL语句的执行过程。

在开发和调试过程中,跟踪SQL语句的执行可以帮助我们快速定位问题并进行优化。

本文将介绍几种常用的Oracle SQL跟踪方法。

一、使用SQL Trace跟踪方法SQL Trace是Oracle提供的一种跟踪SQL语句执行过程的方法。

通过在会话级别启用SQL Trace,我们可以收集SQL语句的执行计划、消耗的资源以及其他相关信息。

启用SQL Trace的方法如下:1. 使用ALTER SESSION语句启用SQL Trace:ALTER SESSION SET SQL_TRACE = TRUE;2. 使用DBMS_SESSION包启用SQL Trace:EXEC DBMS_SESSION.SET_SQL_TRACE(TRUE);启用SQL Trace后,Oracle将会将跟踪信息写入跟踪文件中。

我们可以使用以下方法查找跟踪文件的位置:1. 查询V$DIAG_INFO视图获取跟踪文件的位置:SELECT VALUE FROM V$DIAG_INFO WHERE NAME = 'Default Trace File';2. 查询USER_DUMP_DEST或BACKGROUND_DUMP_DEST参数获取跟踪文件的位置:SELECT VALUE FROM V$PARAMETER WHERE NAME = 'user_dump_dest';跟踪文件的命名方式为ORA_SID_PID.trc,其中SID为会话ID,PID为进程ID。

二、使用10046事件跟踪方法除了SQL Trace,Oracle还提供了10046事件跟踪方法。

通过在会话级别启用10046事件跟踪,我们可以获得比SQL Trace更详细的跟踪信息。

启用10046事件跟踪的方法如下:1. 使用ALTER SESSION语句启用10046事件跟踪:ALTER SESSION SET EVENTS '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';2. 使用DBMS_SYSTEM包启用10046事件跟踪:EXEC DBMS_SYSTEM.SET_EV(12345, 10046, 12, '');启用10046事件跟踪后,Oracle将会将跟踪信息写入跟踪文件中,跟踪文件的位置和命名方式与SQL Trace相同。

Toad for Oracle v11 SQL跟踪器功能指南

Toad for Oracle v11 SQL跟踪器功能指南

Toad for Oracle SQL Tracker功能指南
Quest Software
2012
1.什么是SQL Tracker
注:感谢ITPUB朋友的建议。

我会逐步将Toad的一些DBA功能点写出来给大家参考。

DBA经常需要跟踪数据库会话以判断故障,或者获取某些工具在后台执行的SQL以供自己所用。

SQL Tracker是Toad for Oracle的一个可以独立启动的附件工具,用于监控、收集客户端机器访问数据库的应用所发出的SQL语句。

在旧版本中称作SQL Monitoring。

此功能使用非常简单,对高级DBA和初学者都很有帮助。

2.SQL Tracker的使用
1)启动Toad。

进入菜单“Database|Monitor|SQL Tracker”,显示下图:
SQL Tracker自动捕获所有本机器所有连接到数据库的会话。

按F5可以刷新。

2)高亮你想监控的会话,并点击绿色三角按钮,开始监控。

如下图,在Toad中执行一
个功能(Schema Browser中选择一张表),则:
在下方的窗口中列出了Toad为执行这个功能在后台执行的SQL。

3)点击红色方框按钮停止监控。

你可以将结果保存到文件中。

OracleAWR与ASH性能报告深入解析

OracleAWR与ASH性能报告深入解析

OracleAWR与ASH性能报告深入解析Oracle AWR (Automatic Workload Repository) 与 ASH (Active Session History) 是两种常用的性能报告工具,可以帮助数据库管理员和开发人员深入了解数据库的工作负载和性能瓶颈。

本文将对这两个工具进行深入解析。

一、Oracle AWR 报告AWR报告是一种综合性能报告,它通过分析数据库的工作负载和性能指标,提供了一个全面的性能评估。

AWR报告主要包括以下几个方面的内容:1.性能指标:AWR报告提供了大量的性能指标,包括数据库的各种统计信息、等待事件和CPU的使用情况。

这些指标可以帮助用户了解数据库的负载情况、性能瓶颈和资源利用率。

2.时间段:AWR报告会统计一段时间内的性能数据,并将其分为多个时间段。

这样用户可以根据需要查看具体的时间段,从而更好地了解数据库的性能变化。

3.慢查询:AWR报告中还会列出数据库中的慢查询语句,并提供了相应的执行计划和优化建议。

这对于开发人员来说非常有帮助,可以帮助他们优化查询语句,提升数据库性能。

4.自动调整建议:AWR报告还会给出一些自动调整建议,帮助用户改进数据库的配置和调整参数。

这对于数据库管理员来说非常有帮助,可以提升数据库的性能和稳定性。

二、Oracle ASH 报告ASH报告是一种实时性能报告,它通过记录数据库的活跃会话,提供了一个实时的性能分析。

ASH报告主要包括以下几个方面的内容:1.会话活动:ASH报告可以跟踪记录数据库中的活跃会话,包括其等待事件、活动程序和SQL语句等。

这些信息可以帮助用户了解数据库的负载情况和性能瓶颈。

2.等待事件:ASH报告中还会列出数据库中的等待事件,并提供相应的统计信息。

通过分析等待事件,用户可以找到数据库性能瓶颈的原因,并进行相应的优化。

3.SQL语句:ASH报告中还会列出数据库中的高负载SQL语句,并提供相应的执行计划和性能指标。

oracle sql tracker 使用方法

oracle sql tracker 使用方法

Oracle SQL Tracker 是一个强大的数据库性能优化工具,能够帮助用户追踪和诊断数据库中的 SQL 语句执行情况,帮助用户找到潜在的性能瓶颈并优化 SQL 查询语句。

在本篇文章中,我们将介绍 Oracle SQL Tracker 的使用方法,包括如何启用、配置和分析 SQL 追踪数据。

一、启用 SQL 追踪要启用 SQL 追踪,您需要有 DBA 权限或者相应的权限。

您需要登入到数据库中,并确保您有足够的权限来执行以下操作。

您需要确认SQL 追踪已经被启用。

您可以通过以下 SQL 语句检查是否已经启用SQL 追踪:```SELECT value FROM v$parameter WHERE name = 'sql_trace';```如果查询结果为 TRUE,则表示 SQL 追踪已经被启用。

如果查询结果为 FALSE,则表示 SQL 追踪尚未被启用。

在这种情况下,您可以使用以下 SQL 语句来启用 SQL 追踪:```ALTER SESSION SET sql_trace = true;```您也可以使用以下 SQL 语句来禁用 SQL 追踪:```ALTER SESSION SET sql_trace = false;```二、配置 SQL 追踪一旦启用了SQL 追踪,您可以对其进行配置,以便捕获更详细的信息。

您可以使用以下 SQL 语句来配置 SQL 追踪:```EXEC DBMS_MONITOR.SESSION_TRACE_ENABLE;```该语句将启用 SQL 追踪,并开始捕获 SQL 语句的执行信息。

您还可以通过指定参数来配置 SQL 追踪,例如指定要追踪的会话 ID、模块名、服务名等等。

这样可以更精细地控制追踪的范围。

三、分析 SQL 追踪数据一旦SQL 追踪已经启用并配置好,您可以开始分析SQL 追踪数据了。

您可以使用 Oracle 提供的一些工具来分析这些数据,例如 SQL Developer、Enterprise Manager 等。

oracle ebs 收集 trace 方法

oracle ebs 收集 trace 方法

oracle ebs 收集trace 方法Oracle EBS 是一款常用的企业资源规划(ERP)系统,用于管理企业的财务、物流、供应链和人力资源等方面的业务。

在使用Oracle EBS 进行故障排查时,收集trace 信息是一种常见的方法。

本文将详细介绍如何收集trace,以及如何分析和利用这些trace 数据解决问题。

一、什么是trace?Trace 是Oracle 数据库中用于跟踪和记录执行过程的一种机制。

通过启用trace 功能,Oracle 数据库可以在执行过程中生成详细的日志,包括SQL 语句、程序调用、执行计划等信息。

这些信息对于分析和解决性能问题非常有帮助。

二、为什么需要收集trace?在Oracle EBS 中,性能问题是常见的挑战之一。

当用户反馈系统运行缓慢或者出现异常时,我们通常需要通过收集trace 数据来了解执行过程中的细节,定位问题的根本原因。

通过收集trace,我们可以获得SQL 语句的执行计划,了解SQL 语句执行时的资源消耗情况,进而分析和优化SQL 语句,提升系统性能。

三、如何收集trace?1. 确定跟踪级别:根据问题的性质,选择合适的跟踪级别。

Oracle 提供了多种级别的trace,如最详细的10046 级别,用于跟踪单个SQL 语句的执行过程;还有更高级别的10053 级别,用于跟踪SQL 语句执行计划的生成过程。

2. 开启trace:可以通过以下方法启用trace 功能:a. 对于单个会话的trace,可以使用ALTER SESSION 命令。

例如,执行`ALTER SESSION SET SQL_TRACE=TRUE;` 开启跟踪,执行`ALTER SESSION SET SQL_TRACE=FALSE;` 关闭跟踪。

b. 对于整个系统的trace,可以在数据库的初始化参数文件中设置`SQL_TRACE=TRUE;` 来开启所有会话的跟踪。

3. 收集trace 文件:在启用trace 后,Oracle 将在指定的位置生成跟踪文件。

用oracle trace 来跟踪session

用oracle trace 来跟踪session

启动sql trace 之后收集的信息包括
1.解析、执行、返回数据的次数
2.cpu和执行命令的时间
3.物理读和逻辑读的次数
4.系统处理的记录数
5.库缓冲区错误
二 TKPROF的使用
tkprof 的目的是将sql trace 生成的跟踪文件转换成用户可以理解的格式
user_dump_dest string /oracle/oracle/diag/rdbms/orcl/orcl/trace
SQL>exit
cd /oracle/oracle/diag/rdbms/orcl/orcl/trace
prsdsk 按解析时物理的读操作的次数排序
prsqry 按解析时以一致模式读取数据块的次数排序
prscu 按解析时以当前读取数据块的次数进行排序
execnt 按执行次数排序
4. 为整个实例启动SQL trace (一般消耗系统性能较高,不会用)
alter system set sql_trace=true scope=spfile
从新启动数据库
5. 停止一个实例的sql trace
alter system set sql_trace=flase scope=spfile
ห้องสมุดไป่ตู้
ORACLE中SQL TRACE和TKPROF的使用 SQL TRACE 和 tkprof sql语句分析工具
一 SQL TRACE 使用方法:
1.初始化sql trace
参数:
timed_statistics=true 允许sql trace 和其他的一些动态性能视图收集与时间有关的参数、
SQL> alter system set user_dump_dest=/oracle/oracle/diag/rdbms/orcl/orcl/trace;

如何查找ORACLE中的跟踪文件

如何查找ORACLE中的跟踪文件

如何查找ORACLE中的跟踪⽂件⼀、跟踪⽂件是⼲什么⽤的?跟踪⽂件中包含了⼤量⽽详细的诊断和调试信息。

通过对跟踪⽂件的解读和分析,我们可以定位问题、分析问题和解决问题。

从跟踪⽂件的产⽣的来源来看,跟踪⽂件⼜可以分为两类:⼀类是数据库的操作⼈员有意⽣成的;另⼀类则是由于出现了异常错误,由数据库⾃动⽣成的。

对于后⼀类,只对Oracle内部的技术⽀持⼈员是有⽤的,但对于我们,则多半看不懂。

前⼀类,则是我们经常⽤到的,帮助我们分析、调整和优化应⽤性能,处理并解决问题。

⼆、跟踪⽂件是如何命名的?⼀个跟踪⽂件的名字⼀般由以下⼏部分组成:ORACLE_SID固定字符"ora"服务器的进程ID号⽂件后缀名 .trc前三个部分之间以下划线连接。

如下例:orcl_ora_6210.trc其中“orcl" 是本环境下数据库的SID,"6210"为产⽣该跟踪⽂件会话所使⽤的服务器进程ID号。

如何知道我的ORACLE_SID和会话所使⽤的服务器进程ID呢?后⾯会详细讲到。

上⾯说到的跟踪⽂件的命名规则适⽤于我们前⾯说的第⼀类跟踪⽂件,即数据库操作⼈员有意⽣成的跟踪⽂件。

如果是第⼆类跟踪⽂件,则命名上稍有变化。

这类跟踪⽂件将固定字符"ora"改为了ORACLE后台进程名的缩写。

如下例所⽰:orcl_lgwr_30019.trcorcl_dbw0_2664.trc三、跟踪⽂件存放在哪⾥?跟踪⽂件存放的位置根据数据库版本的不同,位置也是不同的。

下⾯以10g 和11g分别说明。

10g通常,我们在安装数据库时,会设定⼀个环境变量$ORACLE_BASE(注意,是BASE,不是HOME),该变量中指定了ORACLE软件安装的主⽬录。

假设我们设定的⽬录为”/oracle/app/oracle“,那么跟踪⽂件会放到以下这⼏个⽬录中:/oracle/app/oracle/admin/orcl/bdump 该⽬录⽤来存储ORACLE后台进程⽣成的输出⽂件。

oracle .trc文件生成规则600字

oracle .trc文件生成规则600字

Oracle的.trc文件生成规则一、概述Oracle数据库系统中的.trc文件是指包含了数据库程序执行期间所产生的诊断信息和跟踪信息的文件。

通过.trc文件,数据库管理员可以了解到数据库系统的运行状态、执行过程中的错误或异常情况,从而进行问题排查和性能优化。

了解.trc文件的生成规则对于数据库管理和故障排查非常重要。

二、trc文件的生成方式1. 启用跟踪功能在Oracle数据库系统中,要生成.trc文件首先需要启用跟踪功能。

可以通过执行ALTER SESSION SET SQL_TRACE=true; 或者使用DBMS_MONITOR.SERV_MOD_ACT_TRACE_ENABLE()等方法来启用跟踪功能。

2. 跟踪会话一旦跟踪功能启用,在执行的SQL语句中,便会产生trc文件。

可以使用ALTER SESSION SET SQL_TRACE=true;来在当前会话中进行跟踪,也可以在会话启动时使用ALTER SYSTEM SETSQL_TRACE=TRUE;来对整个数据库进行全局跟踪。

3. 自动跟踪在Oracle数据库系统中也可以通过设置初始化参数来实现自动跟踪功能,比如设置SQL_TRACE=true、TIMED_STATISTICS=true等参数,从而在数据库运行期间自动生成trc文件。

三、trc文件的存储位置在Oracle数据库系统中,生成的trc文件会被存储在数据库实例的USER_DUMP_DEST目录下,这个目录可以在数据库初始化参数中进行设置。

通常情况下,这个目录会被设置成指向一个具体的目录位置,以便更好地管理和查阅trc文件。

四、trc文件的命名规则trc文件的命名规则通常包括了会话ID、进程ID、主机名、进程名称以及时间戳等信息。

这些信息通常包含在trc文件的文件名中,以便于管理员能够快速识别和定位问题。

五、trc文件的格式trc文件是一个文本文件,其中包含了大量的跟踪信息、执行计划、错误信息等。

SQL Trace 工具用法

SQL Trace 工具用法
from
(
select p.spid
from sys.v$mystat m,sys.v$session s,sys.v$process p
where m.statistic# = 1
and s.sid = m.sid
and p.addr = s.paddr
. 会话级跟踪。SQL_TRACE的通常使用方式是仅跟踪一个会话。被跟踪的会话可以是您自己的,也可以是其它用户的会话。如果是自己的会话,只需要在SQL*PLUS中运行一下命令即可:
SQL> alter session set sql_trace = true;
类似的如果取消对会话的跟踪,运行一下命令:
FETCH #1:c=0,e=15641,p=5,cr=7,cu=0,mis=0,r=1,dep=0,og=4,tim=14727423807
=====================
PARSING IN CURSOR #2 len=61 dep=0 uid=62 oct=47 lid=62 tim=14727508742 hv=3517412409 ad='12bbcff4'
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.01 1 31 0 0
EXEC #2:c=0,e=144,p=0,cr=0,cu=0,mis=0,r=1,dep=0,og=4,tim=14727508945
=====================
PARSING IN CURSOR #2 len=61 dep=0 uid=62 oct=47 lid=62 tim=14727587562 hv=3517412409 ad='12bbcff4'

数据库性能指标分析与监控方法指南

数据库性能指标分析与监控方法指南

数据库性能指标分析与监控方法指南随着数据量的不断增长和应用场景的复杂化,数据库的性能成为了企业和组织关注的重点。

数据库性能的优化可以提高应用程序的响应速度、降低运维成本以及提升系统的稳定性。

在进行数据库性能优化之前,我们首先需要对数据库的性能指标进行分析和监控,以了解数据库的运行状态和存在的问题。

本文将探讨数据库性能指标分析与监控的方法指南,帮助读者有效地监控数据库性能并做出优化措施。

一、常用的数据库性能指标数据库的性能可以从多个角度来进行评估,下面是一些常用的数据库性能指标:1. 响应时间(Response Time):指数据库系统完成特定操作所需的时间,是用户感知到的操作延迟。

通常情况下,响应时间越低,数据库性能越好。

2. 吞吐量(Throughput):指数据库系统在单位时间内能够处理的请求量或事务量。

吞吐量越高,说明数据库系统的并发处理能力越强。

3. 并发用户数(Concurrent Users):指同时访问数据库的用户数量。

并发用户数较大时,数据库系统需要同时处理多个请求和事务,对性能提出了更高的要求。

4. 锁等待时间(Lock Wait Time):指在并发访问中,等待锁资源的时间。

锁等待时间较长可能导致数据库操作阻塞,降低系统性能。

5. 缓存命中率(Cache Hit Rate):指在数据库中的缓存区域(如数据库缓存、应用程序缓存等)中所找到的页的比例。

高缓存命中率说明数据库系统能够有效利用缓存来提升性能。

这些指标可以帮助我们了解数据库系统的运行状况,为后续的性能优化提供依据。

二、数据库性能指标分析方法了解数据库性能指标只是第一步,更关键的是能够对这些指标进行分析,找出问题的根本原因。

下面介绍一些常用的数据库性能指标分析方法。

1. 监控工具使用合适的数据库性能监控工具可以帮助我们实时监控数据库性能,并收集详细的性能数据。

常见的数据库性能监控工具有Oracle Enterprise Manager、MySQL Workbench、SQL ServerManagement Studio等。

oracle 跟踪文件

oracle 跟踪文件

一、Oracle跟踪文件Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。

在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。

后台报警日志文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG。

另一种类型是DBWR、LGWR、SMON等后台进程创建的后台跟踪文件。

后台跟踪文件根据后台进程运行情况产生,后台跟踪文件也保存在BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为siddbwr.trc、sidsmon.trc 等。

还有一种类型是由连接到Oracle的用户进程(Server Processes)生成的用户跟踪文件。

这些文件仅在用户会话期间遇到错误时产生。

此外,用户可以通过执行oracle跟踪事件(见后面)来生成该类文件,用户跟踪文件保存在USER_DUMP_DEST参数指定的目录中,文件格式为oraxxxxx.trc,xxxxx为创建文件的进程号(或线程号)。

二、Oracle跟踪事件Oracle提供了一类命令,可以将Oracle各类内部结构中所包含的信息转储(dump)到跟踪文件中,以便用户能根据文件内容来解决各种故障。

设置跟踪事件有两种方法,一种是在init.ora文件中设置事件,这样open数据库后,将影响到所有的会话。

设置格式如下:EVENT="eventnumber trace nam e eventname [forever,] [level levelnumber] : ......."通过:符号,可以连续设置多个事件,也可以通过连续使用event来设置多个事件。

另一种方法是在会话过程中使用alter session set events命令,只对当前会话有影响。

oracle session 查询语句

oracle session 查询语句

oracle session 查询语句Oracle是一种流行的关系型数据库管理系统,它允许用户在一个或多个会话中访问和操作数据库。

一个会话是指用户与数据库建立的交互连接,Oracle允许用户并发地创建和管理多个会话。

在Oracle中,有几种常用的语句可用于查询和管理会话。

下面是一些常见的Oracle会话查询语句的参考内容。

1. 查询当前会话:在Oracle中,可以使用以下语句查询当前会话的信息:```SELECT sid, serial#, username, machine, programFROM v$sessionWHERE username = '当前用户名';```以上语句将返回当前用户名的会话信息,包括会话ID(sid)、序列号(serial#)、用户名(username)、登录的机器名(machine)和使用的程序(program)。

2. 查询活动会话:可以使用以下语句查询当前所有活动的会话:```SELECT sid, serial#, username, machine, programFROM v$sessionWHERE status = 'ACTIVE';```以上语句将返回当前所有活动的会话信息,包括会话ID(sid)、序列号(serial#)、用户名(username)、登录的机器名(machine)和使用的程序(program)。

3. 查询会话的锁信息:可以使用以下语句查询会话的锁信息:```SELECT sid, serial#, type, mode, object_id, object_nameFROM v$locked_objectWHERE session_id = '当前会话ID';```以上语句将返回指定会话锁定的对象信息,包括会话ID (sid)、序列号(serial#)、锁类型(type)、锁模式(mode)、对象ID(object_id)和对象名称(object_name)。

Oracleg日志查看方法

Oracleg日志查看方法

Oracleg日志查看方法Oracle 11g的日志文件包括数据库日志(Redo Log)、归档日志(Archive Log)和警告日志(Alert Log)。

这些日志文件记录了数据库的运行状态、操作记录、错误信息等重要信息,对于数据库管理员来说非常重要。

下面将详细介绍Oracle 11g的日志查看方法。

1. 数据库日志(Redo Log):数据库日志是Oracle数据库中最重要的日志文件之一,它记录了数据库中所有修改操作的详细信息,包括插入、更新和删除操作。

数据库日志文件的默认位置是$ORACLE_HOME/oradata/<SID>/redo<file_number>.log。

查看数据库日志的方法如下:- 使用SQL*Plus登录到数据库。

-运行以下命令查看数据库日志的信息:```SELECT group#, thread#, sequence#, members, archivedFROM v$log;```这个命令将显示数据库日志的组号(group#)、线程号(thread#)、序列号(sequence#)、成员数(members)和是否已归档(archived)等信息。

-运行以下命令查看数据库日志的详细信息:```SELECT * FROM v$log;```这个命令将显示数据库日志的详细信息,包括日志组的状态、大小、成员的路径等。

2. 归档日志(Archive Log):归档日志是数据库日志的备份,它可以用于数据库的恢复和还原。

归档日志文件的默认位置是$ORACLE_HOME/dbs/arch<thread_number>_<sequence_number>.arc。

查看归档日志的方法如下:- 使用SQL*Plus登录到数据库。

-运行以下命令查看已归档的日志文件:```FROM v$archived_logWHERE status='A';```-运行以下命令查看归档日志的详细信息:```SELECT * FROM v$archived_log;```这个命令将显示归档日志的详细信息,包括日志文件的路径、大小、归档时间等。

数据库跟踪使用方法

数据库跟踪使用方法

数据库跟踪使用方法数据库跟踪是一种用于记录和监视数据库操作的技术。

它可以帮助开发人员和管理员了解数据库的性能、调试问题以及审计数据变更的过程。

数据库跟踪的使用方法主要包括以下几个步骤:1. 启用数据库跟踪:在开始跟踪之前,需要先启用数据库的跟踪功能。

不同的数据库管理系统(DBMS)有不同的方法来启用跟踪,通常可以通过执行一条特定的命令或在配置文件中进行设置来实现。

2. 配置跟踪参数:在启用跟踪功能后,可以对跟踪进行更详细的配置。

例如,可以指定跟踪的级别(例如,只记录错误信息或记录所有操作)、跟踪的对象(例如,只跟踪某个特定的表或存储过程)以及跟踪的输出方式(例如,将跟踪信息写入日志文件或显示在屏幕上)等。

3. 执行数据库操作:在配置完成后,可以执行数据库操作以触发跟踪。

这可以是增删改查等任何类型的操作。

4. 分析跟踪结果:跟踪操作完成后,可以根据跟踪的输出方式来查看跟踪结果。

如果跟踪信息被写入了日志文件,可以打开该日志文件进行查看。

如果跟踪信息显示在屏幕上,可以直接查看输出结果。

除了上述基本的使用方法之外,还可以根据具体需求进行更多的操作和分析。

例如,可以对跟踪信息进行过滤和排序,以便找到特定的操作或异常情况。

还可以将跟踪信息与其他工具(如性能监视工具)结合使用,以进一步分析数据库的性能瓶颈和优化方向。

需要注意的是,数据库跟踪可能会对系统性能产生一定的影响,因此在生产环境中需要谨慎使用。

在跟踪完成后,应及时关闭跟踪功能,以避免对数据库的性能造成不必要的影响。

总而言之,数据库跟踪是一种非常有用的技术,可以帮助开发人员和管理员更好地了解和管理数据库。

通过了解数据库跟踪的使用方法,我们可以更加高效地进行数据库调试、性能优化和数据审计等工作。

数据库跟踪使用方法

数据库跟踪使用方法

数据库跟踪使用方法数据库跟踪是指使用数据库技术来记录和跟踪应用程序或系统中的数据活动的过程和方法。

它是一种有用的工具,可以帮助管理员更好地监控和分析应用程序的性能和行为。

以下是数据库跟踪的使用方法和拓展:1. 创建数据库跟踪要创建数据库跟踪,需要使用 SQL 语句来创建一个跟踪表。

例如,假设我们想要创建一个名为 " traced_data" 的跟踪表,用于记录应用程序中的数据活动:```CREATE TABLE traced_data (id INT PRIMARY KEY,source_system VARCHAR(50),source_user VARCHAR(50),event_type VARCHAR(20),event_data VARCHAR(200));```2. 获取数据库跟踪信息可以使用 SQL 语句来获取数据库跟踪信息,并从跟踪表中检索相关信息。

例如,以下 SQL 查询将返回应用程序中最近一次数据活动的 source 系统和用户: ```SELECT source_system, source_user FROM traced_data WHERE id = (SELECT MAX(id) FROM traced_data);```3. 分析数据库跟踪信息可以使用 SQL 语句来分析数据库跟踪信息,以了解应用程序或系统的性能和行为。

例如,以下 SQL 查询将返回数据库中最近一次数据活动的时间戳和数据量:```SELECT t.id, t.source_system, t.source_user, t.event_type,t.event_data, SUM(t.data_size) AS data_size, COUNT(*) AS num_events FROM traced_data tJOIN event_log ell ON t.id = ell. traced_data_idJOIN log_table lt ON ell.log_id = lt.log_idWHERE ell.event_type = "Data Event" AND lt.log_type = "Application" AND t.source_system = ell.source_system AND t.source_user =ell.source_userGROUP BY t.id, t.source_system, t.source_user;```4. 自定义数据库跟踪可以自定义数据库跟踪以满足不同的需求。

Oracle数据库教程 ——oradebug命令详解

Oracle数据库教程 ——oradebug命令详解

Oracle数据库教程——orad ebug命令详解oradebug它可以启动跟踪任何会话,dump SGA和其它内存结构,唤醒ORACLE进程,如SMON、PMON进程,也可以通过进程号使进程挂起和恢复等,还有很多功能,实际上这些功能都不常用,但是我们在看别人做问题诊断时,常看到别人在使用oradebug命令,其实我感觉最好用的就是他可以直接通过命令输出生成trace文件的名称(带路径的哦),省去不少麻烦,系统HANG住用它做分析也比较好用,和大家分享一下它最常用的方法!以sysdba登陆后SQL> oradebug helpHELP [command] Describe one or all commandsSETMYPID Debug current processSETOSPID <ospid> Set OS pid of process to debugSETORAPID <orapid> ['force'] Set Oracle pid of process to debug SETORAPNAME <orapname> Set Oracle process name to debugSHORT_STACK Get abridged OS stack--查找系统内存堆栈CURRENT_SQL Get current SQLDUMP <dump_name> <lvl> [addr] Invoke named dumpDUMPSGA [bytes] Dump fixed SGADUMPLIST Print a list of available dumpsEVENT <text> Set trace event in processSESSION_EVENT <text> Set trace event in sessionDUMPVAR <p|s|uga> <name> [level] Print/dump a fixed PGA/SGA/UGA variable DUMPTYPE <address> <type> <count> Print/dump an address with type infoSETVAR <p|s|uga> <name> <value> Modify a fixed PGA/SGA/UGA variablePEEK <addr> <len> [level] Print/Dump memoryPOKE <addr> <len> <value> Modify memoryWAKEUP <orapid> Wake up Oracle processSUSPEND Suspend executionRESUME Resume executionFLUSH Flush pending writes to trace fileCLOSE_TRACE Close trace fileTRACEFILE_NAME Get name of trace fileLKDEBUG Invoke global enqueue service debuggerNSDBX Invoke CGS name-service debugger-G <Inst-List | def | all> Parallel oradebug command prefix-R <Inst-List | def | all> Parallel oradebug prefix (return outputSETINST <instance# .. | all> Set instance list in double quotesSGATOFILE <SGA dump dir> Dump SGA to file; dirname in double quotes DMPCOWSGA <SGA dump dir> Dump & map SGA as COW; dirname in double quotes MAPCOWSGA <SGA dump dir> Map SGA as COW; dirname in double quotes HANGANALYZE [level] [syslevel] Analyze system hangFFBEGIN Flash Freeze the InstanceFFDEREGISTER FF deregister instance from clusterFFTERMINST Call exit and terminate instanceFFRESUMEINST Resume the flash frozen instanceFFSTATUS Flash freeze status of instanceSKDSTTPCS <ifname> <ofname> Helps translate PCs to namesWATCH <address> <len> <self|exist|all|target> Watch a region of memoryDELETE <local|global|target> watchpoint <id> Delete a watchpointSHOW <local|global|target> watchpoints Show watchpointsDIRECT_ACCESS <set/enable/disable command | select query> Fixed table accessCORE Dump core without crashing processIPC Dump ipc informationUNLIMIT Unlimit the size of the trace filePROCSTAT Dump process statisticsCALL [-t count] <func> [arg1]...[argn] Invoke function with arguments上面试oradebug的命令参数,可以实现我们不同的跟踪方式,功能还是比较强大的,我们先测试一个用oradebug做oracle process级10046SQL> select distinct sid from v$mystat;SID----------96SQL> select spid,pid from v$Process where addr=(select paddr from v$session where sid=96);SPID PID------------------------ ----------2556166 19SQL> !ps -ef | grep LOCALoracle 3670242 10485930 0 11:25:50 - 0:00 oraclexupeng11g(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))oracle 2556166 2031934 0 11:13:54 - 0:00 oraclexupeng11g(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))oracle 10617238 2031934 0 11:34:30 pts/0 0:00 grep LOCAL对SPID系统进程进行追踪SQL> oradebug setorapid 19Oracle pid: 19, Unix process pid: 2556166, image: oracle@cecgt (TNS V1-V3)SQL> oradebug event 10046 trace name context forever,level 28;Statement processed.SQL> oradebug tracefile_name/u01/app/oracle/diag/rdbms/xupeng11g/xupeng11g/trace/xupeng11g_ora_2556166.trcSQL> !more /u01/app/oracle/diag/rdbms/xupeng11g/xupeng11g/trace/xupeng11g_ora_2556166.trc 我们这里查看完整的一段就行了,看用oradebug trace 10046事件的内容。

10046事件

10046事件

Oracle的10046事件,可以跟踪应用程序所执行的SQL语句,并且得到其解析次数.执行次数,CPU使用时间等信息。

这对我们分析、定位数据库性能问题是非常有用的。

10046event是oracle用于系统性能分析时的一个最重要的事件。

当激活这个事件后,将通知oracle kernel追踪会话的相关即时信息,并写入到相应trace文件中。

这些有用的信息主要包括sql是如何进行解析,绑定变量的使用情况,会话中发生的等待事件等10046event 可分成不同的级别(level),分别追踪记录不同程度的有用信息。

对于这些不同的级别,应当注意的是向下兼容的,即高一级的trace信息包含低于此级的所有信息。

10046event的追踪级别大致有:level 1:跟踪sql语句,包括解析、执行、提取、提交和回滚等。

level 4:包括变量的详细信息level 8:包括等待事件level 12:包括绑定变量与等待事件其中,level 1相当于打开了sql_trace前提条件:(先确保要event的会话环境符合条件)1、必须确保timed_statistics为TRUE,这个参数可以在会话级上进行修改。

2、为了确保trace输出能够完整进行,还要调整此会话对trace文件大小的限制,一般将此限制取消,即将max_dump_file_size设置为UNLIMITED,或者设置为一个很大的阙值。

在满足了上述条件后,就可以启用10046event对会话进行后台跟踪了。

1、首先获得spid、sid、serial#,machine为连接oracle的机器名select b.spid,a.sid,a.serial#,a.machine from v$session a,v$process b where a.paddr =b.addr and a.sid = '159'继续往下看,就可以知道为什么找到SPID了;2、10046事件启动SQL>execute sys.dbms_system.set_ev(15,196,10046,1,''); PL/SQL procedure successfully completed.参数说明:15:SID196:SERIAL#注意这里必须以sysdba登录。

oracle sql的历史会话

oracle sql的历史会话

oracle sql的历史会话Oracle SQL的历史会话历史会话是Oracle数据库中的一个重要概念,它可以帮助我们追踪和分析数据库中发生的事务和操作。

在本篇文章中,我们将探讨Oracle SQL的历史会话的概念、用途和相关技术。

一、历史会话的概念历史会话是指数据库中已经结束或者已经断开连接的会话。

在Oracle数据库中,每个会话都有一个唯一的标识符,称为会话ID (SID)。

历史会话可以记录会话的开始时间、结束时间、执行的SQL语句、执行时间、等待事件等信息。

通过分析历史会话,我们可以了解数据库的运行情况,优化性能,排查问题等。

二、历史会话的用途1. 性能优化:通过分析历史会话,我们可以了解数据库中的长时间运行的SQL语句,找出慢查询,优化SQL语句,提高数据库的性能。

2. 故障排查:当数据库发生故障或者出现异常时,通过分析历史会话可以追踪问题的根源,定位故障点,从而快速解决问题。

3. 安全审计:历史会话记录了数据库中执行的所有SQL语句,可以用于审计和监控数据库的安全性,防止恶意攻击和非法操作。

三、历史会话的相关技术1. V$SESSION视图:V$SESSION视图提供了当前会话的信息,包括会话ID、会话状态、登录时间等。

通过查询V$SESSION视图,我们可以获取当前会话的信息。

2. V$SQL视图:V$SQL视图记录了数据库中执行的SQL语句的信息,包括SQL语句的文本、执行时间、等待事件等。

通过查询V$SQL视图,我们可以获取数据库中执行的SQL语句的详细信息。

3. AWR报告:AWR报告是Oracle数据库提供的性能分析工具,可以生成数据库的性能报告。

通过分析AWR报告,我们可以了解数据库的性能瓶颈,找出慢查询,优化SQL语句,提高数据库的性能。

四、如何分析历史会话1. 查询历史会话:通过查询V$SESSION视图,我们可以获取数据库中的历史会话信息。

可以根据会话ID、开始时间、结束时间等条件进行筛选和排序。

ORACLE开启自动跟踪SQL功能

ORACLE开启自动跟踪SQL功能

ORACL‎E开启自动‎跟踪SQL‎功能。

‎个人分类:‎o racl‎e 10g‎SQ‎L_Plu‎s自动跟踪‎:‎‎s et a‎u totr‎a ce o‎n exp‎l ain ‎‎ // ‎显示执行计‎划‎‎s et a‎u totr‎a ce t‎r aceo‎n ly e‎x plai‎n‎ /‎/仅显示‎执行计划‎‎ se‎t aut‎o trac‎e on ‎‎ // ‎显示执行计‎划、和统计‎数字‎‎set ‎t imin‎g on ‎‎‎// 显示‎已用时间‎SQL_‎P lus ‎E XPLA‎I N PL‎A N:执‎行计划:E‎X PLAI‎N PLA‎N‎‎S ET S‎T ATME‎N T_ID‎='que‎r y1'‎‎ FO‎R‎‎S ELEC‎T * F‎R OM S‎Y S;首‎先建立PL‎A N_TA‎B LE执‎行文件:O‎R ACLE‎_HOME‎/rdbm‎s/adm‎i n/Ut‎l xpla‎n.sql‎sele‎c t lp‎a d(' ‎',2*(‎l evel‎-1))|‎|oper‎a tion‎||' '‎||opt‎i ons|‎|' '|‎|obje‎c t_na‎m e||'‎'||‎d ecod‎e(id,‎0,'Co‎s t = ‎'||po‎s itio‎n) st‎e p_de‎s crip‎t ion‎f rom ‎p lan_‎t able‎star‎t wit‎h id ‎= 0 a‎n d st‎a teme‎n t_id‎= 'q‎u ery1‎'con‎n ect ‎b y pr‎i or i‎d= pa‎r ent_‎i d an‎d sta‎t emen‎t_id=‎'quer‎y1' o‎r der ‎b y id‎,posi‎t ion;‎环境‎变量的含义‎:(a9‎0842.‎p df)‎1.SET‎SQLB‎L ANKL‎I NES ‎O N/OF‎F‎ -‎-打开或‎关闭SQL‎语句中是否‎支持空行‎2.SET‎DEFI‎N E ON‎/OFF ‎‎ -- ‎打开或关闭‎是否检查S‎Q L语句中‎的&符号,‎如果打开,‎遇到&符号‎时,要求用‎户输入值去‎替换.3‎.SET ‎H EAD ‎O N/OF‎F‎ -‎- TIT‎L E是否显‎示4.S‎E T PA‎G ESIZ‎E n ‎‎-- 每‎页显示的行‎数,0不分‎页5.S‎E T FE‎E DBAC‎K ON/‎O FF ‎‎-- 打‎开或关闭反‎馈信息6‎.SET ‎L INES‎I ZE n‎‎ --‎每行显示‎的列数7‎.SET ‎T RIMS‎P OOL ‎O N/OF‎F‎ -‎-去掉空‎格开关8‎.colu‎m n st‎a teme‎n t_id‎ f‎o rmat‎a20 ‎ --定‎义列宽‎行编辑命令‎:L——‎列出当前缓‎冲区中的S‎Q L语句‎L n——‎显示当前S‎Q L语句中‎第n行L‎n m—‎—显示当前‎S QL语句‎中第n行到‎m行C/‎x/y——‎把第一行中‎第一次出现‎x换成y,‎这个命令对‎当前操作‎D EL——‎删除当前行‎DEL ‎n——删除‎第n行D‎E L n ‎m——删除‎n至m行‎I——在当‎前行下面插‎入一新行‎A tex‎t——在当‎前行的末尾‎附加文本‎/——执行‎缓冲区中的‎语句常‎用命令:‎1.sql‎p lus ‎/nolo‎g在服务器‎上以内部用‎户进入.可‎以做所有s‎v rmgr‎l能做的工‎作2.符‎号"-"表‎示连接符号‎3.ed‎i t:调用‎外部编辑器‎编辑缓冲区‎中的SQL‎4.sa‎v e:保存‎缓冲区中S‎Q L到文件‎中5.g‎e t或@或‎s tart‎6.sp‎o ol f‎i lena‎m e ; ‎s pool‎off,‎‎内容‎输出到文件‎7.de‎f[ine‎][var‎i able‎= te‎x t]:定‎义替代变量‎‎ d‎e f:显示‎所有定义的‎常量和变量‎,如‎‎SQL>‎def‎‎ DE‎F INE ‎_SQLP‎L US_R‎E LEAS‎E = "‎80106‎0000"‎(CHA‎R)‎‎DEFI‎N E _E‎D ITOR‎‎ =‎"vi"‎(CHA‎R)‎‎DEFI‎N E _O‎_VERS‎I ON ‎ =‎"Ora‎c le8i‎Ente‎r pris‎e Edi‎t ion ‎R elea‎s e 8.‎1.6.0‎.0 -‎P rodu‎c tion‎‎ W‎i th t‎h e Pa‎r titi‎o ning‎opti‎o n‎‎JSer‎v er R‎e leas‎e 8.1‎.6.0.‎0 - P‎r oduc‎t ion"‎(CHA‎R)‎‎DEFI‎N E _O‎_RELE‎A SE ‎ =‎"801‎06000‎0" (C‎H AR)‎‎ DE‎F INE ‎_RC ‎‎‎= "0‎" (CH‎A R)‎‎ def‎X = ‎"HELL‎O"(de‎f ine ‎x = "‎H ELLO‎")‎‎unde‎f x(u‎n defi‎n e x)‎8.&:‎在SQL语‎句中出现的‎&号,要求‎输入替代值‎,但是临时‎的替代变量‎,语句结束‎就消失(&‎&表示多个‎同名的替代‎变量不重复‎提示,仅输‎入一次)‎9.var‎定义内部‎变量‎‎var ‎x var‎c har2‎(30) ‎//没有‎日期类型‎‎ SQ‎L> va‎r‎‎‎ va‎r iabl‎e x‎‎‎‎ dat‎a type‎ VA‎R CHAR‎2(30)‎‎内‎部变量在P‎L/SQL‎块中运用,‎而替代变量‎在SQL中‎使用‎‎var ‎x var‎c har2‎(8)‎‎ beg‎i n‎‎‎ s‎e lect‎to_c‎h ar(s‎y sdat‎e,'RR‎R RMMD‎D') i‎n to :‎x fro‎m dua‎l;‎‎end;‎10.s‎h ow:显‎示环境变量‎‎ s‎h ow a‎l l‎‎show‎line‎s ize‎11.ti‎t le‎‎设置报‎表的上下标‎题‎‎t titl‎e‎‎b titl‎e‎‎c ente‎r,lef‎t,rig‎h t,sk‎i p‎‎如:TT‎I TLE ‎L EFT ‎"orac‎l e Co‎p" CE‎N TER ‎"SUMM‎U Y RE‎P ORT"‎SKIP‎2‎‎BTIT‎L E RI‎G HT "‎P age ‎" FOR‎M AT 9‎99 SQ‎L.PNO‎SKIP‎312‎.colu‎m n‎‎设置列的‎显示‎‎colu‎m n co‎l name‎form‎a t 格式‎13.c‎o mput‎e‎‎生成汇总信‎息‎1‎4.bre‎a k‎‎显示汇总‎信息15‎.host‎‎‎执行系统命‎令‎‎host‎tkpr‎o f D:‎920ad‎m inor‎a920u‎d umpo‎r a920‎_ora_‎2448.‎t rc t‎e st.t‎x t ‎。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习二:使用alter session跟踪会话 1. 使用test表的owner用户连接数据库,执行如下脚本 alter session set events='10046 trace name context forever, level 12'; select * from test where id<100; ALTER SESSION SET EVENTS '10046 trace name context off'; 2. 到udump下找到生成的trc文件并格式化, tkprof <filename.trc> test02_output.txt sys=no explain=apps/<password> sort='(prsela,exeela,fchela)' print=10 3. 仔细阅读test02_output.txt文件,获得体会
Level 1 2 Action Print statistics and computations Print computations only
会话跟踪的作用
能够对会话进行连续跟踪,跟踪的过程为会话的每一个操作都会进行流水记录,每 一个记录均有时间戳标记。 从日志中,能够得到如下信息: 1,了解会话运行的SQL程序,包括执行计划、执行每一个操作消耗的时间、每一个 3200 SQL的资源消耗准确值; 2,了解会话的等待情况; 3,了解系统对会话的影响; 。。。。。
Level 1 4 8 12 Action Print SQL statements, execution plans and execution statistics As level 1 plus bind variables As level 1 plus wait statistics As level 1 plus bind variables and wait statistics
会话跟踪的方法
序号 1 使用工具 使用 dbms_system 使用alter session 命令 execute 3200 dbms_system.set_sql_trace_in_session(sid, serial#,True/false); alter session set events='10046 trace name context forever, level 12'; 使用场景 对正在运行的会话进行跟踪
Event 10046 - Enable SQL Statement Trace This event can be used to dump SQL statements executed by a session with execution plans and statistics. Bind variable and wait statistics can optionally be included. Level 12 is the most detailed. For example ALTER SESSION SET EVENTS '10046 trace name context forever, level 12'; Levels are
3200
下列命令会生成一个按照运行时间的长短进行排序,并且结果只含有运行时间最长的10 个查询语句的跟踪文件。
特别需要注意的是,tkprof获得时间统计,需要数据库级别的TIMED_STATISTICS=true
TKPROF工具使用方法
TKPROF Options ~~~~~~~~~~~~~~ print=integer List only the first 'integer' SQL statements. insert=filename List SQL statements and data inside INSERT statements. sys=no TKPROF does not list SQL statements run as user SYS. record=filename Record statements found in the trace file. sort=option Set of zero or more of the following sort options: prscnt number of times parse was called 3200 prscpu cpu time parsing prsela elapsed time parsing prsdsk number of disk reads during parse prsqry number of buffers for consistent read during parse prscu number of buffers for current read during parse prsmis number of misses in library cache during parse execnt number of execute was called execpu cpu time spent executing exeela elapsed time executing exedsk number of disk reads during execute exeqry number of buffers for consistent read during execute execu number of buffers for current read during execute exerow number of rows processed during execute exemis number of library cache misses during execute fchcnt number of times fetch was called fchcpu cpu time spent fetching fchela elapsed time fetching fchdsk number of disk reads during fetch fchqry number of buffers for consistent read during fetch fchcu number of buffers for current read during fetch fchrow number of rows fetched
oradebug setospid <OS proccess id> oradebug event 10046 trace name context off
对数据库主机的异常进程进行 跟踪
TKPROF工具使用方法
对事件进行跟踪后,会在数据库的udump目录下生成一个类似<SID>_ora_<PID>.trc 名称的trc文件,这个文件原始是几乎丌可读的,需要进行格式化。 TKPROF就是一个ORACLE日志的格式化工具。
3200
5.
6.
到udump下找到生成的trc文件并格式化, tkprof <filename.trc> test03_output.txt sys=no explain=apps/<password> sort='(prsela,exeela,fchela)' print=10 仔细阅读test03_output.txt文件,获得体会
2
程序调试时,加载到代码里
ALTER SESSION SET EVENTS '10046 trace name context off'; 3 使用oradebug oradebug setospid <OS proccess id> oradebug unlimit oradebug event 10046 trace name context forever, level 12
Event 10053 - Dump Optimizer Decisions This event can be used to dump the decisions made by the optimizer when parsing a statement. Level 1 is the most detailed For example ALTER SESSION SET EVENTS '10053 trace name context forever, level 1'; Levels are
练习
练习三:使用oradebug跟踪会话 1. 使用test表的owner用户连接数据库,查询到这个会话在操作系统的pid; 2. 使用‘sysdba’权限登录数据库,并执行 oradebug setospid <OS proccess id> oradebug unlimit oradebug event 10046 trace name context forever, level 12 3. 4. 在之前的用户会话中执行 select count(*) from test where id<30000; 在sysdba窗口执行oradebug setos pid <OS proccess id> oradebug event 10046 trace name context off
LOGO
ORACLE数据库会话跟踪方法
四川成享软件—刘德鹏
2013.06


3200
Event 10046与10053 会话跟踪的作用 会话跟踪的方法
TKPROF工具使用方法 练习
Event 10046不10053
Event即事件,对Event的关注即是对指定ORACLE事件进行关注。 ORA-10046: enable SQL statement timing SQL运行的时间片上事件状态,代表SQL的运行过程 ORA-10053: CBO Enable optimizer trace 3200 CBO优化器选择的过程
相关文档
最新文档