Heim Datenbank MySQL-Tutorial SQL TRACE和TKPROF的使用步骤

SQL TRACE和TKPROF的使用步骤

Jun 07, 2016 pm 05:07 PM
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 {一系列参数}

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    AI Hentai Generator

    AI Hentai Generator

    Erstellen Sie kostenlos Ai Hentai.

    Heißer Artikel

    R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Beste grafische Einstellungen
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
    3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Wie man alles in Myrise freischaltet
    4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    So überprüfen Sie, zu welchem ​​Tabellenbereich eine Tabelle in Oracle gehört So überprüfen Sie, zu welchem ​​Tabellenbereich eine Tabelle in Oracle gehört Jul 06, 2023 pm 01:31 PM

    So überprüfen Sie, zu welchem ​​Tabellenbereich eine Tabelle in Oracle gehört: 1. Verwenden Sie die Anweisung „SELECT“ und geben Sie den Tabellennamen an, um den Tabellenbereich zu finden, zu dem die angegebene Tabelle gehört. 2. Verwenden Sie zur Überprüfung die von Oracle bereitgestellten Datenbankverwaltungstools Der Tabellenbereich, zu dem die Tabelle gehört, bietet normalerweise eine grafische Oberfläche, wodurch die Bedienung intuitiver und komfortabler wird. 3. In SQL*Plus können Sie den Tabellenbereich anzeigen, zu dem die Tabelle gehört .

    So stellen Sie mithilfe von PDO eine Verbindung zur Oracle-Datenbank her So stellen Sie mithilfe von PDO eine Verbindung zur Oracle-Datenbank her Jul 28, 2023 pm 12:48 PM

    Überblick über die Verwendung von PDO zum Herstellen einer Verbindung zur Oracle-Datenbank: PDO (PHPDataObjects) ist eine Erweiterungsbibliothek für den Betrieb von Datenbanken in PHP. Sie bietet eine einheitliche API für den Zugriff auf mehrere Datenbanktypen. In diesem Artikel besprechen wir, wie man mit PDO eine Verbindung zu einer Oracle-Datenbank herstellt und einige gängige Datenbankoperationen durchführt. Schritt: Installieren Sie die Oracle-Datenbanktreibererweiterung. Bevor Sie PDO zum Herstellen einer Verbindung zur Oracle-Datenbank verwenden, müssen Sie das entsprechende Oracle installieren

    So rufen Sie nur ein Stück doppelter Daten in Oracle ab So rufen Sie nur ein Stück doppelter Daten in Oracle ab Jul 06, 2023 am 11:45 AM

    Schritte für Oracle, um nur ein Stück doppelter Daten abzurufen: 1. Verwenden Sie die SELECT-Anweisung in Kombination mit den GROUP BY- und HAVING-Klauseln, um doppelte Daten zu finden. 2. Verwenden Sie ROWID, um doppelte Daten zu löschen, um sicherzustellen, dass korrekte doppelte Datensätze gelöscht werden Verwenden Sie die Funktion „ROW_NUMBER“ ()“, um doppelte Daten zu löschen. Dadurch werden alle Datensätze außer dem ersten Datensatz in jedem Satz doppelter Daten gelöscht. 3. Verwenden Sie die Anweisung „select count(*) from“, um die Anzahl der gelöschten Datensätze zurückzugeben das Ergebnis sicherstellen.

    Implementieren Sie den Datenimport in PHP- und Oracle-Datenbanken Implementieren Sie den Datenimport in PHP- und Oracle-Datenbanken Jul 12, 2023 pm 06:46 PM

    Implementierung des Datenimports in PHP- und Oracle-Datenbanken In der Webentwicklung kann die Verwendung von PHP als serverseitige Skriptsprache den bequemen Betrieb der Datenbank ermöglichen. Als gängiges relationales Datenbankverwaltungssystem verfügt die Oracle-Datenbank über leistungsstarke Datenspeicher- und -verarbeitungsfunktionen. In diesem Artikel wird die Verwendung von PHP zum Importieren von Daten in eine Oracle-Datenbank vorgestellt und entsprechende Codebeispiele gegeben. Zuerst müssen wir sicherstellen, dass PHP und die Oracle-Datenbank installiert sind und dass PHP entsprechend konfiguriert wurde

    So erweitern Sie PDO mit PHP, um eine Verbindung zur Oracle-Datenbank herzustellen So erweitern Sie PDO mit PHP, um eine Verbindung zur Oracle-Datenbank herzustellen Jul 29, 2023 pm 07:21 PM

    So erweitern Sie PDO mit PHP, um eine Verbindung zur Oracle-Datenbank herzustellen. Einführung: PHP ist eine sehr beliebte serverseitige Programmiersprache und Oracle ist ein häufig verwendetes relationales Datenbankverwaltungssystem. In diesem Artikel wird erläutert, wie Sie mithilfe der PHP-Erweiterung PDO (PHPDataObjects) eine Verbindung zur Oracle-Datenbank herstellen. 1. Installieren Sie die PDO_OCI-Erweiterung. Um eine Verbindung zur Oracle-Datenbank herzustellen, müssen Sie zunächst die PDO_OCI-Erweiterung installieren. Hier sind die Schritte zum Installieren der PDO_OCI-Erweiterung: Stellen Sie sicher

    Benötigt die Oracle-Datenbank JDK? Benötigt die Oracle-Datenbank JDK? Jun 05, 2023 pm 05:06 PM

    Die Oracle-Datenbank erfordert JDK. Die Gründe sind: 1. Bei Verwendung bestimmter Software oder Funktionen ist andere im JDK enthaltene Software oder Bibliotheken erforderlich. 3. JDK Bietet Funktionen zum Entwickeln und Kompilieren von Java-Anwendungen. 4. Erfüllen Sie die Anforderungen von Oracle für Java-Funktionen, um bei der Implementierung und Implementierung spezifischer Funktionen zu helfen.

    So nutzen Sie PHP- und Oracle-Datenbankverbindungspools effizient So nutzen Sie PHP- und Oracle-Datenbankverbindungspools effizient Jul 12, 2023 am 10:07 AM

    So nutzen Sie Verbindungspooling in PHP- und Oracle-Datenbanken effizient. Einführung: Bei der Entwicklung von PHP-Anwendungen ist die Verwendung einer Datenbank ein wesentlicher Bestandteil. Bei der Interaktion mit Oracle-Datenbanken ist die Verwendung von Verbindungspools entscheidend für die Verbesserung der Anwendungsleistung und -effizienz. In diesem Artikel wird die effiziente Nutzung des Oracle-Datenbankverbindungspools in PHP vorgestellt und entsprechende Codebeispiele bereitgestellt. 1. Das Konzept und die Vorteile des Verbindungspoolings Verbindungspooling ist eine Technologie zur Verwaltung von Datenbankverbindungen. Es erstellt im Voraus einen Stapel von Verbindungen und verwaltet diese

    So fragen Sie die Tabellenbereichsgröße in Oracle ab So fragen Sie die Tabellenbereichsgröße in Oracle ab Jul 06, 2023 pm 01:45 PM

    Schritte zum Abfragen der Tabellenbereichsgröße in Oracle: 1. Melden Sie sich mit einem Datenbankadministratorkonto bei der Oracle-Datenbank an. 2. Verwenden Sie die „SELECT“-Anweisung, um die Bereichsliste anzuzeigen. 3. Es gibt drei Methoden, um die Tabellenbereichsgröße abzufragen : Verwenden Sie das dbms_utility-Paket zum Abfragen und die dba_segments-Ansichtsabfrage. Verwenden Sie die dba_data_files-Ansichtsabfrage. 4. Verwenden Sie die Funktion „DBMS_OUTPUT.PUT_LINE“ oder andere Methoden, um die Abfrageergebnisse anzuzeigen.

    See all articles