
我觉得你可以考虑这么做:每一个JOB的参数都是在运行时,由一个调度程序传进去的。这个程序从一个元数据库里面获取每一个任务的配置信息(这个需要你先建张表,存放每一个任务的信息,包括抽取表名,数据库用户名和密码等等),这样你要修改数据库连接信息的时候,就不需要通过datastage了,从你的元数据库里面修改任务的配置信息就好了。这个工作量要小很多吧。
对于批量修改JOB,我知道的一些情况是把JOB导出成dsx文件或者xml文件,找一个job为例,对比修改前后的dsx文件有哪些不同,然后找出要修改的那一段,做批量替换。
1、导出例子如下:
$DSHOME/../../Clients/istools/cli/istool export -dom dpapp01 -u edpusr -p edpusr -ar /home/dsadm/LOD_COBS_SVRHA1.isx -ds '-incexec "dpapp01/BRCB_EDP2/Jobs/FS2/COBS/LOD_COBS_SVRHA.pjb"'
详细说明:
【$DSHOME/../../Clients/istools/cli/istool】:istool命令行程序
【export】:指定istool执行导出动作
【-dom】:连接服务器,可使用hostname或者详细IP,例如dpapp01或者193.168.1.1:9080
【-u】:用户
【-p】:密码
【-ar】:导出文件存放全路径(注意需要有写权限)
【-ds】:导出的内容,详细如下:
【-incexec】:指定导出的作业包括可执行文件
【"dpapp01/BRCB_EDP2/Jobs/FS2/COBS/LOD_COBS_SVRHA.pjb"】里各项说明:
dpapp01为hostname
BRCB_EDP2:实际工程名
Jobs/FS2/COBS/:作业所在路径
LOD_COBS_SVRHA.pjb:作业名加后缀,其中并行作业为pjb,服务器作业未sjb
2、导入:
例子如下:
$DSHOME/../../Clients/istools/cli/istool import -dom dpapp01 -u edpusr -p edpusr -ar /home/dsadm/LOD_COBS_SVRHA.isx -ds '"dpapp01/BRCB_EDP"'
详细说明:
【$DSHOME/../../Clients/istools/cli/istool】:istool命令行程序
【import】:指定istool执行导入动作
【-dom】:连接服务器,可使用hostname或者详细IP,例如dpapp01或者192.168.1.1:9080
【-u】:用户
【-p】:密码
【-ar】:导出文件存放全路径(注意需要有写权限)
【-ds】:导入的内容,填写为 hostname/工程名
【-replace】:若要覆盖已有作业,需带上此参数。执行前需备份已有作业。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)