最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle?查看后臺(tái)正在執(zhí)行的?SQL?語(yǔ)句(最新推薦)

 更新時(shí)間:2025年07月16日 11:43:59   作者:愿與貍花過(guò)一生  
本文給大家介紹了Oracle中查看后臺(tái)SQL的多種方法,包括查詢動(dòng)態(tài)性能視圖(如v$session、v$sqlarea)、使用監(jiān)控工具(如OEM)及ASH,通過(guò)SQL_ID、執(zhí)行計(jì)劃和資源消耗等字段分析SQL性能與執(zhí)行狀態(tài),感興趣的朋友一起看看吧

在 Oracle 數(shù)據(jù)庫(kù)中,要查看后臺(tái)正在執(zhí)行的 SQL 語(yǔ)句,可以通過(guò)查詢動(dòng)態(tài)性能視圖(Dynamic Performance Views)或使用監(jiān)控工具來(lái)實(shí)現(xiàn)。

1. 查詢動(dòng)態(tài)性能視圖

(1) 查看當(dāng)前活躍會(huì)話及其執(zhí)行的 SQL

使用 v$session 和 v$sql 視圖關(guān)聯(lián)查詢,獲取正在執(zhí)行的 SQL 信息:

SELECT 
    s.sid, s.serial#,
    s.username, 
    s.status,
    s.sql_id, 
    s.prev_sql_id,
    q.sql_text,
    s.program,
    s.machine,
    s.logon_time
FROM 
    v$session s
LEFT JOIN 
    v$sql q ON s.sql_id = q.sql_id
WHERE 
    s.status = 'ACTIVE'   -- 篩選活躍會(huì)話
    AND s.type != 'BACKGROUND'  -- 排除后臺(tái)進(jìn)程
    AND s.sql_id IS NOT NULL;
  • 關(guān)鍵字段

    • sql_id:當(dāng)前正在執(zhí)行的 SQL 語(yǔ)句的唯一標(biāo)識(shí)。

    • sql_text:SQL 文本內(nèi)容(可能被截?cái)?,完整?nèi)容需從 v$sqlarea 獲?。?/p>

    • username:執(zhí)行 SQL 的數(shù)據(jù)庫(kù)用戶。

    • program:發(fā)起 SQL 的客戶端程序(如 JDBC、SQL Developer 等)。

(2) 查看長(zhǎng)時(shí)間運(yùn)行的 SQL 操作

使用 v$session_longops 監(jiān)控長(zhǎng)時(shí)間運(yùn)行的操作(如全表掃描、索引重建等)

SELECT 
    sid, serial#,
    opname, 
    target,
    sofar, 
    totalwork,
    ROUND(sofar / totalwork * 100, 2) AS progress_pct,
    elapsed_seconds,
    time_remaining
FROM 
    v$session_longops
WHERE 
    time_remaining > 0;  -- 僅顯示未完成的操作
  • SID: 會(huì)話標(biāo)識(shí)符。
  • SERIAL#: 會(huì)話序列號(hào),與 SID 一起用于唯一標(biāo)識(shí)一個(gè)會(huì)話。
  • OPNAME: 正在執(zhí)行的操作名稱。
  • TARGET: 操作目標(biāo)對(duì)象名(如果適用)。
  • TARGET_DESC: 目標(biāo)描述。
  • SOFAR: 到目前為止已完成的工作量。
  • TOTALWORK: 預(yù)估的總工作量。
  • UNITS: 工作量單位。
  • START_TIME: 操作開始的時(shí)間。
  • LAST_UPDATE_TIME: 上次更新此記錄的時(shí)間。
  • TIME_REMAINING: 根據(jù)當(dāng)前速度預(yù)估剩余時(shí)間(秒)。
  • ELAPSED_SECONDS: 自操作開始以來(lái)已經(jīng)過(guò)去的秒數(shù)。
  • CONTEXT: 內(nèi)部使用的上下文信息。
  • MESSAGE: 描述操作狀態(tài)的消息。
  • USERNAME: 執(zhí)行該操作的用戶名。
  • SQL_ADDRESS: SQL 語(yǔ)句地址。
  • SQL_HASH_VALUE: SQL 語(yǔ)句的哈希值。
  • SQL_ID: SQL 語(yǔ)句的 ID。
  • SQL_PLAN_HASH_VALUE: SQL 計(jì)劃的哈希值。
  • QCINST_ID: 并行查詢協(xié)調(diào)器實(shí)例 ID(如果是并行操作)。
  • QCSID: 并行查詢協(xié)調(diào)器的 SID(如果是并行操作)。
  • QCSERIAL#: 并行查詢協(xié)調(diào)器的 SERIAL#(如果是并行操作)。

2. 查詢 SQL 執(zhí)行詳細(xì)信息

(1) 通過(guò) v$sqlarea 查看完整的 SQL 文本

SELECT 
    sql_id, 
    sql_text,
    executions,
    elapsed_time / 1000000 AS elapsed_sec,
    cpu_time / 1000000 AS cpu_sec,
    disk_reads,
    buffer_gets
FROM 
    v$sqlarea
WHERE 
    sql_id = '<your_sql_id>';  -- 替換為實(shí)際的 sql_id
  • sql_id: 每條SQL語(yǔ)句在數(shù)據(jù)庫(kù)中的唯一標(biāo)識(shí)符。這個(gè)ID可以幫助你識(shí)別和追蹤特定的SQL語(yǔ)句。
  • sql_text: 這是完整的SQL語(yǔ)句文本。它顯示了實(shí)際被執(zhí)行的SQL語(yǔ)句內(nèi)容。
  • executions: 表示這條SQL語(yǔ)句已經(jīng)被執(zhí)行了多少次。每次執(zhí)行都會(huì)增加這個(gè)計(jì)數(shù)器。
  • elapsed_time / 1000000 AS elapsed_secelapsed_time 字段表示SQL語(yǔ)句執(zhí)行所花費(fèi)的總時(shí)間(微秒),通過(guò)除以1,000,000轉(zhuǎn)換為秒,并將其重命名為 elapsed_sec 以便更直觀地理解時(shí)間單位。
  • cpu_time / 1000000 AS cpu_seccpu_time 字段表示SQL語(yǔ)句執(zhí)行期間消耗的CPU時(shí)間(微秒),同樣通過(guò)除以1,000,000轉(zhuǎn)換為秒,并將其重命名為 cpu_sec。
  • disk_reads: 這個(gè)字段表示SQL語(yǔ)句執(zhí)行過(guò)程中發(fā)生的物理讀取次數(shù),即從磁盤讀取數(shù)據(jù)的次數(shù)。較高的值可能指示性能瓶頸。
  • buffer_gets: 表示邏輯讀的數(shù)量,即SQL語(yǔ)句執(zhí)行過(guò)程中從數(shù)據(jù)庫(kù)緩沖區(qū)緩存中獲取的數(shù)據(jù)塊數(shù)量。高數(shù)值可能表明該語(yǔ)句對(duì)系統(tǒng)資源有較高需求。

(2) 查看 SQL 執(zhí)行計(jì)劃

通過(guò) v$sql_plan 分析 SQL 的執(zhí)行計(jì)劃:

SELECT 
    * 
FROM 
    v$sql_plan 
WHERE 
    sql_id = '<your_sql_id>';

 3. 使用 Oracle Enterprise Manager (OEM)

Oracle 提供的圖形化工具 Enterprise Manager (OEM) 可以直觀監(jiān)控 SQL 執(zhí)行:

  1. 登錄 OEM 控制臺(tái)。

  2. 導(dǎo)航到 Performance > SQL Monitoring

  3. 查看實(shí)時(shí) SQL 執(zhí)行的詳細(xì)信息,包括資源消耗、執(zhí)行計(jì)劃等。

4. 使用 Active Session History (ASH)

通過(guò) v$active_session_history 查詢歷史活動(dòng)會(huì)話信息(采樣頻率為每秒一次):

SELECT 
    sql_id,
    session_id,
    session_serial#,
    sample_time,
    event,
    wait_time
FROM 
    v$active_session_history
WHERE 
    sql_id IS NOT NULL
ORDER BY 
    sample_time DESC;

快速定位問(wèn)題 SQL

-- 查看消耗最多 CPU 的 SQL
SELECT 
    sql_id,
    sql_text,
    executions,
    cpu_time / 1000000 AS cpu_sec,
    elapsed_time / 1000000 AS elapsed_sec
FROM 
    v$sqlarea
ORDER BY 
    cpu_time DESC
FETCH FIRST 10 ROWS ONLY;
  • sql_id: 每條SQL語(yǔ)句在數(shù)據(jù)庫(kù)中的唯一標(biāo)識(shí)符。通過(guò)這個(gè)ID可以追蹤和分析特定的SQL語(yǔ)句。
  • sql_text: 這是SQL語(yǔ)句的實(shí)際文本內(nèi)容,顯示了被執(zhí)行的SQL語(yǔ)句的具體內(nèi)容。
  • executions: 表示這條SQL語(yǔ)句已經(jīng)被執(zhí)行了多少次。每次執(zhí)行都會(huì)增加這個(gè)計(jì)數(shù)器,可以幫助你了解該語(yǔ)句的使用頻率。
  • cpu_time / 1000000 AS cpu_seccpu_time 字段表示SQL語(yǔ)句執(zhí)行期間消耗的CPU時(shí)間(微秒)。通過(guò)除以1,000,000將時(shí)間單位轉(zhuǎn)換為秒,并將其重命名為 cpu_sec 以便更直觀地理解時(shí)間單位。這有助于評(píng)估SQL語(yǔ)句對(duì)CPU資源的占用情況。
  • elapsed_time / 1000000 AS elapsed_secelapsed_time 字段表示SQL語(yǔ)句執(zhí)行所花費(fèi)的總時(shí)間(微秒),通過(guò)除以1,000,000轉(zhuǎn)換為秒,并將其重命名為 elapsed_sec。它包括等待時(shí)間和執(zhí)行時(shí)間,可用于評(píng)估SQL語(yǔ)句的整體執(zhí)行效率。

到此這篇關(guān)于Oracle 查看后臺(tái)正在執(zhí)行的 SQL 語(yǔ)句的文章就介紹到這了,更多相關(guān)oracle查詢正在執(zhí)行的sql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • oracle創(chuàng)建數(shù)據(jù)庫(kù)和用戶的方法

    oracle創(chuàng)建數(shù)據(jù)庫(kù)和用戶的方法

    這篇文章主要介紹了oracle創(chuàng)建數(shù)據(jù)庫(kù)和用戶的方法,mysql和sqlserver創(chuàng)建數(shù)據(jù)庫(kù)可以直接通過(guò)create database “數(shù)據(jù)庫(kù)名”,而oracle創(chuàng)建數(shù)據(jù)庫(kù)要對(duì)應(yīng)一個(gè)用戶,數(shù)據(jù)庫(kù)和用戶一般是一一對(duì)應(yīng)的,下面把oracle創(chuàng)建數(shù)據(jù)庫(kù)和用戶的步驟分享給大家。
    2015-07-07
  • oracle 數(shù)據(jù)庫(kù)閃回相關(guān)語(yǔ)句介紹

    oracle 數(shù)據(jù)庫(kù)閃回相關(guān)語(yǔ)句介紹

    本文將詳細(xì)介紹oracle 數(shù)據(jù)庫(kù)閃回相關(guān)語(yǔ)句,需要了解跟多的朋友可以參考下
    2012-11-11
  • 深入探討:oracle中row_number() over()分析函數(shù)用法

    深入探討:oracle中row_number() over()分析函數(shù)用法

    本篇文章是對(duì)oracle中row_number() over()分析函數(shù)的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • oracle 優(yōu)化的一點(diǎn)體會(huì)

    oracle 優(yōu)化的一點(diǎn)體會(huì)

    oracle 優(yōu)化的一點(diǎn)體會(huì)大家可以參考下,提升運(yùn)行效率。
    2009-10-10
  • oracle多條記錄取第一條的實(shí)現(xiàn)

    oracle多條記錄取第一條的實(shí)現(xiàn)

    這篇文章主要介紹了oracle多條記錄取第一條的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Oracle數(shù)據(jù)庫(kù)中的循環(huán)語(yǔ)法及舉例

    Oracle數(shù)據(jù)庫(kù)中的循環(huán)語(yǔ)法及舉例

    這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)中的循環(huán)語(yǔ)法及舉例的相關(guān)資料,Oracle循環(huán)操作是指在Oracle數(shù)據(jù)庫(kù)中使用循環(huán)結(jié)構(gòu)來(lái)重復(fù)執(zhí)行一段代碼或一組語(yǔ)句,Oracle提供了多種循環(huán)結(jié)構(gòu),包括FOR循環(huán)、WHILE循環(huán)和LOOP循環(huán),需要的朋友可以參考下
    2023-09-09
  • Oracle固定執(zhí)行計(jì)劃之SQL PROFILE概要文件詳解

    Oracle固定執(zhí)行計(jì)劃之SQL PROFILE概要文件詳解

    概要文件,就是一份描述如何使用系統(tǒng)的資源(主要是CPU資源)的配置文件,這篇文章主要介紹了Oracle固定執(zhí)行計(jì)劃之SQL PROFILE概要文件 ,需要的朋友可以參考下
    2018-10-10
  • Oracle數(shù)據(jù)庫(kù)表被鎖如何查詢和解鎖詳解

    Oracle數(shù)據(jù)庫(kù)表被鎖如何查詢和解鎖詳解

    作為一個(gè)IT技術(shù)人員,可能經(jīng)常遇到在使用Oracle數(shù)據(jù)時(shí),由于操作不當(dāng)導(dǎo)致數(shù)據(jù)庫(kù)鎖表,從而影響項(xiàng)目正常使用,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)表被鎖如何查詢和解鎖的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Oracle使用PL/SQL操作COM對(duì)象

    Oracle使用PL/SQL操作COM對(duì)象

    Oracle使用PL/SQL操作COM對(duì)象...
    2007-03-03
  • oracle數(shù)據(jù)庫(kù)實(shí)現(xiàn)按多個(gè)字段排序

    oracle數(shù)據(jù)庫(kù)實(shí)現(xiàn)按多個(gè)字段排序

    這篇文章主要介紹了oracle數(shù)據(jù)庫(kù)實(shí)現(xiàn)按多個(gè)字段排序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論

邵东县| 昌邑市| 抚松县| 怀远县| 汉中市| 霍城县| 涿鹿县| 斗六市| 晴隆县| 保山市| 镇巴县| 全南县| 鹿泉市| 沾益县| 诏安县| 鄂托克前旗| 琼海市| 黑龙江省| 林西县| 都江堰市| 沁阳市| 新宾| 大竹县| 南漳县| 教育| 萍乡市| 吴旗县| 彰武县| 长沙市| 佛坪县| 杭锦后旗| 鲁山县| 延边| 桐城市| 长沙县| 镇安县| 珲春市| 资源县| 咸阳市| 庄河市| 台州市|