SQL TRACE和TKPROF的使用步骤
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参数和选项
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/
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 {一系列参数}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Oracle でテーブルがどのテーブルスペースに属しているかを確認する方法: 1. 「SELECT」ステートメントを使用し、テーブル名を指定して、指定したテーブルが属するテーブルスペースを検索します; 2. Oracle が提供するデータベース管理ツールを使用して確認します。表が属する表スペース。ツールは通常、操作をより直観的かつ便利にするグラフィカル・インターフェースを提供します。3. SQL*Plus では、「DESCRIBEyour_table_name;」コマンドを入力すると、表が属する表スペースを表示できます。 。

PDO を使用して Oracle データベースに接続する方法の概要: PDO (PHPDataObjects) は、PHP でデータベースを操作するための拡張ライブラリであり、複数の種類のデータベースにアクセスするための統合 API を提供します。この記事では、PDO を使用して Oracle データベースに接続し、一般的なデータベース操作を実行する方法について説明します。ステップ: Oracle データベース ドライバー拡張機能をインストールする PDO を使用して Oracle データベースに接続する前に、対応する Oracle をインストールする必要があります

Oracle が重複データを 1 つだけフェッチする手順: 1. SELECT ステートメントを GROUP BY および HAVING 句と組み合わせて使用し、重複データを検索します。 2. ROWID を使用して重複データを削除し、正確な重複データ レコードが削除されるようにします。重複データを削除するには、「ROW_NUMBER」() 関数を使用します。これにより、重複データの各セットの最初のレコードを除くすべてのレコードが削除されます。 3. 「select count(*) from」ステートメントを使用して、削除されたレコードの数を返します。結果を保証します。

PHP および Oracle データベースへのデータ インポートの実装 Web 開発では、サーバー側のスクリプト言語として PHP を使用すると、データベースを便利に操作できます。一般的なリレーショナル データベース管理システムとして、Oracle データベースは強力なデータ ストレージ機能と処理機能を備えています。この記事では、PHP を使用して Oracle データベースにデータをインポートする方法と、対応するコード例を紹介します。まず、PHP と Oracle データベースがインストールされていること、および PHP が次のように構成されていることを確認する必要があります。

PHP および Oracle データベースで接続プーリングを効率的に使用する方法 はじめに: PHP アプリケーションを開発する場合、データベースの使用は不可欠な部分です。 Oracle データベースと対話する場合、アプリケーションのパフォーマンスと効率を向上させるには接続プールの使用が重要です。この記事では、PHP で Oracle データベース接続プールを効率的に使用する方法と、対応するコード例を紹介します。 1. コネクションプーリングの概念とメリット コネクションプーリングとは、データベースのコネクションを管理する技術で、あらかじめコネクションをまとめて作成し、コネクションを維持します。

oracle データベースには jdk が必要です。その理由は、1. 特定のソフトウェアや機能を使用する場合、JDK に含まれる他のソフトウェアやライブラリが必要であること、2. Oracle データベースで Java プログラムを実行するには Java JDK をインストールする必要があること、3. JDK であることです。 Java アプリケーション関数の開発とコンパイルを提供します。 4. 特定の関数の実装と実装に役立つ Java 関数に対する Oracle の要件を満たします。

PHP を使用して PDO を拡張し、Oracle データベースに接続する方法 はじめに: PHP は非常に人気のあるサーバー側プログラミング言語であり、Oracle は一般的に使用されるリレーショナル データベース管理システムです。この記事では、PHP 拡張機能 PDO (PHPDataObjects) を使用して Oracle データベースに接続する方法を紹介します。 1. PDO_OCI 拡張機能のインストール Oracle データベースに接続するには、まず PDO_OCI 拡張機能をインストールする必要があります。 PDO_OCI 拡張機能をインストールする手順は次のとおりです。

ストアド プロシージャにテーブルが存在するかどうかを判断する Oracle の手順は次のとおりです。 1. 「user_tables`」システム テーブルを使用して現在のユーザーのテーブル情報をクエリし、受信したテーブル名「p_table_name」と「table_name」フィールドを比較し、条件が満たされると、「COUNT(*)」は 0 より大きい値を返します; 2. 「SET SERVEROUTPUT ON;」ステートメントと「EXEC`」キーワードを使用してストアド プロシージャを実行し、テーブル名をテーブル名に渡します。テーブルが存在するかどうかを判断します。
