ETL调度中不乏要用shell脚本来运行DATASTAGE中的JOB,现测试一下DSJOB的用法然后总结一下(边测试边总结)
dsjob -run [-mode
-mode为选择运行模式,
NORMAL表示正常运行,此时和不写-mode是一样的;
RESET表示重置,当job在中止状态时要先RESET,之后才能再正常运行; VALIDATE表示验证,即验证job的可运行性。 例子:dsjob -run -mode NORMAL sn_dev test_job
注:新开发的job一定要先编译,否则,三种mode都不可行。
dsjob -run [-mode
例子:dsjob -run -param YR_MON_DAY='20111020' sn_dev test_job -jobstatus运行结束展示job的状态 1 正常 2 警告 3错误
-warn表示job中有多少条警告时中止job,设置为0表示无限制
例子:dsjob -run -mode NORMAL -warn 0 -jobstatus sn_dev test_ldf_2 正在等待作业...
已完成对作业的等待 作业状态 :(2) 状态码为 2
dsjob -stop PROJECT_NAME JOB_NAME -stop 停止正在运行的job
例子:dsjob -stop sn_dev test_job
dsjob -lprojects 列出所有的工程 例子:dsjob -lprojects bpm_dev sn_dev test_dev 状态码为 0
如果要列出其他服务器上的工程:
dsjob -server sn130127 -user username -password password -lprojects
此时-server后面用IP的话未成功,报错:Status code = 80011,求高手解答
dsjob -ljobs 项目名:列出项目中所有的job名字
例子:[bpm_etl@sn130127 BPM_ETL]$ dsjob -ljobs sn_dev |more 状态码为 0
ACCOUNT_PROFIT_CURRENCY_P Auto_Exe Auto_Run BANKCARD
BCP_DETAIL_TF
BCP_DETAIL_TF_01_10 BCP_DETAIL_TF_11_20 BCP_DETAIL_TF_21_31 BCP_DETAIL_TF_PATCH
dsjob -jobinfo 项目名 job名:列出指定job的详细信息
例子:[bpm_etl@sn130127 BPM_ETL]$ dsjob -jobinfo sn_dev test_ldf_2 作业状态 :已运行,但带有警告(2) 作业控制器 :test_ldf_3
作业开始时间 :Thu Dec 15 16:22:30 2011 作业 Wave 号 :5 用户状态 :不可获得 作业控制 :0
中间状态 :未在运行(99) 调用标识 :不可获得
最后运行时间 :Thu Dec 15 16:22:40 2011 作业进程标识 :0 调用列表 :test_ldf_2 可重新启动的作业 :0 状态码为 0
【-lstages】列出指定job所用的stage
例子:[bpm_etl@sn130127 BPM_ETL]$ dsjob -lstages sn_dev test_ldf_2 Sequential_File_10 Sequential_File_1 状态码为 0
-linvocations列出指定job中的所有的invocation $dsjob -linvocations project_name job_name -llinks 列出指定job中的所有的link -linkinfo 列出指定link的信息
-lparams 列出指定job的所有的parameter (参数) $dsjob -lparams project_name job_name -log 获得job的所有的日志
$dsjob -log project_name job_name -logsum 获得job的所有的日志
$dsjob -logsum project_name job_name
-lognewest
$dsjob -lognewest project_name job_name newest code = 0
-logdetail 获得job的所的详细日志
$dsjob -logdetail project_name job_name first event_id -report 获得job的所的详细日志 $dsjob -report project_name job_name