【发布时间】:2016-05-12 06:01:58
【问题描述】:
PL/SQL 中是否有可能调用多个会话并同时在多个会话中运行一个过程。
我想在有 250 个用户登录应用程序的实时应用程序中使用它。用户通过客户端工具连接到 Oracle。 (Power Builder 是前端工具)
例如,如果用户调用存储过程,则该存储过程必须使用不同的参数值运行 10 次。
我不想在同一个会话中依次运行 10 次,因为这可能需要很长时间。
我正在寻找一种可以同时在 10 个不同会话中运行存储过程的方法。
我曾考虑使用 DBMS_JOB.SUBMIT 放置 10 个作业,但因为 繁重的工作负载(250 个用户 * 10 = 2500 个工作可能同时在 Job 调度器中调度,依此类推)我们的 DBA 小组正在寻找其他更好的方法。
【问题讨论】:
-
既然你说你有很多用户想要运行这个过程,你应该首先检查你的数据库是否可以处理那么多并行执行。每个同时运行的内核大约有一个存储过程(可能更多一些)是您将获得的最好的。如果您有一个并发用户执行存储过程,等待时间是多少?
标签: oracle session stored-procedures plsql