oracle追踪特定sql语句

--新建测试表

create tablespace test

datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\test01.DBF'

size 500m

autoextend on

next 100m maxsize unlimited

extent management local autoallocate

segment   space management auto;

create table t1

(

sid int not null primary key,

sname varchar2(10)

)

tablespace test;

--循环导入数据

declare

       maxrecords constant int:=100000;

       i int :=1;

   begin

       for i in 1..maxrecords loop

         insert into t1 values(i,'ocpyang');

       end loop;

   dbms_output.put_line(' 成功录入 数据! ');

   commit;

   end;

/

create table t2

as

select * from t1 where rownum<=5000;

oracle 11.1中可以使 用增强的SQL跟踪来追逐一条或多条SQL语句.

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

案例1:跟踪一组 SQL

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

--步骤0)初始化参数

---开启timed_statistics 参数

show parameters statistics;

NAME                                 TYPE        VALUE

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

optimizer_use_pending_statistics     boolean     FALSE

statistics_level                     string      TYPICAL

timed_os_statistics                  integer     0

timed_statistics                     boolean     TRUE  --需要设置为true

---查看所有trace文件路径

select name,value from v$diag_info where name='Diag Trace';

E:\APP\ADMINISTRATOR\diag\rdbms\orcl\orcl\trace

--步骤1).设置追踪标示

alter session set tracefile_identifier='ocpyang01';

时间: 2024-08-07 15:32:38

oracle追踪特定sql语句的相关文章

oracle数据库,SQL语句怎么写,求助

问题描述 oracle数据库,SQL语句怎么写,求助 如果选择的时间间隔是:"1年" 那个就将每年的最后一个数据显示出来 如果选择的时间间隔是:"1月" 那个就将每月的最后一个数据显示出来 如果选择的时间间隔是:"1日" 那个就将每天的最后一个数据显示出来 如果选择的时间间隔是:"1时" 那个就将每小时的最后一个数据显示出来 oracle数据库,SQL语句怎么写,求助 解决方案 按年等日期分组,取每组事件最大的. 解决方案二:

Oracle基础 动态SQL语句

原文:Oracle基础 动态SQL语句 一.静态SQL和动态SQL的概念. 1.静态SQL 静态SQL是我们常用的使用SQL语句的方式,就是编写PL/SQL时,SQL语句已经编写好了.因为静态SQL是在编写程序时就确定了,我们只能使用SQL中的DML和事务控制语句,但是DDL语句,以及会话控制语句却不能再PL/SQL中直接使用,如动态创建表或者某个不确定的操作时,这就需要动态SQL来实现. 2.动态SQL 动态SQL是指在PL/SQL编译时SQL语句是不确定的,如根据用户输入的参数的不同来执行不

Oracle数据库中SQL语句的优化技巧_oracle

在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.

Oracle批量执行sql语句之禁用所有表的外键_oracle

在转移数据库,进行数据导入的时候,遇到一件麻烦事,就是表间外键约束的存在,导致insert频频报错,批量执行sql语句又是顺序执行,没办法我只好手动输入. 然后输入到一半灵光一闪,为什么不先把外键约束全部禁用先呢? 于是我百度到以下资料: oracle 删除(所有)约束 禁用(所有)约束 启用(所有)约束 执行以下sql生成的语句即可 1删除所有外键约束 select 'alter table '||table_name||' drop constraint '||constraint_name

oracle清空表sql语句 以及Truncate与delete区别

oracle清空表sql语句 以及truncate与delete区别 truncate table [表名] 使用truncate语句从表中删除或群集的所有行.默认情况下,oracle数据库教程也将执行以下任务: 解除分配的唯一例外的是删除的行中使用的所有存储空间由minextents指定参数 下次存储参数设置的从进程的truncate部分取消了最后的范围大小 删除与truncate语句行可以比下降并重新创建表有效.跌落并重新创建一个表的表无效依赖的对象,需要你在桌子上补对象的特权,并要求您重新

Oracle中的sql语句优化

1.选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表driving table)将被最先处理,在FROM子句中包含多个表的情况下,必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询,那就需要选择交叉表(intersection table)作为基础表 , 交叉表是指那个被其他表所引用的表. 2.WHERE子句中的连接顺序ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理表

Oracle中解析SQL语句的过程

为了将用户写的SQL文本转化为Oracle认识的且可执行的语句,这个过程就叫做解析过程.解析分为硬解析和软解析.一条SQL语句在第一次被执行时必须进行硬解析. 当客户端发出一条SQL语句(也可以是一个存储过程或者一个匿名PL/SQL块)进入shared pool时(注意,我们从前面已经知道,Oracle对这些SQL不叫做SQL语句,而是称为游标.因为Oracle在处理SQL时,需要很多相关的辅助信息,这些辅助信息与SQL语句一起组成了游标), Oracle首先将SQL文本转化为ASCII值,然后

^全^ 获取SQL SERVER2000/2005、MySql、Oracle元数据的SQL语句 [SQL语句来自CodeSmith]

前言      前段时间老赵发了一篇关于和谐社区,和谐技术:微软的宠儿们,为什么富人的孩子就不能早当家?引发的争论至今令我诚惶诚恐,说得很在理!!这篇文章本打算放首页的,但是由于是拿来主义,我认为这属于新手的典型特征之一(本来就是新手=_=),故老老实实的放新手区吧.心里比较踏实一点,即使看到的人不多也没关系,自己做个笔记 :)      有很多朋友都比较关心代码自动生成,理所当然离不开元数据了,但是对于获取元数据的方法不一.由于最近我也在写代码生成,对元数据的获取SQL语句并不齐全,意外的想到

Oracle 数据库连接查询SQL语句_oracle

内连接(inner join). 外连接: 全连接(full join).左连接(left join).右连接(right join). 交叉联接(cross join). 外连接与内连接不一样,外连接返回的查询结果中不仅包含符合条件的行,还包括左表(左外连接),右表(右外连接)或者两个连接表(全外连接)中的所有不符合条件的数据行. 1.左连接 (left [outer] join) 左外连接就是将左表的所有数据分别于右表的每条数据进行连接组合,返回的结果除内连接的数据外,还有左表中不符合条件的