1. 使用SQL Trace功能:可以通过在session级别启用SQL Trace功能,来记录所有SQL语句的执行过程,包括事务的提交和回滚等信息。可以使用如下命令来启用SQL Trace:
```
ALTER SESSION SET SQL_TRACE=TRUE
```
启用SQL Trace后,会在数据库服务器上生成一个跟踪文件(.trc),通过解析该文件可以了解transaction的执行情况。
2. 使用V$SESSION_LONGOPS视图:V$SESSION_LONGOPS视图可以显示当前正在执行的复杂或长时间运行的 *** 作的进度信息。可以过滤出涉及transaction的 *** 作,以了解其执行情况。
3. 使用DBMS_MONITOR包:DBMS_MONITOR是一个用于监控数据库活动的包,其中包含了多个子程序,其中一个子程序可以用于跟踪特定的SQL语句或事务,以便了解其执行情况。
4. 使用Enterprise Manager:Oracle Enterprise Manager提供了一个可视化的界面,可以方便地查看transaction执行情况,包括每个SQL语句的执行时间、计划、I/O等信息,也可以查看事务提交、回滚等 *** 作的详细情况。
这种思路不好,实现不了。需要换一种想法。
例如:
1.C#写一个实时监控程序,Oracle写包和触发器。
2.监控程序的作用是实时的调用包,然后返回相关数据。
3.触发器的作用是,当某个表有数据插入或者删除,或者某个字段被修改了会直接触发。将想要写的数据,写进指定表或视图。
整体思路是:
当某个表有变动,触发器就触发并写入数据到指定表或视图。
一段时间后,C#监控程序调用Oracle的包,包从指定表或视图获取数据,然后将数据返回到监控端,监控端再触发特定的C#代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)