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后台进程⽣成的输出⽂件。

  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优化器选择的过程
相关文档
最新文档