Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle高级排队体验_Oracle_Integration_Messaging_Middleware_Oracle Aq - Fatal编程技术网

Oracle高级排队体验

Oracle高级排队体验,oracle,integration,messaging,middleware,oracle-aq,Oracle,Integration,Messaging,Middleware,Oracle Aq,我正在考虑使用Oracle高级排队技术进行异步通信。我的目标是将其用于并发进程执行(异步PL/SQL过程调用) 当前并发进程执行的遗留实现由Unix KornShell(ksh)脚本组成,我们在后台模式下通过SSH连接从前端开始。这对我们来说很好,但我对这种解决方案不满意,因为: 安全性(前端启动SSH连接并在后台模式下执行ksh脚本。从我们的同事那里,我注意到这种登录在我们公司将受到限制。) 维护(并非我们团队中的每个人都熟悉ksh脚本) 技术的多样性(我试图减少技术的多样性,因为技术诀窍和

我正在考虑使用Oracle高级排队技术进行异步通信。我的目标是将其用于并发进程执行(异步PL/SQL过程调用)

当前并发进程执行的遗留实现由Unix KornShell(ksh)脚本组成,我们在后台模式下通过SSH连接从前端开始。这对我们来说很好,但我对这种解决方案不满意,因为:

  • 安全性(前端启动SSH连接并在后台模式下执行ksh脚本。从我们的同事那里,我注意到这种登录在我们公司将受到限制。)
  • 维护(并非我们团队中的每个人都熟悉ksh脚本)
  • 技术的多样性(我试图减少技术的多样性,因为技术诀窍和迁移工作)
  • 日志记录(后端系统记录到数据库日志表中,并发执行部分记录到日志文件中)
通过从ksh迁移到数据库,我将能够提高系统的整体质量:

  • 安全性(不再使用SSH连接,前端将向数据库发送消息,数据库消息侦听器将对消息做出反应并异步执行过程)
  • 维护(我们使用我们熟悉的PL/SQL)
  • 技术的多样性(到下一次OS迁移时,我们只需要迁移数据库对象和数据)
  • 日志记录(我们将充分利用后端日志记录解决方案)

您对我的注意事项有何看法?您对Oracle Advanced Queueing有何经验?特别是在稳定性、性能和维护方面?有更好的替代方案吗?

我显然不知道您项目的细节,但是如果异步PL/SQL过程调用是您唯一的目标,那么使用DBMS\U调度程序可能会更容易。您的程序可以通过调用PL/SQL的调度程序提交作业以“立即运行”。在我看来,调度程序比AQs更容易使用。

我显然不知道项目的细节,但是如果异步PL/SQL过程调用是您唯一的目标,那么使用DBMS\U调度程序可能更容易。您的程序可以通过调用PL/SQL的调度程序提交作业以“立即运行”。在我看来,调度程序比AQs更容易使用。

Oracle使用异步队列管理流带来了优点和缺点:

优势

  • 能够按类型管理流,并在其上创建临时代码 创建处理程序(作业事件或应用流程)以管理各种 子流
  • 很容易把整个类型的流关闭出列队列
  • 管理MSG的优先级(创建尾码时的参数) 插入时间或优先级(有效负载中的msg参数)管理 带有截止日期或已用时间的消息
  • 将范例与无事件轮询的解决方案对齐
  • 缺点

  • 业务逻辑的负载将全部在数据库上
  • 安装新PKG时,需要停止队列(排队和出列),以重新启动指向PKG的处理程序
  • 必须实施错误处理的恢复系统

  • 我认为一个好的解决方案是在ORACLE上使用代码JMS(JMS提供者),以便在JAVA上移动BL,并利用语言的各种潜力,包括日志记录。

    ORACLE对异步队列流的管理带来了优缺点:

    优势

  • 能够按类型管理流,并在其上创建临时代码 创建处理程序(作业事件或应用流程)以管理各种 子流
  • 很容易把整个类型的流关闭出列队列
  • 管理MSG的优先级(创建尾码时的参数) 插入时间或优先级(有效负载中的msg参数)管理 带有截止日期或已用时间的消息
  • 将范例与无事件轮询的解决方案对齐
  • 缺点

  • 业务逻辑的负载将全部在数据库上
  • 安装新PKG时,需要停止队列(排队和出列),以重新启动指向PKG的处理程序
  • 必须实施错误处理的恢复系统

  • 我认为一个好的解决方案是在ORACLE上使用代码JMS(JMS提供者),以便在JAVA上移动BL,并利用语言的各种潜力,包括日志记录。

    哦,是的,谢谢,这也是并发执行的一个很酷的替代方案。我会考虑一下。哦,是的,谢谢。这也是并发执行的一个很酷的选择。我会考虑一下的。