我对control-m调度是个新手,我手头的场景如下:
sqldeveloper中有一个存储过程,它在表上创建子分区查询。现在我需要安排一个control-m作业,它将这个存储过程直接运行到controlm作业参数中提到的数据库和模式中。我能够设置数据库连接部分,并使用嵌入查询的执行类型编写了sql语句:exec<procedure_name>;
control-m作业失败,ora00900:sql语句无效。
注意:该过程没有任何分区。同样,当我在sqldeveloper中运行同一个查询时,它会成功地运行,并给出预期的结果。问题在于control-m作业的执行。
有谁能帮忙解决这个问题吗。非常感谢!
2条答案
按热度按时间qxsslcnc1#
@jeffsmith control-m是市场领先的作业调度解决方案,它存在于分布式(unix和windows以及其他所有)版本和大型机(有可能在两者之间跳过)。
control-m可以运行脚本或命令。您不能直接从系统命令提示符运行存储过程,但他们有解决方案。control-m有许多在control-m代理下运行的模块(代理本地安装在您想要执行东西的盒子上),这些代理有许多不同的种类;一个管理文件传输,一个运行sap作业,oracle应用程序,hadoop等等。
您需要的是control-m for databases。在你的control-m代理下安装它(对现有客户是免费的),只需2分钟就可以添加,并且可以与所有主要的db供应商一起使用。运行后,在control-m for databases模块上设置连接配置文件(db name、id、pw、端口号,通常为)。
然后(回到control-m系统上)为数据库作业创建control-m。您可以选择一个存储过程,也可以使用control-m来存储sql或其他任何东西。control-m为您提供了变量(包括将输出保存为变量)、重新运行选项、对其他作业的依赖性、通知(例如,对于失败或延迟运行的作业)、工作负载平衡、版本控制、yadda yadda yadda yadda。。。
pxq42qpu2#
我能够在control-m中以存储过程的形式运行执行类型为的存储过程。早些时候,由于数据库连接问题,我无法做到这一点,当这个问题得到解决时,我能够做到这一点。
谢谢!