v$sql.cpu_time.
如果用before insert or update or delete on table触发器来做,太消耗系统资源不可取.
如果用before insert or update or delete on table触发器来做,太消耗系统资源不可取.
解决方案 »
- 触发器错误求教
- PowerCenter 客户端有没web service 组件,求指点
- 在用oracle写文件时出了ora_29283的错误
- oracle序列问题,在线等
- ORA-12514:TNS:无法解析指定的连接标识符
- 导出数据库的时候出现1466错误,请问怎么解决?
- 高手请进,入门级小兄弟们就不要耽误自己的时间了!!
- 有两个表A和B,中有A.ID列,B中有B.ID和B.Val列,现在我想通过sql统计B中的B.ID=A.ID的:记录总数、B.val非空的记录数、非空占总数的百分
- 在windows2000Professionnel上可以安装Oraccle9i吗?
- 重启电脑之后,plsql登录不了本地数据库
- 关于用户误操作的回退问题,向大家请教方法和策略.我oracle9i的闪回(flashback)以及表空间含多个数据的问题,
- v$database这个是什么啊?
因为我还需要得到是在哪个 session 中下的 SQL。
-------------------------------------------------------------------------------- ------------ ------------- ------------ -------------- ----------- ---------- --------------- ------------- ------------- ---------- ---------- --------------------- ------------------ --------------- ---------- -------------------------------------- ------------- ----------- ---------- ------------- ----------- --------------------- --------------------- ----------------- ----------------- --------------- -------------- -------------- ------------ -------------- -------------- -------------------------------------------------------------------------------- ------------------------ --------------- ----------------- ------------------------------ ------------- -------- ------------- ---------- -------------- --------------- ------------ ---------------------------------------------------------------- ------------ ---------------------------------------------------------------- ----------- ---------------------------------------------------------------- ----------- ------------------- ---------------------------------------------------------------- ---------- ------------ ----------- ------------- ---------- ------ ------------------- ------------------ -------------------------------------- ----------- ----------- ---------------------------------------------------------------- ---------- ------------- ------------------------ ------------------------ ---------------- --------------------------------------------------------------------------------
SELECT b.* from v$session a, v$sql b where a.sql_address =b.address SELECT b.* f cpxng57j8n0jm 49642 28668 23960 0 1 1 1 0 1 0 0 1 2 2006-02-15/21:38:59 0 1 0 0 156 0 0 0 0 0 0 0 3 ALL_ROWS 1 E289FB89A1E49800BA0010006EF9C3E2CFEA33105641455551952110555555154554555859155544 2829153087 0 0 SYS 0 1C9E488C 00 3800695347 2896797038 2709903618 0 orcl 0 PL/SQL Developer 1190136663 命令窗口 - 新建 1316471608 0 30601 30601 1C9E47A8 6 N VALID 0 2006-02-15/21:39:43 N 1 2221 34 6.06947805093292E18 6.06947805093292E18 2006-2-15 21:39:
感谢!v$sql 里面的资料是动态变的,而我需要把每一笔曾经运行过的 SQL 语句都记录下来,是否还可以有其他办法? 另外,它的 sql_text 栏位长度只有 1000,有些 SQL 不完整。to rouqu(石林#黄果树) ,
如果用 trigger 的话,能记录到 SELECT 语句吗?怎么做?
同时可以看看v$sqlarea
V$SQLAREA lists statistics on shared SQL area and contains one row per SQL string. It provides statistics on SQL statements that are in memory, parsed, and ready for execution. 用trigger的话
CREATE OR REPLACE TRIGGER T
BEFORE INSERT OR UPDATE OR DELETE ON MonitorTable
FOR EACH ROW
BEGIN
If updating Then
deal with yourlogtable;
End If;
IF inserting then
deal with yourlogtable;
End If;
IF deleting then
deal with yourlogtable;
End If;
END;
BEFORE INSERT OR UPDATE OR DELETE ON MonitorTableMonitorTable 是指什么??
但我不是想监控某个 table 啊。
说清楚一点,我就是想把
——曾经在 DB 中执行过的『所有』 SQL 语句——
都记录下来!
不仅仅是当前正在 running 的,也包含所有曾经执行过的。看起来似乎可以设一个 JOB,每隔几分钟跑一次,抓出 v$sql 中的记录,存入另外一个 table但这样子好像效率很差的说
Oracle中有没有类似MSSQL的Profiler?