1. SQL_TRACE
  2.  
  3. set linesize 10000;
  4. set pagesize 20000;
  5. set serveroutput on;
  6. alter session set sql_trace=true;
  7. select count(*) from firefox;
  8. alter session set sql_trace=false;
  9.  
  10. --查看sql_trace trace file
  11. select * from v$diag_info where name like 'Default%';
  12. select sid,serial# from v$session ;
  13.  
  14. variable x number;
  15. exec :x:=1;
  16. alter session set events '10046 trace name context forever,level 12';
  17. select count(*) from firefox where object_id=:x;
  18. alter session set events '10046 trace name context off';
  19. select object_name from dba_objects where object_id=426 or object_id=427
  20.  
  21. SQL> select * from aux_stats$;
  22. 收集系统信息
  23. exec dbms_stats.gather_system_stats(gathering_mode=>'start');
  24. alter system flush_cache;
  25. select count(*) from fire_t01;
  26. select * from aux_stats$;
  27.  
  28. 初始化参数;
  29. db_file_multiblock_read_count
  30. 查看数据表一共有多少个块;
  31. select blocks from user_tables where table_name='FIREFOX';
  32.  
  33. set autotrace on;
  34. SELECT * FROM FIREFOX;
  35.  
  36. SELECT /*+ blocks/k=cost */ 1029/10.4 from dual;
  37.  
  38. 查看数据块大小
  39. show parameter db_block_size;
  40.  
  41. select * from sys.aux_stats$;
  42. SYSSTATS_MAIN IOSEEKTIM 10
  43. SYSSTATS_MAIN IOTFRSPEED 4096
  44. SYSSTATS_MAIN CPUSPEEDNW 2657.0122
  45.  
  46. #单块读的时间
  47. sreadtim = IOSEEKTIM+(size of one block/IOTFRSPEED).
  48. =10+(8192/4096)=12
  49. #多块数据块读取的时间
  50. mreadtim=IOSEEKTIM+(MBRC * SIZE OF one block) / IOTFRSPEED)
  51. =10+((16*8192)/4096)=42
  52. io_cost=(1046(blocks)/16)*(42/12)=232.75
  53. cpu_cost=cpu_cost=cpucycles/(cpuspeed*sreadtim)
  54. =116192792/(2657.0122*12*1000)=4.48
  55. cost=io_cost+cpu_cost = 232.75 + 4.48 =
  56. 如何查看cpucycles:PLAN_TABLEPLAN_TABLE$;
  57.  
  58. create table firefox1 as select * from firefox where rownum<100;
  59. create index idx_firefox on firefox(object_id);
  60. create index idx_firefox1 on firefox1(object_id);
  61.  
  62. begin
  63. dbms_stats.gather_table_stats(
  64. user,
  65. 'firefox',
  66. cascade => true,
  67. estimate_percent => null,
  68. method_opt =>'for all columns size 1'
  69. );
  70. end;
  71. /
  72.  
  73. begin
  74. dbms_stats.gather_table_stats(
  75. user,
  76. 'firefox1',
  77. cascade => true,
  78. estimate_percent => null, --完全精确地分析;
  79. method_opt =>'for all columns size 1'
  80. );
  81. end;
  82. /
  83.  
  84. alter session set events '10053 trace name context forever,level 12';
  85. select * from firefox,firefox1 where firefox.object_id = firefox1.object_id;
  86. alter session set events '10053 trace name context off';
  87. select * from v$diag_info where name like 'Default%';
  88.  
  89. SGA区的动态调整;
  90. SQL> show sga;
  91.  
  92. 网络连接 --session &processes;
  93. SQL> select username,paddr from v$session where username is not null;
  94.  
  95. USERNAME PADDR
  96. ------------------------------ ----------------
  97. SYS 00000000F04DAE60
  98. SYS 00000000F04DAE60
  99. C##SCOTT 00000000F04DBEA0
  100.  
  101. select addr from v$process where background is null and addr='00000000F04DAE60';
  102. select * from v$process where background is null and addr='00000000F04DAE60';
  103.  
  104. set autotrace on stat;
  105. select username,paddr from v$session where username is not null;
  106. select addr from v$process where background is null and addr='00000000F04DAE60';
  107.  
  108. CBO计算成本时索引的权重修正值.
  109. show parameter OPTIMIZER_INDEX_COST_ADJ;
  110. alter session set OPTIMIZER_INDEX_COST_ADJ=10;
  111. 优化器--optimizer_mode
  112. first_rows [1|10|100|1000]
  113. first
  114. 优化器--optimizer_dynamic_sampling
  115. 动态采样的级别0to10
  116. 默认值(9i 1, >= 10g 2)
  117.  
  118. 查看当前sql/plus SID
  119. SELECT sid, serial# FROM v$session WHERE audsid=SYS_CONTEXT('USERENV','SESSIONID');
  120. select a.name,b.value from v$sesstat b.v$statname a where a.static#=b.statistic# and a.name ='CPU used by this session' and sid=69;
  121.  
  122. 显示各种文件的I/O统计信息
  123. - 数据文件,临时文件,控制文件,日志文件,归档文件...
  124. select file_no,filetype_name,LARGE_READ_MEGABYTES,SMALL_READ_MEGABYTES,SMALL_SYNC_READ_LATENCY from v$iostat_file;
  125. 对象--v$segstat
  126. 获得某对象的各类统计信息;
  127. select * from v$segstat where obj#=79605 and statistic_name='physical_reads';

Oracle DBA学习篇之SQL_TRACE的更多相关文章

  1. Oracle DBA 学习总结

    对于学习Oracle 数据库,应该先要了解Oracle 的框架.它有物理结构(由控制文件.数据文件.重做日志文件.参数文件.归档文件.密码文件组成) ,逻辑结构(表空间.段.区.块),内存分配( SG ...

  2. oracle开发学习篇之集合函数

    集合函数; declare type list_nested ) not null; v_all list_nested := list_nested('changan','hubei','shang ...

  3. oracle开发学习篇之集合运算符以及集合异常捕获

    --取出集合;长度 declare type list_nested ) not null; v_all list_nested := list_nested('a','b','c','d','c', ...

  4. Oracle DBA的学习(笔记)

    1.软件任务分组:系统分析师.系统设计师.程序员.测试人员.开发dba.系统架构师.实施人员. 2.常用设计图:活动图.用例图.类图.序列图. 2010-9-15(dba学习) 1.1 Oracle产 ...

  5. Oracle RMAN 学习:演练进阶篇

    Oracle RMAN 学习:演练进阶篇 5 Rman备份演练进阶篇 5.1 是否选择增量备份 Backup命令生成的备份集中只备份了那些使用了的数据块,备份集实际大小已经较目标数据库的数据文件小了很 ...

  6. Oracle DBA面试突击题

    一份ORACLE DBA面试题 一:SQL tuning 类 1:列举几种表连接方式 答: Oracle的多表连接算法有Nest Loop.Sort Merge和Hash Join三大类,每一类又可以 ...

  7. oracle Dba之路

    如何快速的成为一个合格的 DBA? 2010年11月03日 11:25:00 阅读数:584 原文来自:http://topic.csdn.net/u/20101031/21/A78B2EA1-6F2 ...

  8. Oracle基础学习笔记

    Oracle基础学习笔记 最近找到一份实习工作,有点头疼的是,有阶段性考核,这...,实际想想看,大学期间只学过数据库原理,并没有针对某一数据库管理系统而系统的学习,这正好是一个机会,于是乎用了三天时 ...

  9. Asp.Net MVC4 + Oracle + EasyUI 学习 序章

    Asp.Net MVC4 + Oracle + EasyUI  序章 -- 新建微软实例 本文链接:http://www.cnblogs.com/likeli/p/4233387.html 1.  简 ...

随机推荐

  1. Python版飞机大战

    前面学了java用java写了飞机大战这次学完python基础后写了个python版的飞机大战,有兴趣的可以看下. 父类是飞行物类是所有对象的父类,setting里面是需要加载的图片,你可以换称自己的 ...

  2. python进阶学习之高阶函数

    高阶函数就是把函数当做参数传递的一种函数, 例如: 执行结果: 1.map()函数 map()接收一个函数 f 和一个list, 并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 l ...

  3. Django API验证(令牌)

    1. 获取接口信息 Client端 import requests import time import hashlib ctime = time.time() key = 'akfljakfjakl ...

  4. LeetCode828. Unique Letter String

    https://leetcode.com/problems/unique-letter-string/description/ A character is unique in string S if ...

  5. vue 插槽slot

    本文是对官网内容的整理 https://cn.vuejs.org/v2/guide/components.html#编译作用域 在使用组件时,我们常常要像这样组合它们: <app> < ...

  6. hdu 4642 翻硬币

    在一个n*m的棋盘上 每一个格子都有一枚硬币 1表示正面 0表示反面你每次可以选择一个硬币为正面的点,然后从该点与右下角点形成的矩阵硬币全都反向,直到一个人没有硬币可以选择则输Alice先手 列举了几 ...

  7. CF475C. Kamal-ol-molk's Painting

    C. Kamal-ol-molk's Painting time limit per test 2 seconds memory limit per test 256 megabytes input ...

  8. day8--by a gentlement man

    1.着装得体(不要国产.不要Jack&Johnson.selected),人都是势利眼,高素质和低素质人的区别,高素质是心里明白歧视你,但是不说:低素质是直接表示出来:lower,屌丝     ...

  9. bzoj [SDOI2009]学校食堂Dining

    感觉这个状压dp比较难想.. dp[ i ][ s ][ k ] 表示前i - 1个都排好了, 从i开始的7个的取没取的状态为s, 且最后一个相对i的位置为k的最少花费. 状态转移方程 if(s &a ...

  10. C语言可变参数个数

    #include <stdio.h>#include <stdarg.h> void test(const char * format, ...); int main(void ...