请找到以下查询:
select count(*) from v$session;
这必须每 5 分钟在数据库上运行一次。实现这一目标的正确方法是什么?
查询必须在同一个 sql*plus 屏幕上每 5 分钟运行一次。我不是每分钟都按“/”,而是想了解是否有办法。
数据库/服务器详细信息:
SQL> select * from v$version;
Oracle8i Enterprise Edition Release 8.1.7.4.0 - 64bit Production
SQL> !uname -a
HP-UX ap12121 B.11.11 U 9000/800 ap12121 unlimited-user license
如何使用 PL/Sql 块:
如果确实是 8i,请
DBMS_LOCK.SLEEP (300)
改用。我不知道有一种方法可以在 sqlplus 中执行您所要求的操作,但是您可以将 shell 脚本与“watch”命令相结合,以实现接近您正在寻找的东西:
创建一个简单的 shell 脚本 (sessions.sh) 来调用 sqlplus 并运行查询:
然后使用 watch 命令(或等效的 HP-UX,假设有)执行脚本:
或者使用 cron 安排脚本每 5 分钟运行一次并将输出定向到日志文件:
然后跟踪日志文件: