oracle sqlplus中获取sql脚本的执行时间
我有一个脚本,用于将数据加载到 Oracle 中的表中(通过插入语句列表)。如何获取整个加载过程的执行时间?我尝试过settiming on
,但这给了我每个插入语句的持续时间,而不是整个过程的持续时间。脚本如下所示:
spo load.log
prompt '**** load data ****'
set termout off
@@inserts.sql
commit;
set termout on
prompt '**** done ****'
spo off
exit;
I have a script that i use to load my data into my tables in Oracle (by a list of insert statements). How can i get the execution time of the entire loading process? I have tried with set timing on
, but that gives me a duration for each insert statement and not the entire process. The script is shown below:
spo load.log
prompt '**** load data ****'
set termout off
@@inserts.sql
commit;
set termout on
prompt '**** done ****'
spo off
exit;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
不知道为什么每个人都把它弄得如此复杂。简单如下:
Not sure why everybody is making it so complex. Simple as:
这是一个老问题,但我找到了测量在 sqlplus 中运行脚本的时间的简单方法。您只需将其添加到脚本的开头
并将其添加到脚本的末尾。
有关此命令的更多信息可以在 Oracle 的 SQL*Plus® 用户指南和参考中找到:收集时序统计数据
It old question but i have found easy way to measure time of running a script in sqlplus. You just have to add this on the beginning
And this on the end of a script
More information about this command can be found at Oracle's SQL*Plus® User's Guide and Reference: Collecting Timing Statistics
尝试一下,在开头添加以下内容,它会记住当前时间:
在末尾添加以下内容,它会计算经过的时间:
Try this, add the following at the beginning and it remembers the current time:
Add this at the end and it calculates the time elapsed:
如果你在 Unix 上,你也可以这样做:
它会打印:
第一行给出了总执行时间。
If you are on Unix, you can also do it like that:
It will print:
The first line gives the total execution time.
您所描述的本质上是一种审核脚本执行的方法。无论是经过的时间,还是要捕获的特定开始和结束时间,您都希望正确记录它们,以查看事情是否顺利(或者如果不顺利,为什么不顺利)。
这是一个类似于我们用于捕获和记录我们正在实施的所有数据库活动的模板。我们通过
sqlplus.exe
使用它来进行所有DDL更新(例如CREATE TABLE
)以及插入到设置表中。将您的作品主体放在这里。
What you're describing is essentially a way to audit the script's execution. Whether it's an elapsed time, or specific start and end times you're capturing you want to log them properly to see if things went well (or if not, why not).
Here's a template similar to what we use for capturing and logging all database activity we are implementing. We use it via
sqlplus.exe
for all DDL updates (e.g.CREATE TABLE
) and for inserts into setup tables.Place the body of your work here.