Rumah pangkalan data tutorial mysql SQL TRACE和TKPROF的使用步骤

SQL TRACE和TKPROF的使用步骤

Jun 07, 2016 pm 05:07 PM
pangkalan data oracle

1.设置参数文件 设置三个参数timed_statistics、user_dump_dest、max_dump_file_size。 timed_staticstices 用于启动或禁止对定

1.设置参数文件 timed_staticstices

用于启动或禁止对定时统计信息(如CPU时间、占用时间),以及动态性能表中多种统计信息的收集功能

SQL>alter session set timed_statistics = true;

SQL>alter system set timed_statistics = true;

max_dump_file_size

当实例层启用SQL TRACE的时候,在每次请求服务器的时候,都将在跟踪文件中产生一个文本行,这些文件的最大尺寸受限于初始化参数的设置。默认为500(blocks)。若里面的数据被截断则增大SIZE。若为UNLIMITED则意味着没有上限。

user_dump_dest

设置跟踪文件的存储位置。默认为admin/用户/udump;

SQL>alter system set user_dump_dest = 'newdir';

2.启动SQL TRACE实用工具

对会话启动关闭SQL TRACE

SQL>alter session set sql_trace = true;

SQL>alter session set sql_trace = false;

SQL>exec SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION =(SID,SERIAL#,TRUE);

SQL>exec SYS.DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION =(SID,SERIAL#,,FALSE);

对用户实例启动关闭SQL TRACE

SQL>alter system set sql_trace = true;

SQL>alter system set sql_trace = false;

3.使用tkprof格式化trace文件     

Usage

tkprof inputfile outputfile [optional | parameters ] 

(tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ])

例:1.tkprof tracefile outfile [explain=user/password] [options...];

例:2.tkprof uat_ora_14936.trc trace.txt sort=(prsdsk,exedsk,fchdsk) print=10 explain=apps/apps table=apps.temp_plan_table_a insert=storea.sql sys=no

tkprof参数和选项

  • explain=user/password 执行explain命令将结果放在SQL trace的输出文件中  
  • table=schema.table 指定tkprof处理sql trace文件时临时表的模式名和表名  
  • insert=scriptfile 创建一个文件名为scriptfile的文件,包含了tkprof存放的输出sql语句  
  • sys=[yes/no] 确定系统是否列出由sys用户产生或重调的sql语句  
  • print=number 将仅生成排序后的第一条sql语句的输出结果  
  • record=recordfile 这个选项创建一个名为recorderfile的文件,包含了所有重调用的sql语句  
  • sort=sort_option 按照指定的方法对sql trace的输出文件进行降序排序  
  • sort_option 选项  
  •    prscnt  按解析次数排序  
  •    prscpu  按解析所花cpu时间排序  
  •    prsela  按解析所经历的时间排序  
  •    prsdsk  按解析时物理的读操作的次数排序  
  •    prsqry  解析时以一致模式读取数据块的次数排序  
  •    prscu   按解析时以当前读取数据块的次数进行排序  
  •    execnt  按执行次数排序  
  •    execpu  按执行时花的cpu时间排序  
  •    exeela  按执行所经历的时间排序  
  •    exedsk  按执行时物理读操作的次数排序  
  •    exeqry  按执行时以一致模式读取数据块的次数排序  
  •    execu   按执行时以当前模式读取数据块的次数排序  
  •    exerow  按执行时处理的记录的次数进行排序  
  •    exemis  按执行时库缓冲区的错误排序  
  •    fchcnt  按返回数据的次数进行排序  
  •    fchcpu  按返回数据cpu所花时间排序  
  •    fchela  按返回数据所经历的时间排序  
  •    fchdsk  按返回数据时的物理读操作的次数排序  
  •    fchqry  按返回数据时一致模式读取数据块的次数排序  
  •    fchcu   按返回数据时当前模式读取数据块的次数排序  
  •    fchrow  按返回数据时处理的数据数量排序  
  • 4.举例:

    trace其他session

    查询某用户的session的SID及SERIAL#

    $sqlplus / as sysdba

    SQL>select s.USERNAME,s.SID,s.SERIAL#,s.COMMAND from v$session s

    where s.USERNAME='ETOH' ; --注意用户名用大写

    SQL>exec dbms_system.SET_SQL_TRACE_IN_SESSION(12,73,true);

    等待被跟踪session活动一段时间

    SQL>exec dbms_system.SET_SQL_TRACE_IN_SESSION(12,73,false);

    --查询生成的.trc文件号

    SQL>SELECT d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||

          p.spid || '.trc' trace_file_name

     from (select p.spid

             from v$session s, v$process p

            where s.sid = &sid

              and s. SERIAL# = &serial#

    and p.addr = s.paddr) p,

          (select t.instance

             from v$thread t, v$parameter v

            where v.name = 'thread'

              and (v.value = 0 or t.thread# = to_number(v.value))) i,

          (select value from v$parameter where name = 'user_dump_dest') d;

    --使用tkprof生成分析文件

    $tkprof /u01/app/Oracle/admin/center/udump/_ora_24012.trc/u01/app/oracle/admin/center/udump/center_ora_24012.txt aggregate=yes sys=no sort=fchela(此例中将执行最耗时的sql放在分析文件的开头)


    trace本session

    查询本session信息

    SQL>SELECT Sid, Serial# FROM V$session WHERE sid = Sys_Context ( 'USERENV' , 'SID' );

    SQL>alter session set sql_trace=true;

    SQL>#SQL Statements#

    SQL>alter session set sql_trace=false;

    查询生成的trace文件名

    SQL>SELECT d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||

          p.spid || '.trc' trace_file_name

     from (select p.spid

             from v$mystat m, v$session s, v$process p

            where m.statistic# = 1

              and s.sid = m.sid

              and p.addr = s.paddr) p,

          (select t.instance

             from v$thread t, v$parameter v

            where v.name = 'thread'

              and (v.value = 0 or t.thread# = to_number(v.value))) i,

          (select value from v$parameter where name = 'user_dump_dest') d;

    tkprof格式化处理

    $tkprofcenter_ora_24012.trccenter_ora_24012.txt {一系列参数}

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Cara Membuka Segala -galanya Di Myrise
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Bagaimana untuk menyemak ruang jadual yang mana satu jadual berada dalam Oracle Bagaimana untuk menyemak ruang jadual yang mana satu jadual berada dalam Oracle Jul 06, 2023 pm 01:31 PM

    Cara menyemak ruang jadual yang dimiliki oleh sebuah jadual dalam Oracle: 1. Gunakan pernyataan "SELECT" dan nyatakan nama jadual untuk mencari ruang jadual yang dimiliki oleh jadual yang ditentukan 2. Gunakan alat pengurusan pangkalan data yang disediakan oleh Oracle untuk menyemak; ruang jadual yang dimiliki oleh Alatan biasanya menyediakan antara muka grafik, menjadikan operasi lebih intuitif dan mudah 3. Dalam SQL*Plus, anda boleh melihat ruang jadual yang dimiliki dengan memasukkan perintah "DESCRIBEyour_table_name; .

    Bagaimana untuk menyambung ke pangkalan data Oracle menggunakan PDO Bagaimana untuk menyambung ke pangkalan data Oracle menggunakan PDO Jul 28, 2023 pm 12:48 PM

    Gambaran keseluruhan cara menggunakan PDO untuk menyambung ke pangkalan data Oracle: PDO (PHPDataObjects) ialah perpustakaan sambungan untuk pangkalan data operasi dalam PHP Ia menyediakan API bersatu untuk mengakses pelbagai jenis pangkalan data. Dalam artikel ini, kita akan membincangkan cara menggunakan PDO untuk menyambung ke pangkalan data Oracle dan melaksanakan beberapa operasi pangkalan data biasa. Langkah: Pasang sambungan pemacu pangkalan data Oracle Sebelum menggunakan PDO untuk menyambung ke pangkalan data Oracle, kita perlu memasang Oracle yang sepadan

    Bagaimana untuk mendapatkan hanya satu keping data pendua dalam oracle Bagaimana untuk mendapatkan hanya satu keping data pendua dalam oracle Jul 06, 2023 am 11:45 AM

    Langkah-langkah untuk Oracle untuk mengambil hanya satu keping data pendua: 1. Gunakan pernyataan SELECT digabungkan dengan klausa GROUP BY dan HAVING untuk mencari data pendua 2. Gunakan ROWID untuk memadam data pendua untuk memastikan rekod data pendua yang tepat dipadamkan, atau gunakan fungsi "ROW_NUMBER" ()" untuk memadam data pendua, yang akan memadamkan semua rekod kecuali rekod pertama dalam setiap set data pendua; 3. Gunakan pernyataan "pilih kiraan(*) daripada" untuk mengembalikan bilangan rekod yang dipadamkan kepada memastikan hasilnya.

    Laksanakan import data ke dalam pangkalan data PHP dan Oracle Laksanakan import data ke dalam pangkalan data PHP dan Oracle Jul 12, 2023 pm 06:46 PM

    Melaksanakan import data ke dalam pangkalan data PHP dan Oracle Dalam pembangunan web, menggunakan PHP sebagai bahasa skrip sebelah pelayan boleh mengendalikan pangkalan data dengan mudah. Sebagai sistem pengurusan pangkalan data hubungan biasa, pangkalan data Oracle mempunyai keupayaan penyimpanan dan pemprosesan data yang kuat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mengimport data ke dalam pangkalan data Oracle dan memberikan contoh kod yang sepadan. Pertama, kita perlu memastikan bahawa pangkalan data PHP dan Oracle telah dipasang, dan PHP telah dikonfigurasikan kepada

    Cara menggunakan php untuk melanjutkan PDO untuk menyambung ke pangkalan data Oracle Cara menggunakan php untuk melanjutkan PDO untuk menyambung ke pangkalan data Oracle Jul 29, 2023 pm 07:21 PM

    Cara menggunakan PHP untuk melanjutkan PDO untuk menyambung ke pangkalan data Oracle Pengenalan: PHP ialah bahasa pengaturcaraan sebelah pelayan yang sangat popular, dan Oracle ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan. Artikel ini akan memperkenalkan cara menggunakan sambungan PHP PDO (PHPDataObjects) untuk menyambung ke pangkalan data Oracle. 1. Pasang sambungan PDO_OCI Untuk menyambung ke pangkalan data Oracle, anda perlu memasang sambungan PDO_OCI terlebih dahulu. Berikut ialah langkah-langkah untuk memasang sambungan PDO_OCI: Pastikan

    Adakah pangkalan data oracle memerlukan jdk? Adakah pangkalan data oracle memerlukan jdk? Jun 05, 2023 pm 05:06 PM

    Pangkalan data oracle memerlukan jdk. Sebabnya ialah: 1. Apabila menggunakan perisian atau fungsi tertentu, perisian atau perpustakaan lain yang disertakan dalam JDK diperlukan 2. Java JDK perlu dipasang untuk menjalankan program Java dalam pangkalan data Oracle; menyediakan Membangunkan dan menyusun fungsi aplikasi Java 4. Memenuhi keperluan Oracle untuk fungsi Java untuk membantu melaksanakan dan melaksanakan fungsi tertentu.

    Cara menggunakan kumpulan sambungan pangkalan data PHP dan Oracle dengan cekap Cara menggunakan kumpulan sambungan pangkalan data PHP dan Oracle dengan cekap Jul 12, 2023 am 10:07 AM

    Cara menggunakan pengumpulan sambungan dengan cekap dalam pangkalan data PHP dan Oracle Pengenalan: Apabila membangunkan aplikasi PHP, menggunakan pangkalan data adalah bahagian penting. Apabila berinteraksi dengan pangkalan data Oracle, penggunaan kumpulan sambungan adalah penting untuk meningkatkan prestasi dan kecekapan aplikasi. Artikel ini akan memperkenalkan cara menggunakan kumpulan sambungan pangkalan data Oracle dengan cekap dalam PHP dan menyediakan contoh kod yang sepadan. 1. Konsep dan kelebihan penyatuan sambungan Pengumpulan penyambungan ialah teknologi untuk menguruskan sambungan pangkalan data Ia mewujudkan sekumpulan sambungan terlebih dahulu dan mengekalkan a

    Bagaimana untuk menanyakan saiz ruang jadual dalam oracle Bagaimana untuk menanyakan saiz ruang jadual dalam oracle Jul 06, 2023 pm 01:45 PM

    Langkah-langkah untuk menanyakan saiz ruang jadual dalam Oracle: 1. Log masuk ke pangkalan data Oracle menggunakan akaun pentadbir pangkalan data 2. Gunakan pernyataan "PILIH" untuk melihat senarai ruang 3. Terdapat tiga kaedah untuk menanyakan saiz ruang jadual; : gunakan pakej dbms_utility untuk membuat pertanyaan, dan gunakan Pertanyaan paparan dba_segments, gunakan pertanyaan paparan dba_data_files 4. Gunakan fungsi "DBMS_OUTPUT.PUT_LINE" atau kaedah lain untuk memaparkan keputusan untuk memaparkan hasil pertanyaan.

    See all articles