當前位置:首頁 » 編程語言 » oracle抓取實時sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle抓取實時sql

發布時間: 2022-03-31 07:15:32

1. Oracle如何用一句sql語句獲取系統當前時間

select sysdate for al
不過一般把sysdate作為欄位的默認值,直接輸入sysdate就可以了

2. C#中從oracle資料庫中獲取數據,插入到sql中,實時自動更新

在a表上建觸發器 CREATE OR REPLACE TRIGGER TRG_abefore insert on a for each rowdeclare begin insert into b(idb, ida) values(null, :new.ida);end;/其中b.idb應該是可以為空的

3. Oracle 獲取動態SQL語句的返回值

既然用的是過程,就可以吧返回值傳給變數,再輸出變數就可以。

4. oracle如何抓取耗時最多的sql語句或過程

最方便的辦法,也就是一般辦法,awr報告,報告中有一個最耗時語句的排序。

5. Oracle怎樣能像SQLSERVER那樣很方便的跟蹤到執行的SQL語句

v$session配合 v$sql,請查詢這2個視圖

SELECT * FROM v$session a,v$sql b
WHERE a.SQL_ID = b.SQL_ID(+)

6. 如何實時跟蹤oracle的sql語句

如何實時跟蹤oracle的sql語句
這個要開啟oracle的audit功能。
select * from DBA_AUDIT_OBJECT

7. 在ORACLE自定義函數里怎麼獲取一個動態SQL的記錄--急

參考下這個:
declare
cursor v_tablename_cursor is
select * from v_tablename
being
for tmprow in v_tablename_cursor
loop
tmprow就是條記錄了
end loop;
end;

8. Oracle SQL語句動態獲取十五天內的數據

可以直接通過sysdate之後減去15天的形式來作為條件,之後讀取需要的結果。
sql:select * from tablename where create_time>= (sysdate -15);
解釋:以上語句中create_time數據類型是日期類型,所以減去一個數後還是日期類型。
備註:如果create_time是字元串的話,可以通過to_date函數轉化為日期類型在進行操作。

9. 監聽oracle資料庫的執行sql語句的方法

#!/usr/bin/sh
export ORACLE_HOME=/oracle/app/proct/9.2.0
export NLS_LANG=american_america.ZHS16GBK
export PATH=$ORACLE_HOME/bin:$PATH

sqlplus -S "sasdda/asdasd@asdasd" <<EOF
set lines 180 pages 43 echo off feedback off
col sid format 99999
col event format a28
col machine format a15
col sql_text format a80
col user_name format a15
col object_name format a40
col owner format a15
col opname format a30

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
select sysdate run_date from al;

select a.sid,event,wait_time "waited",seconds_in_wait "time",b.sql_address,c.sql_text
from v$session_wait a,v$session b,v$sqlarea c
where a.sid=b.sid
and b.sql_address=c.address
and (event not like 'SQL*Net%'
and event not like 'rdbms%'
and event not like '%timer%');

SELECT /*+ rule */ lpad(' ', decode(l.xisn, 0, 3, 0)) || l.oracle_username user_name,
o.owner, o.object_name, o.object_type, s.sid, s.serial#
FROM v\$locked_object l, dba_objects o, v\$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY o.object_id, xisn DESC;

select /*+ rule */ decode(request, 0, 'holder:', 'waiter:') holder,
l.sid, l.id1, l.id2, l.lmode, l.request, l.type, l.ctime, l.block,q.sql_text
from v\$lock l, v\$session s, v\$sqlarea q
where l.sid=s.sid
and s.sql_address=q.address
and s.sql_hash_value=q.hash_value
and (l.id1, l.id2, l.type) in
(select id1, id2, type from v\$lock where request > 0)
order by id1, request;

select lp.sid,lp.elapsed_seconds "elapsed",lp.opname,lp.sql_address,s.sql_text
from v\$session_longops lp , v\$sql s
where lp.elapsed_seconds>5
and lp.sql_address=s.address
and time_remaining>0;

EXIT
EOF

我把我以前的sql抓取腳本發給你坐個參考,可以自己寫一個crontab腳本,把上面語句甩到腳本裡面,自己制定抓取語句時間就行了,如果是10g或11g的庫,你自己在改一下語句。

10. 怎麼在Oracle 中獲取某個應用執行的sql語句

sql語句:select * from dba_dependencies where REFERENCED='表名' and TYPE='VIEW'; 靜態數據字典視圖DBA_DEPENDENCIES描述各schema的objects之間的相互依賴關系。